【问题标题】:OCI CLI create_backup_from_onprem script errorOCI CLI create_backup_from_onprem 脚本错误
【发布时间】:2019-09-22 11:13:15
【问题描述】:

我在 OCI CLI 中使用 create_backup_from_onprem 脚本创建数据库备份时遇到问题。我注意到执行备份脚本时对象存储命名空间不正确。

[oracle@oracledev oci-cli-scripts]$ ./create_backup_from_onprem --config-file /home/oracle/.oci/config --display-name testimport01 --availability-domain $AD --edition STANDARD_EDITION --opc-installer-dir /home/oracle/migrate --tmp-dir /home/oracle/migrate/onprem_upload --compartment-id $C --rman-password *****

oci._vendor.requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://swiftobjectstorage.ap-mumbai-1.oraclecloud.com/v1/dbbackupbom/iF0ydees7V0yWxyuAYtF/parameter.log

和参数.log

Either the bucket named 'iF0ydees7V0yWxyuAYtF' does not exist in the namespace 'dbbackupbom' or you are not authorized to access it

我正确的命名空间是 bmnoo8fd7ute

[oracle@oracledev oci-cli-scripts]$ oci os ns get
{
"data": "bmnoo8fd7ute"
}

不确定如何在 CLI 中更正对象存储命名空间。你能帮帮我吗?

【问题讨论】:

    标签: oracle-call-interface oracle-cloud-infrastructure


    【解决方案1】:

    在 OCI CLI 中添加对 GitHub 问题的交叉引用,以防 OCI 数据库团队可以回答 -- https://github.com/oracle/oci-cli/issues/201

    【讨论】:

      【解决方案2】:

      您必须在 oci 配置文件中更改租户 ocid,其默认位置为 ~/.oci/config。您可以手动或使用 oci setup config 命令执行此操作。您可以覆盖当前值,也可以创建一个新配置文件,您可以在 oci 调用中引用该配置文件。 更多信息请查看CLI config file doc

      如果 oci 配置文件已经包含正确的值,您需要重新安装 oci_install,为 -tOCID 指定正确的租户 ocid。 (在本例中为 bmnoo8fd7ute 的 OCID)

      java -jar oci_install.jar -host swiftobjectstorage.ap-mumbai-1.oraclecloud.com -pvtKeyFile oci_private_key -pubFingerPrint oci_public_fingerprint -uOCID user_ocid -tOCID tenancy_ocid -walletDir /wallet_directory -libDir /library_directory
      

      更新: 由于 dbbackupbom 是一个内部资源 ID,因此您无法通过重新安装 oci_install 来更改它。相反,这应该是一个授权问题。 请检查您是否制定了正确的政策。如果没有,请创建如下策略: 策略名称:ObjectStorageAccess 添加以下语句: 允许组 ObjectAdmins 管理租户中的存储桶 允许组 ObjectAdmins 管理租户中的对象

      最后将您的用户添加到 ObjectAdmins,或使用您已经加入的其他组。

      【讨论】:

      • 我的租户 OCID 正确并在默认位置 /home/oracle/.oci/config 配置
      • 看来您必须更改安装 oci_install 时设置的存储 URL。尝试使用此命令重新安装它并在最后指定正确的租户。 (bmnoo8fd7ute的ocid) java -jar oci_install.jar -host swiftobjectstorage.ap-mumbai-1.oraclecloud.com -pvtKeyFile oci_private_key -pubFingerPrint oci_public_fingerprint -uOCID user_ocid -tOCID tenancy_ocid -walletDir /wallet_directory -libDir /library_directory
      • 看起来 dbbackupbom 是一个内部资源 ID,您无法更改。我刚刚在法兰克福地区的成本分析 csv 中看到了一个类似的文件,称为 dbbackupfra。所以它应该是一个授权问题。我正在进一步调查。
      • 安装oci_install时有一个可选参数可以指定,即-bucket。在 Object Storage 上创建存储桶后,请尝试使用 -bucket 重新安装它。
      • oci_installation 使用bucket参数完成。就我而言, swiftobjectstorage 不起作用,而是 objectstorage 在主机参数下为我工作。然后在我配置加密然后使用 RMAN 进行备份之后。我的使命完成了。但我仍然想知道为什么使用 ./create_backup_from_onprem 进行备份不起作用?
      【解决方案3】:

      我终于找到了这个问题的正确答案和解决方案。

      原因:由于新发布的区域存在一些内部错误而发生错误。我使用了最近推出的孟买地区。

      分辨率:选择另一个稳定区域。 Ashburn 地区适合我。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多