本技能提供 Oracle 自治数据库(Autonomous Database,ADB)在 Oracle Cloud Infrastructure(OCI)上的数据库管理与 DevOps 工程指导,来源为 acedergren/oracle-dba-skill。
一、用途与适用角色 技能面向三类工作:生产 DBA(性能调优、备份/恢复、监控、补丁)、安全 DBA(TDE、Database Vault、Data Safe、统一审计、SQL Firewall)、云 DBA(OCI 操作、扩缩容、Data Guard、成本优化)。适用时机包括:管理 Oracle 自治数据库(Shared/Dedicated/Free Tier)、编写优化 SQL 与 PL/SQL 过程、配置数据库安全与合规、实现高可用与灾难恢复、使用 Oracle MCP 服务器进行 AI 辅助数据库操作、用 OCI CLI 自动化数据库任务、用 AWR/ADDM 排查性能问题。
二、主要能力与功能概览 技能涵盖 ADB 的自动特性与 DBA 管理特性。自动特性(无需 DBA 操作):Auto Indexing 按负载自动创建索引;Auto Scaling 在启用后 CPU 可按需扩展 1-3 倍;Auto Backup 每日增量、每周全量(保留 60 天);Auto Patching 自动应用安全与缺陷修复;Auto Tuning 包含 SQL Plan Baselines 与 Segment Advisor。DBA 管理特性:通过控制台或 CLI 手动调整基础 ECPU/存储;启用跨区域 Autonomous Data Guard;基于备份的跨区域复制容灾;时间点恢复(最长 95 天);可刷新克隆(只读克隆并自动刷新)。
版本特性对照:JSON Duality 在 23ai、26ai 可用;AI Vector Search 在 23ai、26ai 可用;JavaScript 存储过程仅在 26ai 可用;Select AI 在 23ai、26ai 可用;Property Graphs 自 21c 起可用;True Cache 仅在 26ai 可用。
三、使用方式与操作参考 连接 ADB(SQLcl)示例:
使用 wallet
sql admin@charlstn_high?TNS_ADMIN=/path/to/wallet
使用 Cloud Shell(无需 wallet)
sql -cloudconfig wallet.zip admin@adb_name_high
常用 OCI CLI 命令:
列出自主数据库
oci db autonomous-database list --compartment-id $C
启动/停止 ADB
oci db autonomous-database start --autonomous-database-id $ADB_ID oci db autonomous-database stop --autonomous-database-id $ADB_ID
扩缩 ECPU
oci db autonomous-database update --autonomous-database-id $ADB_ID
--compute-count 4
创建手动备份
oci db autonomous-database-backup create
--autonomous-database-id $ADB_ID
--display-name "pre-upgrade-backup"
SQL 最佳实践示例: -- 始终使用绑定变量 SELECT * FROM users WHERE id = :user_id; -- 使用 FETCH FIRST(而非 LIMIT) SELECT * FROM orders ORDER BY created_at DESC FETCH FIRST 10 ROWS ONLY; -- 向量相似度检索(26ai) SELECT id, content, VECTOR_DISTANCE(embedding, :query_vec, COSINE) AS score FROM documents ORDER BY score FETCH FIRST 5 ROWS ONLY;
备份与恢复示例:
恢复至时间点
oci db autonomous-database restore
--autonomous-database-id $ADB_ID
--timestamp "2024-01-15T10:30:00Z"
创建可刷新克隆
oci db autonomous-database create-clone
--source-autonomous-database-id $SOURCE_ID
--compartment-id $C
--clone-type REFRESHABLE_CLONE
--db-name "dev_clone"
--display-name "Development Clone"
安全配置示例: -- 为表空间启用 TDE(ADB 中自动启用) ALTER TABLESPACE users ENCRYPTION USING 'AES256' ENCRYPT; -- 创建只读用户 CREATE USER report_user IDENTIFIED BY :password; GRANT CREATE SESSION TO report_user; GRANT SELECT ON schema.table TO report_user; -- 为 schema 启用统一审计 CREATE AUDIT POLICY audit_sales_schema ACTIONS ALL ON sales.orders, ALL ON sales.customers; AUDIT POLICY audit_sales_schema;
性能排查示例: -- 按耗时查找 Top SQL(最近一小时) SELECT sql_id, elapsed_time/1000000 AS elapsed_sec, executions, ROUND(elapsed_time/executions/1000,2) AS avg_ms FROM v$sql WHERE executions > 0 AND last_active_time > SYSDATE - 1/24 ORDER BY elapsed_time DESC FETCH FIRST 10 ROWS ONLY; -- 查看会话等待事件 SELECT event, total_waits, time_waited_micro/1000000 AS wait_sec FROM v$system_event WHERE wait_class != 'Idle' ORDER BY time_waited_micro DESC FETCH FIRST 10 ROWS ONLY; -- 生成 AWR 报告(需要 DBA 权限) SELECT * FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML( l_dbid => (SELECT dbid FROM v$database), l_inst_num => 1, l_bid => :begin_snap_id, l_eid => :end_snap_id ));
四、MCP 服务器集成 技能集成三个 Oracle MCP 服务器以支持 AI 辅助数据库操作: 1)Oracle SQLcl MCP Server:让 AI 代理执行 SQL 查询并管理数据库连接,工具包括 list-connections(列出可用连接)、connect(连接数据库)、run-sql(执行 SQL 语句)、schema-information(获取 schema 元数据)。使用模式为:先 list-connections 查看连接,再 connect 指定连接名,随后 run-sql 执行查询,最后 disconnect 断开。 2)Oracle Database MCP Server(100+ 工具):提供全面的数据库管理,工具类别包括 schema 发现(表、列、约束、索引)、查询执行(运行 SQL、执行计划、执行统计)、性能(AWR 报告、会话分析、等待事件)、安全(用户管理、权限授予、审计设置)、备份/恢复(备份状态、还原点、PITR)。 3)Oracle DB Documentation MCP Server:在 AI 对话中搜索 Oracle 官方文档,工具为 search_oracle_database_documentation(按短语搜索 Oracle 文档)。
五、工作流决策树 需要数据库任务时:性能问题下,慢查询转 references/sql-patterns.md(查询优化),高 CPU/等待经 MCP 工具做 AWR/ADDM 分析,需扩缩容用 OCI CLI 命令;安全任务下,加密转 references/adb-security.md(TDE),访问控制用 Database Vault、Label Security,审计用 Unified Audit、Data Safe;高可用/容灾任务下,备库搭建转 references/adb-ha-dr.md(Autonomous Data Guard),备份/恢复用自动备份与 PITR(95 天),故障切换执行 Switchover/Failover 流程;开发任务下,SQL 查询转 references/sql-patterns.md,向量检索用 DBMS_VECTOR、AI Vector Search,JSON 处理用 JSON Relational Duality。
六、已知问题与绕过方法 PDB 可见性延迟:新建 PDB 数小时内不出现在控制台;绕过方法为 PDB 可通过 SQL 正常操作,控制台同步是最终一致的。TDE Wallet 迁移(12c R1/R2):基于文件的密钥迁移到客户托管密钥失败;绕过方法为使用 dbaascli --skip_patch_check true。备份到对象存储失败:SSL 证书变更导致 RMAN 备份失败;绕过方法为更新 Oracle Database Cloud Backup Module。
七、参考资源 详细参考资料包括 references/mcp-tools.md(完整 MCP 服务器工具目录)、references/oci-cli.md(用于 Autonomous Database 的 OCI CLI 命令)、references/adb-security.md(安全配置:TDE、Vault、Data Safe)、references/adb-ha-dr.md(高可用与灾难恢复)、references/sql-patterns.md(针对 ADB 优化的 SQL/PLSQL 模式)。外部文档包括 Oracle Database 26ai Documentation、Autonomous Database Documentation、OCI CLI Reference、Oracle MCP Servers、SQLcl Documentation。
八、限制说明 资料未提供独立的收费与价格信息、未提供与其他产品的效果对比数据、未提供性能基准数字,相关细节暂未提供。