关于 oracledb
通过 Node.js 脚本执行 Oracle Database 操作和诊断的技能。可运行 SQL,并检查执行计划、会话、架构对象、表、表空间使用情况及资源消耗较高的 SQL。
主要功能
- 01执行 SQL 语句
- 02生成 SQL 执行计划
- 03列出活动数据库会话
- 04查找无效架构对象
- 05检查表和表空间使用情况
- 06按资源消耗排列 SQL
适用场景
- 01在已连接的数据库中运行 SQL
- 02在不执行查询时分析执行计划
- 03检查活动会话和无效对象
- 04监控表空间用量及高资源消耗 SQL
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ cline/ skills --skill oracledb安装后在 Claude Code 中输入/oracledb确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
scripts/execute_sql.jsget_query_plan.jslist_active_sessions.jslist_invalid_objects.jslist_tables.jslist_tablespace_usage.jslist_top_sql_by_resource.js详细介绍
用法
所有脚本都可以使用 Node.js 执行。将 <param_name> 和 <param_value> 替换为实际值。
Bash:
node <skill_dir>/scripts/<script_name>.js '{"<param_name>": "<param_value>"}'
PowerShell:
node <skill_dir>/scripts/<script_name>.js '{\"<param_name>\": \"<param_value>\"}'
注意:脚本会自动从各种 .env 文件加载环境变量。除非技能执行因缺少环境变量而失败,否则不要要求用户设置变量。
脚本
execute_sql
执行任意 SQL 语句。
参数
| 名称 | 类型 | 描述 | 必填 | 默认值 |
|---|---|---|---|---|
| sql | string | 要执行的 SQL。 | 是 |
get_query_plan
使用 EXPLAIN PLAN 为单条 SQL 语句生成完整执行计划。可用于分析查询性能,而无需实际执行。需要将 SQL 语句作为参数输入。
参数
| 名称 | 类型 | 描述 | 必填 | 默认值 |
|---|---|---|---|---|
| query | string | 要生成执行计划的 SQL 语句(省略 EXPLAIN 关键字)。 | 是 |
list_active_sessions
列出当前正在运行的前 N 个数据库会话(默认 50 个,STATUS='ACTIVE'),显示 SID、OS User、Program 和当前 SQL 语句文本。
list_invalid_objects
列出所有处于无效状态、需要重新编译的数据库对象(例如,过程、函数、视图)。
list_tables
列出已连接架构中的所有用户表,包括段大小、行数和最近分析日期。可按逗号分隔的名称列表进行筛选。如果未提供名称,则列出当前用户架构中的所有表。
list_tablespace_usage
列出表空间名称、总大小、可用空间和已用百分比,以监控存储使用情况。
list_top_sql_by_resource
根据选定的资源指标(CPU、I/O 或耗时),列出库缓存中排名靠前的 N 条 SQL 语句(默认 5 条)。显示 SQL ID、执行次数、缓冲区读取次数、磁盘读取次数、CPU 时间和耗时。