[oracle@srv1 oci-cli-scripts]$ ./create_backup_from_onprem --config-file /home/oracle/.oci/config --profile DEFAULT --显示名称 testbackup --compartment-id ocid1.tenancy.oc1..aaaaaaaajrsprf3hmjr7xixz22gft36vmfz232ydxliw455ndu7rgpxghq5a --可用性域 PHX-AD-1 --edition ENTERPRISE_EDITION_HIGH_PERFORMANCE --opc-installer-dir /home/oracle/oci/opc_installer/opc_installer --tmp-dir /home/oracle/oci/onprem_upload /home/oracle/oci/lib/oracle-cli/lib64/python3.6/site-packages/oci/_vendor/httpsig_cffi/sign.py:10:CryptographyDeprecationWarning:Python 核心团队不再支持 Python 3.6。因此,密码学中不赞成支持它。密码学的下一个版本将删除对 Python 3.6 的支持。 from cryptography.hazmat.backends import default_backend # noqa: F401 连接到 Oracle 数据库 Oracle版本为:19.0.0.0.0 检查数据库的归档日志模式 检查数据库是否打开 获取数据库名称和数据库唯一名称 数据库 ID:2940187580 名称:ORADB 唯一名称:oradb 获取字符集 字符集:AL32UTF8 获取国家字符集 国家字符集:AL16UTF16 获取竞赛模式 Rac 模式:FALSE 回溯(最近一次调用最后一次): 文件“./create_backup_from_onprem”,第 8 行,位于 sys.exit(create_backup_from_onprem()) 文件“/home/oracle/oci/lib/oracle-cli/lib64/python3.6/site-packages/click/core.py”,第 1128 行,在 call 中 返回 self.main(*args, **kwargs) 文件“/home/oracle/oci/lib/oracle-cli/lib64/python3.6/site-packages/click/core.py”,第 1053 行,在 main 中 rv = self.invoke(ctx) 文件“/home/oracle/oci/lib/oracle-cli/lib64/python3.6/site-packages/click/core.py”,第 1395 行,在调用中 返回 ctx.invoke(self.callback, **ctx.params) 文件“/home/oracle/oci/lib/oracle-cli/lib64/python3.6/site-packages/click/core.py”,第 754 行,在调用中 返回 __callback(*args, **kwargs) 文件“/home/oracle/oci/lib/oracle-cli/lib64/python3.6/site-packages/click/decorators.py”,第 26 行,在 new_func 中 返回 f(get_current_context(), *args, **kwargs) 文件“/home/oracle/oci/lib/oracle-cli/lib64/python3.6/site-packages/oci_cli/scripts/database/dbaas.py”,第 281 行,在 create_backup_from_onprem 中 客户端 = cli_util.build_client('数据库', '数据库', ctx) 文件“/home/oracle/oci/lib/oracle-cli/lib64/python3.6/site-packages/oci_cli/cli_util.py”,第 578 行,在 build_client 中 if ctx.obj['connection_timeout']: 关键错误:“连接超时” [oracle@srv1 oci-cli-scripts]$
尝试升级 OCI 但还是不行,我想进行本地备份并将其恢复到 OCI 环境。
在cli_util.py的build_client函数中,找到并修复相关部分,如下所示:
如果“connection_timeout”不在 ctx.obj 中: ctx.obj['connection_timeout'] = 60 # 默认为 60 秒
如果 ctx.obj['connection_timeout']: 如果 ctx.obj 和 ctx.obj['read_timeout'] 中存在 'read_timeout': client.base_client.timeout = (ctx.obj['connection_timeout'], ctx.obj['read_timeout']) 别的: client.base_client.timeout = (ctx.obj['connection_timeout'], client.base_client.timeout[1]) 别的: 如果 ctx.obj 和 ctx.obj['read_timeout'] 中存在 'read_timeout': client.base_client.timeout = (client.base_client.timeout[0], ctx.obj['read_timeout'])
./create_backup_from_onprem --config-file /home/oracle/.oci/config --profile DEFAULT --显示名称 oradb --availability-domain $AD --edition ENTERPRISE_EDITION_HIGH_PERFORMANCE --opc-installer-dir /home/oracle /oci/opc_installer/opc_installer --tmp-dir /home/oracle/oci/onprem_upload --隔间 ID