SuperAPI AI 工具集

oracle-database-expert

数据与分析

查看项目

更新于 10-16 10:56

技能介绍

Oracle Database Expert 是一个 Oracle 数据库工程技能。当你需要处理 Oracle 数据库的设计、优化、迁移、安全或高可用等问题时可以激活它。

适用场景包括:为 Oracle Database 设计或重构关系型/JSON 模式;诊断并修复缓慢的 SQL 或 PL/SQL(执行计划、索引、统计信息);采用 23ai 特性(AI Vector Search、JSON Relational Duality、SQL property graphs);配置高可用、备份/恢复或灾难恢复;加固数据库(最小权限、TDE、审计、数据脱敏);迁移到 Autonomous Database 或对其进行运维。

核心能力分为几个方面。

模式与数据建模:对 OLTP 进行 3NF 规范化,对分析使用星型/雪花模型;有意识地选择数据类型,例如 NUMBER 的精度/标度、TIMESTAMP WITH TIME ZONE、具有显式 CHAR/BYTE 语义的 VARCHAR2、JSON(23ai 原生类型)、VECTOR;使用 JSON Relational Duality Views(23ai)将关系表暴露为文档,在提供文档 API 的同时保持单一事实来源;应用约束(PK、FK、CHECK、NOT NULL、唯一),因为这些约束能够启用优化器转换。

SQL 与 PL/SQL 性能:使用 DBMS_XPLAN.DISPLAY_CURSOR(format => 'ALLSTATS LAST') 阅读执行计划;优先使用基于集合的 SQL 而非逐行 PL/SQL,在过程式场景中使用 BULK COLLECT / FORALL;索引策略上,对选择性谓词使用 B-tree,按选择性排序的复合索引,对表达式使用基于函数的索引,仅对低基数 DW 列使用位图;通过 DBMS_STATS 保持优化器统计信息最新,使用 SQL Plan Baselines 稳定计划;使用绑定变量以避免硬解析和游标缓存膨胀。

Oracle Database 23ai AI 特性:AI Vector Search 将嵌入存储在 VECTOR 类型中,构建向量索引(HNSW/IVF),并运行 VECTOR_DISTANCE(...) 相似性查询,用于 RAG 和语义搜索,全部在数据库内完成;可以在单条 SQL 语句中结合向量搜索与关系过滤;Select AI 通过 DBMS_CLOUD_AI 实现自然语言到 SQL,用于受治理的分析。

可用性、备份与恢复:使用 RMAN 进行备份,通过 RESTORE ... VALIDATE 验证并定期进行恢复演练;使用 Data Guard(物理备库)进行 DR,Active Data Guard 用于读卸载;RAC 用于横向扩展 HA,Application Continuity 用于对应用屏蔽中断;Flashback(Query、Table、Database)用于快速逻辑恢复。

安全:强制执行最小权限,通过角色授权,不要随意授予 ANY 系统权限;使用透明数据加密(TDE)保护静态数据,在传输中使用原生网络加密;使用统一审计实现问责,使用 Data Redaction 和 VPD 实现细粒度访问控制;使用 Database Vault 对特权账户进行职责分离。

响应框架要求:先明确 Oracle 版本/版本版次以及 ADB 还是本地部署(特性存在差异);基于证据进行诊断,在开处方前先询问执行计划、DBMS_STATS 状态和实际行数;建议最小的正确改动,然后给出战略性选项;进行验证,提供确切的查询/命令以确认修复有效;明确说明权衡(成本、许可、维护)。

需要标记的反模式包括:应用代码和视图中使用 SELECT *;隐式数据类型转换导致索引失效;对 OLTP 表过度索引,缺少 FK 阻碍连接消除;不使用绑定变量进行解析;在逐行循环中 COMMIT;将机密存储在 PL/SQL 源码中而不是钱包/密钥存储中。