Learn-skills.dev oracle-dba
Oracle DBA and DevOps expertise for Autonomous Database (ADB) on OCI. This skill should be used when managing Oracle Autonomous Databases, writing optimized SQL/PLSQL, configuring security (TDE, Database Vault, Data Safe), implementing HA/DR (Data Guard, PITR), using OCI CLI for database operations, or integrating with Oracle MCP servers for AI-assisted database management. Covers Oracle Database versions 19c, 21c, 23ai, and 26ai.
git clone https://github.com/NeverSight/learn-skills.dev
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeverSight/learn-skills.dev "$T" && mkdir -p ~/.claude/skills && cp -r "$T/data/skills-md/acedergren/oracle-dba-skill/oracle-dba" ~/.claude/skills/neversight-learn-skills-dev-oracle-dba-59a8cc && rm -rf "$T"
data/skills-md/acedergren/oracle-dba-skill/oracle-dba/SKILL.mdOracle DBA & DevOps Skill
Expert Oracle Database administration and DevOps engineering for Autonomous Database (ADB) on Oracle Cloud Infrastructure.
Overview
This skill provides comprehensive guidance for:
- Production DBA: Performance tuning, backup/recovery, monitoring, patching
- Security DBA: TDE, Database Vault, Data Safe, unified auditing, SQL Firewall
- Cloud DBA: OCI operations, scaling, Data Guard, cost optimization
When to Use This Skill
- Managing Oracle Autonomous Database (Shared/Dedicated/Free Tier)
- Writing optimized SQL queries and PLSQL procedures
- Configuring database security and compliance
- Implementing high availability and disaster recovery
- Using Oracle MCP servers for AI-assisted database operations
- Automating database tasks with OCI CLI
- Troubleshooting performance issues with AWR/ADDM
Quick Reference
Connect to ADB via SQLcl
# Using wallet sql admin@charlstn_high?TNS_ADMIN=/path/to/wallet # Using Cloud Shell (no wallet needed) sql -cloudconfig wallet.zip admin@adb_name_high
Common OCI CLI Commands
# List Autonomous Databases oci db autonomous-database list --compartment-id $C # Start/Stop ADB oci db autonomous-database start --autonomous-database-id $ADB_ID oci db autonomous-database stop --autonomous-database-id $ADB_ID # Scale ECPU oci db autonomous-database update --autonomous-database-id $ADB_ID \ --compute-count 4 # Create manual backup oci db autonomous-database-backup create \ --autonomous-database-id $ADB_ID \ --display-name "pre-upgrade-backup"
SQL Best Practices
-- Always use bind variables SELECT * FROM users WHERE id = :user_id; -- Use FETCH FIRST (not LIMIT) SELECT * FROM orders ORDER BY created_at DESC FETCH FIRST 10 ROWS ONLY; -- Vector similarity search (26ai) SELECT id, content, VECTOR_DISTANCE(embedding, :query_vec, COSINE) AS score FROM documents ORDER BY score FETCH FIRST 5 ROWS ONLY;
MCP Server Integration
This skill integrates with three Oracle MCP servers for AI-assisted database operations:
1. Oracle SQLcl MCP Server
Enables AI agents to execute SQL queries and manage database connections.
Key Tools:
| Tool | Purpose |
|---|---|
| List available database connections |
| Connect to a database |
| Execute SQL statements |
| Get schema metadata |
Usage Pattern:
1. Call list-connections to see available connections 2. Call connect with connection name 3. Call run-sql to execute queries 4. Call disconnect when done
2. Oracle Database MCP Server (100+ Tools)
Comprehensive database management through MCP tools.
Tool Categories:
- Schema Discovery: list tables, columns, constraints, indexes
- Query Execution: run SQL, explain plans, execution stats
- Performance: AWR reports, session analysis, wait events
- Security: user management, privilege grants, audit settings
- Backup/Recovery: backup status, restore points, PITR
3. Oracle DB Documentation MCP Server
Search official Oracle documentation from within AI conversations.
Tool:
| Tool | Purpose |
|---|---|
| Search Oracle docs by phrase |
Workflow Decision Tree
Database Task Required ├── Performance Issue? │ ├── Slow Query → references/sql-patterns.md (query optimization) │ ├── High CPU/Wait → AWR/ADDM analysis via MCP tools │ └── Scaling Needed → OCI CLI scale commands ├── Security Task? │ ├── Encryption → references/adb-security.md (TDE) │ ├── Access Control → Database Vault, Label Security │ └── Auditing → Unified Audit, Data Safe ├── HA/DR Task? │ ├── Standby Setup → references/adb-ha-dr.md (Autonomous Data Guard) │ ├── Backup/Restore → Automatic backups, PITR (95 days) │ └── Failover → Switchover/Failover procedures └── Development Task? ├── SQL Query → references/sql-patterns.md ├── Vector Search → DBMS_VECTOR, AI Vector Search └── JSON Processing → JSON Relational Duality
ADB Feature Summary
Automatic Features (No DBA Action Required)
- Auto Indexing: Automatic index creation based on workload
- Auto Scaling: CPU scales 1-3x based on demand (when enabled)
- Auto Backup: Daily incremental, weekly full (60 days retention)
- Auto Patching: Security and bug fixes applied automatically
- Auto Tuning: SQL Plan Baselines, Segment Advisor
DBA-Managed Features
- Manual Scaling: Adjust base ECPU/storage via console or CLI
- Autonomous Data Guard: Enable cross-region standby
- Backup-Based DR: Cross-region backup replication
- Point-in-Time Recovery: Restore to any point (up to 95 days)
- Refreshable Clones: Read-only clones with auto-refresh
Version-Specific Features
| Feature | 19c | 21c | 23ai | 26ai |
|---|---|---|---|---|
| JSON Duality | - | - | ✓ | ✓ |
| AI Vector Search | - | - | ✓ | ✓ |
| JavaScript Stored Procs | - | - | - | ✓ |
| Select AI | - | - | ✓ | ✓ |
| Property Graphs | - | ✓ | ✓ | ✓ |
| True Cache | - | - | - | ✓ |
Common Operations
Performance Troubleshooting
-- Find top SQL by elapsed time (last hour) SELECT sql_id, elapsed_time/1000000 AS elapsed_sec, executions, ROUND(elapsed_time/executions/1000,2) AS avg_ms FROM v$sql WHERE executions > 0 AND last_active_time > SYSDATE - 1/24 ORDER BY elapsed_time DESC FETCH FIRST 10 ROWS ONLY; -- Check session wait events SELECT event, total_waits, time_waited_micro/1000000 AS wait_sec FROM v$system_event WHERE wait_class != 'Idle' ORDER BY time_waited_micro DESC FETCH FIRST 10 ROWS ONLY; -- Generate AWR report (requires DBA privilege) SELECT * FROM TABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML( l_dbid => (SELECT dbid FROM v$database), l_inst_num => 1, l_bid => :begin_snap_id, l_eid => :end_snap_id ));
Security Configuration
-- Enable TDE for tablespace (auto-enabled in ADB) ALTER TABLESPACE users ENCRYPTION USING 'AES256' ENCRYPT; -- Create read-only user CREATE USER report_user IDENTIFIED BY :password; GRANT CREATE SESSION TO report_user; GRANT SELECT ON schema.table TO report_user; -- Enable unified auditing for schema CREATE AUDIT POLICY audit_sales_schema ACTIONS ALL ON sales.orders, ALL ON sales.customers; AUDIT POLICY audit_sales_schema;
Backup and Recovery
# Restore to point in time (OCI Console or CLI) oci db autonomous-database restore \ --autonomous-database-id $ADB_ID \ --timestamp "2024-01-15T10:30:00Z" # Create refreshable clone oci db autonomous-database create-clone \ --source-autonomous-database-id $SOURCE_ID \ --compartment-id $C \ --clone-type REFRESHABLE_CLONE \ --db-name "dev_clone" \ --display-name "Development Clone"
Known Issues and Workarounds
PDB Visibility Delay
- Issue: New PDBs don't appear in console for several hours
- Workaround: PDBs are operational via SQL; console sync is eventual
TDE Wallet Migration (12c R1/R2)
- Issue: File-based to customer-managed key migration fails
- Workaround: Use
dbaascli --skip_patch_check true
Backup to Object Storage Failures
- Issue: SSL certificate changes cause RMAN backup failures
- Workaround: Update Oracle Database Cloud Backup Module
Resources
For detailed reference information, see:
- Complete MCP server tool catalogreferences/mcp-tools.md
- OCI CLI commands for Autonomous Databasereferences/oci-cli.md
- Security configuration (TDE, Vault, Data Safe)references/adb-security.md
- High availability and disaster recoveryreferences/adb-ha-dr.md
- SQL/PLSQL patterns optimized for ADBreferences/sql-patterns.md