---
name: oracle-db
description: "Oracle Database guidance for SQL, PL/SQL, SQLcl, ORDS, Oracle Vector SDK, administration, app development, performance, security, migrations, and agent-safe database workflows. Use when the user asks to write, edit, rewrite, review, format, debug, tune, or explain SQL; create or refactor PL/SQL; use Oracle VecDB through the Python SDK, REST API, or DBMS_VECTOR_DATABASE package; use SQLcl, Liquibase, ORDS, JDBC, node-oracledb, Python, Java, .NET, or database frameworks; troubleshoot vector tables"
license: "UPL-1.0"
metadata:
  decimalai-skill-id: "d62a653a-a530-4dab-8ba6-b0ee4ccffceb"
  decimalai-version-id: "f5374ce5-bff5-4ce3-9556-c7db9e668122"
  decimalai-version: "4"
  decimalai-body-sha256: "7cd7b49a92a0202cf177bd3a6020456d4c23d9e19f3f801624cea305e3f4362c"
  decimalai-name: "oracle/db"
  decimalai-format: "1"
  decimalai-invocation: "model"
  decimalai-category: "data"
  decimalai-source: "https://app.decimal.ai/s/oracle-db@4/SKILL.md"
---
# Oracle Database Skills

This domain contains Oracle Database skills for administration, SQL and PL/SQL development, performance tuning, security, ORDS, SQLcl, migrations, frameworks, VecDB SDK/REST/PL/SQL workflows, OCR container guidance, and agent-safe database workflows.

## How to Use This Domain

1. Start with the routing table below.
2. Read only the specific file or category you need.

## Directory Structure

```text
db/
├── admin/
├── agent/
├── appdev/
├── architecture/
├── backup-recovery/
├── containers/
├── design/
├── devops/
├── data-guard/
├── features/
├── frameworks/
├── migrations/
├── monitoring/
├── ords/
├── performance/
├── plsql/
├── security/
├── sql-dev/
├── sqlcl/
└── vecdb/
```

## Category Routing

| Topic | Directory |
|-------|-----------|
| Data Guard, redo/undo logs, users | `db/admin/` |
| Safe DML, destructive operation guards, idempotency, schema discovery, ORA- error handling | `db/agent/` |
| JDBC, JDBC Extensions, Python, .NET, pooling, JSON, XML, spatial, Oracle Text, transactions, MLE, language drivers | `db/appdev/` |
| RAC, Multitenant, Exadata, In-Memory, OCI database services, Data Guard architecture | `db/architecture/` |
| Backup, recovery, RMAN, Autonomous Recovery Service, Cloud Protect | `db/backup-recovery/` |
| OCR database-category container images and pull guidance | `db/containers/` |
| ERD, data modeling, partitioning, tablespaces | `db/design/` |
| Schema migrations, online operations, edition-based redefinition, testing, version control | `db/devops/` |
| Guidance and assistance for triaging data guard configuration and environment related issues | `db/data-guard/` |
| AQ, DBMS_SCHEDULER, materialized views, DBLinks, APEX, vector search, SELECT AI | `db/features/` |
| SQLAlchemy, Django, Pandas, Spring JPA, MyBatis, TypeORM, Sequelize, Dapper, GORM | `db/frameworks/` |
| Migrations from PostgreSQL, MySQL, SQL Server, MongoDB, Snowflake, and more | `db/migrations/` |
| Alert log, ADR, health monitor, space management, top SQL | `db/monitoring/` |
| ORDS architecture, installation, REST design, authentication, monitoring, ORDS Concert Sample App | `db/ords/` |
| AWR, ASH, explain plan, indexes, optimizer stats, wait events, memory | `db/performance/` |
| Package design, error handling, performance, collections, cursors, debugging | `db/plsql/` |
| Privileges, Deep Data Security, VPD, masking, auditing, encryption, network security | `db/security/` |
| SQL tuning, SQL patterns, dynamic SQL, injection avoidance | `db/sql-dev/` |
| SQLcl basics, scripting, Liquibase, formatting, DDL generation, data loading, MCP server, scheduler daemon, AWR, background jobs, schema comparison with DIFF | `db/sqlcl/` |
| Oracle Vector SDK setup and configuration, including database preparation, Python SDK, REST API, PL/SQL package, version prerequisites, vector tables, ingestion, models, search, reranking, indexes, and jobs | `db/vecdb/` |

## Key Starting Points

- `db/sqlcl/sqlcl-mcp-server.md`
- `db/migrations/migration-assessment.md`
- `db/performance/explain-plan.md`
- `db/plsql/plsql-package-design.md`
- `db/appdev/java-oracle-jdbc.md`
- `db/devops/schema-migrations.md`
- `db/security/deep-data-security.md`
- `db/agent/schema-discovery.md`
- `db/containers/container-selection-matrix.md`
- `db/backup-recovery/autonomous-recovery-service.md`
- `db/backup-recovery/cloud-protect.md`
- `db/vecdb/vecdb-provisioning.md`
- `db/vecdb/vecdb-architecture.md`

## Common Multi-Step Flows

| Task | Recommended Sequence |
|------|----------------------|
| Diagnose a slow query | `explain-plan` → `wait-events` → `optimizer-stats` → `awr-reports` |
| Plan a migration | `migration-assessment` → `oracle-migration-tools` → source-specific `migrate-*.md` → `migration-cutover-strategy` |
| Build RAG on Oracle Database | `ai-profiles` → `vector-search` → `dbms-vector` |
| Build a Java JDBC service | `java-oracle-jdbc` → `java-oracle-jdbc/dependencies` → `java-oracle-jdbc/connections` → `java-oracle-jdbc/sql` → `java-oracle-jdbc/pooling-production` → `java-oracle-jdbc/providers` (cloud secrets, tracing, Spring, Pkl) |
| Perform agent-safe schema change | `schema-discovery` → `destructive-op-guards` → `idempotency-patterns` → `schema-migrations` |
| Set up AI-driven database access via MCP | `security/deep-data-security` (end-user authorization) → `sqlcl-basics` (save connections) → `sqlcl-mcp-server` (configure + start) |
| Set up an Oracle Vector SDK database deployment | `vecdb-provisioning` → Oracle Vector SDK Quick Start → **Prepare an AI Database** |
| Build vector-based applications for semantic search, RAG, or recommendations using Oracle Vector SDK's fixed-schema APIs through the Python SDK, REST, or PL/SQL | `vecdb-architecture` → `vecdb-api-reference` → relevant capability file (`vecdb-models`, `vecdb-vector-tables`, `vecdb-search`, or `vecdb-indexes`) |
