关于 oracle
面向 Oracle 开发者和 DBA 的数据库技能,提供 SQL 与 PL/SQL 编写、性能分析及管理指导,涉及分区、备份和高可用配置。
主要功能
- 01Oracle SQL 与 PL/SQL 开发指导
- 02表、索引、分区和约束设计
- 03使用 EXPLAIN PLAN、AWR 和 ASH 分析性能
- 04用户、角色、表空间及 RMAN 管理
- 05RAC、Data Guard 与复制配置指导
适用场景
- 01编写存储过程、函数和触发器
- 02分析查询计划与数据库性能
- 03规划大表分区和索引
- 04配置备份、恢复或高可用环境
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ partme-ai/ full-stack-skills --skill oracle安装后在 Claude Code 中输入/oracle确认已加载。
附带文件LICENSE.txt
详细介绍
适用场景
当用户希望执行以下操作时,使用此技能:
- 编写 Oracle SQL 或 PL/SQL(存储过程、函数、触发器、程序包)
- 在 Oracle 中设计表、索引、分区或约束
- 使用 EXPLAIN PLAN、AWR 或 ASH 报告优化查询性能
- 管理 Oracle(用户、角色、表空间、RMAN 备份)
- 配置 RAC、Data Guard 或 Oracle 复制
如何使用此技能
工作流
- 确定任务 - 编写 SQL、开发 PL/SQL、性能调优或 DBA 操作
- 编写代码 - 使用下方符合 Oracle 语法的模式
- 分析性能 - 运行 EXPLAIN PLAN 或查看 AWR 快照
- 应用 Oracle 专属最佳实践 - 绑定变量、分区、RMAN
快速入门示例:带错误处理的 PL/SQL 存储过程
CREATE OR REPLACE PROCEDURE transfer_funds(
p_from_acct IN NUMBER,
p_to_acct IN NUMBER,
p_amount IN NUMBER
) AS
v_balance NUMBER;
BEGIN
-- Check source balance
SELECT balance INTO v_balance
FROM accounts WHERE account_id = p_from_acct
FOR UPDATE;
IF v_balance < p_amount THEN
RAISE_APPLICATION_ERROR(-20001, 'Insufficient funds');
END IF;
UPDATE accounts SET balance = balance - p_amount WHERE account_id = p_from_acct;
UPDATE accounts SET balance = balance + p_amount WHERE account_id = p_to_acct;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RAISE;
END transfer_funds;
/
性能分析
EXPLAIN PLAN FOR
SELECT /*+ INDEX(o idx_orders_date) */ * FROM orders o WHERE order_date > SYSDATE - 30;
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);
最佳实践
- 使用绑定变量 - 防止 SQL 注入和硬解析;切勿将用户输入拼接到 SQL 中
- 对大型表进行分区 - 按日期列进行范围分区;为实现均匀分布而进行哈希分区
- RMAN 备份策略 - 每周完整备份,每日增量备份;每季度测试恢复流程
- 监控等待事件 - 使用 AWR/ASH 识别 I/O、闩锁或锁竞争
- 审计并加强安全性 - 使用 Oracle Audit Vault;授予最小权限角色;加密敏感列
关键词
oracle, PL/SQL, SQL*Plus, SQL Developer, RMAN, RAC, Data Guard, AWR, 关系型数据库, 存储过程, EXPLAIN PLAN, 表空间, 索引, 分区
评论
支持 Markdown