用途
本技能用于 OCI Database Management(Oracle Cloud Infrastructure 数据库管理),适用于以下场景:创建 Autonomous Database、排查钱包(Wallet)连接失败、管理 PDB、优化 ADB 成本、选择克隆类型。技能还提供参考文件 references/oci-dbcs-cli.md,用于创建和管理 DB Systems(VM、RAC、Exadata)、配置 Data Guard 灾难恢复、补丁与维护操作,以及 ExaDB-D 和 ExaDB-C@C 操作。
主要能力与关键规则
ADB 服务名与成本
ADB 服务名分为三级:HIGH(专用 OCPU,每 OCPU 1× 并发,最高优先级)、MEDIUM(共享 OCPU,每 OCPU 2× 并发)、LOW(最大共享,每 OCPU 3× 并发)。技能强调不应为非关键负载使用 HIGH 服务名,否则会造成约 3 倍 OCPU 浪费。示例中给出正确做法:批处理、报表、数据加载使用 LOW,交互式 OLTP 才使用 HIGH。
停止的 ADB 并非零成本
停止的 ADB 仍会收取存储费用($0.025/GB/月)与备份保留费用,仅计算资源停止计费。示例:1TB ADB 每天停 16 小时,计算费用约节省 67%,但存储仍为 $25/月,实际节省低于预期,需据此规划。
ADB 密码复杂度
密码要求严格:12-30 字符,至少 2 个大写、2 个小写、2 个数字、2 个特殊字符(仅限 #-_),不得包含用户名子串,不得有重复字符(如 aaa、111)。示例给出正确格式 MyP@ssw0rd#2024。
克隆类型选择
| 克隆类型 | 成本 | 刷新能力 | 源被删除时 |
|---|---|---|---|
| 完整克隆(Full) | 源的 100% | 无法刷新 | 克隆保留 |
| 可刷新克隆(Refreshable) | 约 30%(存储) | 手动刷新 | 克隆会被自动删除 |
| 元数据克隆(Metadata) | 极低 | 不适用 | 克隆保留 |
技能指出测试环境不应使用完整克隆(约 70% 成本浪费),应使用可刷新克隆。关键风险点:可刷新克隆在源 ADB 被删除时会被静默删除,且无警告。
删除 CDB 前检查 PDB
删除 CDB 前必须先列出其 PDB,再显式 unplug、克隆或删除每个 PDB,否则会无警告地一并删除所有 PDB。
Always-Free ADB 限制
上限为 1 OCPU(无法纵向扩展)、20 GB 存储、每个租户(而非每区域)共 2 个 ADB,且停止的 ADB 仍计入配额;不支持私有端点与自动扩缩容。要释放配额必须删除 ADB,而非仅停止。
使用方式
钱包连接失败决策树
- 钱包文件问题:是否设置
TNS_ADMIN环境变量;sqlnet.ora是否包含钱包位置(WALLET_LOCATION=(SOURCE=(METHOD=file)(METHOD_DATA=(DIRECTORY="/path/to/wallet"))));钱包密码是否正确。 - 网络安全:私有端点 ADB 需检查源 IP 是否在 NSG 中、本地是否通过 VPN/FastConnect;公有端点 ADB 需检查 IP 是否在白名单 ACL 中。
- 数据库状态:是否处于 AVAILABLE,可用
oci db autonomous-database get --autonomous-database-id <ocid> --query 'data."lifecycle-state"'查询。 - 服务名错误:
tnsnames.ora条目为<dbname>_high、<dbname>_medium、<dbname>_low。
PDB 连接要点
层级为 DB System 或 Exadata → Container Database (CDB) → Pluggable Database (PDB),应用应连接 PDB 而非 CDB。示例:错误做法 sqlplus admin/pass@cdb-host:1521/ORCLCDB,正确做法 sqlplus app_user/pass@cdb-host:1521/PDB1。Unplug 的注意点:unplug PDB 不会删除数据,费用会持续到显式 DELETE;unplug 仅生成用于迁移的 XML 元数据文件。
成本优化
停止与常开对比
对于有可预测使用时段的开发数据库,停止/启动是值得的。示例:2 OCPU ADB 工作日每天使用 8 小时,相比常开 1 OCPU 约节省 48%;存储费用($0.025/GB/月)在任何情况下都持续计费。
许可模式
| 模式 | 成本 | 适用场景 |
|---|---|---|
| License Included | $0.36/OCPU-小时 | 无 Oracle DB 许可 |
| BYOL | $0.18/OCPU-小时 | 已持有 Oracle 许可(节省 50%) |
示例:4 OCPU 生产 ADB 全天候运行,若已持有许可,BYOL 每月节省 $525(每年 $6,300)。
自动扩缩容上限
自动扩缩容可能静默使账单变为 3 倍(如 2 OCPU 配置开启后扩至 6 OCPU)。官方指出最大 OCPU 上限无法通过 API 或 Terraform 设置,必须在控制台的 Manage Scaling 中设置,建议设为基线的 2 倍以控制成本。
适用场景
适用于在 OCI 上创建与管理 ADB、排查钱包连接问题、管理 PDB、优化 ADB 成本、选择克隆类型的用户。
限制
部分操作(如自动扩缩容的 OCPU 上限)无法通过 API 或 Terraform 完成,需在控制台操作;Always-Free 层存在 OCPU、存储、租户配额及功能限制;可刷新克隆会在源 ADB 删除时被自动删除且无警告。