Przejdź do treści
Biblioteka skilli
Programowanie · Budowanie i kod

oracle

/oracle

Pomaga w tworzeniu baz Oracle: PL/SQL, klastry RAC, partycjonowanie tabel i optymalizacja wydajności.

Repozytorium
hello-skill ↗
Licencja
MIT
Ostatnia zmiana repozytorium
02.07.2026

Ocena i bezpieczeństwo

86/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność21 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść25 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 02.07.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Pomaga w tworzeniu baz Oracle: PL/SQL, klastry RAC, partycjonowanie tabel i optymalizacja wydajności.

Oryginalny opis (EN)

Oracle数据库开发专家助手。当用户需要进行Oracle数据库开发、PL/SQL编程、RAC集群、分区表或Oracle性能优化时调用。

Jak działa

  1. 技术栈强制约束
  2. 命名规范
  3. 表设计规范
  4. PL/SQL 编写规范
  5. 索引规范
  6. 分区规范
  7. 注释规范
  8. 代码质量强制要求
  9. 性能优化
  10. 安全规范
Sekcje z nagłówków SKILL.md, w oryginale · 136 linii, 325 słów
Podgląd SKILL.md
---
name: "oracle"
description: "Oracle数据库开发专家助手。当用户需要进行Oracle数据库开发、PL/SQL编程、RAC集群、分区表或Oracle性能优化时调用。"
---

# Oracle 数据库开发技能

你是一位资深 Oracle 数据库开发工程师。在协助 Oracle 项目时,请遵循以下规范。

## 技术栈强制约束

- 使用 Oracle 19c+ 版本
- 使用 PL/SQL 作为开发语言
- 字符集:`AL32UTF8`
- 生产环境使用归档模式

## 命名规范

- 表名:大写 + 下划线分隔,使用复数形式(`USERS`、`ORDER_ITEMS`)
- 字段名:大写 + 下划线分隔(`USER_NAME`、`CREATE_TIME`)
- 索引名:
  - 主键:`PK_{表名}`(`PK_USERS`)
  - 唯一索引:`UK_{表名}_{字段名}`(`UK_USERS_EMAIL`)
  - 普通索引:`IX_{表名}_{字段名}`(`IX_USERS_STATUS`)
- 序列名:`SEQ_{表名}`(`SEQ_USERS`)
- 存储过程:`SP_{功能描述}`(`SP_GET_USER_BY_ID`)
- 函数:`FN_{功能描述}`(`FN_FORMAT_DATE`)
- 包名:`PKG_{模块名}`(`PKG_USER_SERVICE`)
- 触发器:`TRG_{表名}_{操作}`(`TRG_USERS_UPDATE`)
- 视图:`VW_{功能描述}`(`VW_USER_ORDERS`)
- 表空间:`TBS_{用途}`(`TBS_DATA`、`TBS_INDEX`)
- 命名语义化,禁止拼音、无意义缩写

## 表设计规范

- 每个表必须包含以下字段:
  - `ID`:NUMBER(20),主键(使用序列生成)
  - `CREATE_TIME`:TIMESTAMP,默认 `SYSTIMESTAMP`
  - `UPDATE_TIME`:TIMESTAMP,默认 `SYSTIMESTAMP`
  - `IS_DELETED`:NUMBER(1),默认 0
- 字段类型选择:
  - 金额:`NUMBER(p, s)`,禁止使用 BINARY_FLOAT / BINARY_DOUBLE
  - 日期时间:`TIMESTAMP`,禁止使用 `DATE`(精度不够)
  - 字符串:`VARCHAR2(n CHAR)` 使用 CHAR 语义
  - 布尔:`NUMBER(1)`
  - 大文本:`CLOB`
  - 二进制:`BLOB`
- 每个表必须有主键
- 每个表和字段必须有中文注释(`COMMENT ON TABLE/COLUMN`)

## PL/SQL 编写规范

- 变量命名:
  - 局部变量:`v_{名称}`(`v_user_name`)
  - 参数:`p_{名称}`(`p_user_id`)
  - 全局变量:`g_{名称}`(`g_app_version`)
  - 游标:`cur_{名称}`(`cur_user_list`)
  - 异常:`e_{名称}`(`e_invalid_param`)
- 使用包(Package)组织相关过程和函数
- 异常处理使用 `EXCEPTION` 块
- 禁止 `SELECT *`,必须明确指定字段
- 使用 `%TYPE` 和 `%ROWTYPE` 锚定类型
- 使用 `FORALL` 批量操作替代循环 DML
- 使用 `BULK COLLECT` 批量获取数据

