用途:在 OCI 上开通 Autonomous Database(ADB),下载钱包并建立连接,再用 Data Pump 迁移数据。
主要能力:通过 OCI Python SDK 创建 ADB(可指定 OLTP/DW/AJD/APEX 工作负载、OCPU、存储、Always Free、mTLS);等待实例变为 AVAILABLE;用 SDK 生成并下载钱包(钱包密码在下载时设置),解压得到证书与 tnsnames.ora;用 python-oracledb 瘦模式连接(无需 Oracle Client),DSN 形如 appadb_tp;从源库用 expdp 导出,排除 ADB 自行管理的 INDEX、CLUSTER、MATERIALIZED_VIEW、DB_LINK 等对象,version=19;将 dmp 上传 Object Storage,在 ADB 中用 DBMS_CLOUD.CREATE_CREDENTIAL 与 DBMS_DATAPUMP 导入;最后查询表行数与 INVALID 对象校验迁移。
必要用法:安装 pip install oci 与 pip install oracledb;准备 ~/.oci/config(user、fingerprint、tenancy、region、key_file);IAM 策略允许组管理目标 compartment 的 autonomous-databases;Python 3.8+;Data Pump 需源库 DBA 权限。连接示例:oracledb.connect(user="ADMIN", password=..., dsn="appadb_tp", config_dir=..., wallet_location=..., wallet_password=...)。
限制与错误:钱包下载失败多为 ADB 未 AVAILABLE;DPY-6005 常因钱包路径或密码错误;ORA-01017 为管理员密码错误;ORA-39083 需在 exclude 中补充不支持的对象类型;401 检查 config;429 需自行退避(OCI 不返回 Retry-After);mTLS 握手失败多为钱包证书过期(默认 180 天),需重新下载。
适用场景:从标准 Oracle 库或其他数据库迁移到 ADB,以及需要以 SDK 方式自动化开通、取钱包与连接。具体收费与价格资料未提供。