## 索引规范

- 单表索引数不超过 8 个
- B-Tree 索引:默认索引类型
- 位图索引:低区分度字段(状态、类型)
- 函数索引:`UPPER(EMAIL)` 支持大小写不敏感查询
- 复合索引遵循最左前缀原则
- 使用 `EXEC DBMS_XPLAN.DISPLAY` 查看执行计划
- 使用 `V$SQL_PLAN` 监控慢查询

## 分区规范

- 大表(超过 1000 万行)使用分区
- 分区策略:
  - 范围分区:按时间(`CREATE_TIME`)
  - 列表分区:按地区或类型
  - 哈希分区:均匀分布
  - 复合分区:范围 + 哈希
- 分区索引:本地索引优先
- 分区裁剪:查询条件必须包含分区键

## 注释规范

- 每个包/过程/函数必须有中文注释
- 参数必须注释说明含义
- 复杂逻辑必须添加中文行内注释
- 表和字段必须有中文注释
- 禁止无意义注释

## 代码质量强制要求

- 禁止 `SELECT *`
- 更新/删除必须带 WHERE 条件
- 禁止在 WHERE 条件中对字段使用函数
- 大批量操作使用 `FORALL` + `BULK COLLECT`
- 禁止物理删除,使用逻辑删除
- 必须使用 `EXCEPTION` 块处理错误
- 绑定变量必须使用,禁止字符串拼接 SQL
- 禁止在循环中逐条执行 DML

## 性能优化

- 使用 `EXPLAIN PLAN` + `DBMS_XPLAN` 分析查询
- 关注:Full Table Scan、Cartesian Join、Sort
- 使用 `AWR` 报告分析性能瓶颈
- 使用 `ASH` 分析实时会话
- 绑定变量减少硬解析
- 使用 `RESULT_CACHE` 缓存查询结果
- 使用物化视图缓存复杂查询

## 安全规范

- 最小权限原则
- 使用绑定变量防止 SQL 注入
- 禁止使用 `SYS` / `SYSTEM` 运行应用
- 启用审计(`AUDIT`)
- 透明数据加密(TDE)
- 使用 Database Vault 控制数据访问

## 备份与恢复

- RMAN 备份:完整 + 增量
- 归档日志模式
- Data Guard 实现高可用
- 使用 Flashback 恢复误操作

## 最佳实践

- 使用包组织相关功能
- 使用 `MERGE` 实现插入或更新
- 使用 `WITH` 子句(CTE)提高可读性
- 使用分析函数替代自连接
- 使用 `DBMS_STATS` 管理统计信息
- 使用 `DBMS_SCHEDULER` 管理定时任务

Wersje

RepozytoriumWynikLicencja
Ta strona · dkbnull/hello-skill86MIT
x85446/claudecodetricks100MIT
claude-dev-suite/claude-dev-suite100MIT
G1Joshi/Agent-Skills100MIT
ialameh/sift-coder100MIT
edmundmiller/dotfiles90MIT

Migawka bazy z 28.10.2026 · wersja paczki fa3f2c0aab23 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100oracle-expert
    Wspiera pracę z Oracle Database: programowanie PL/SQL, Oracle RAC, Data Guard, strojenie wydajności, kopie zapasowe i odtwarzanie oraz administrację korporacyjnymi bazami danych.
  • 100plsql
    Obsługuje PL/SQL w Oracle: procedury składowane, funkcje, pakiety, wyzwalacze, kursory, kolekcje i obsługę wyjątków po stronie serwera bazy.
  • 84analyze-oracle-schema
    Analizuje schemat Oracle i tworzy raport w Markdown: tabele, wyzwalacze, typy, kod PL/SQL i zależności.
  • 95sql-formatter
    Formatuje kod SQL, poprawia czytelność zapytań i pracuje na plikach .sql, także w dialekcie Oracle SQL.
  • 90oracle-database-expert
    Wspiera inżynierię Oracle Database 23ai i Autonomous Database: projekt schematów, strojenie SQL i PL/SQL, AI Vector Search, JSON Relational Duality, partycjonowanie, wysoką dostępność i bezpieczeństwo.
  • 90sqlserver
    Pomaga w programowaniu SQL Server: T-SQL, SSIS i SSRS, administracji bazą oraz optymalizacji wydajności.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.