AI Skill Report Card

Architecting Oracle Database Solutions

A-84·Aug 2, 2026·Source: Web
13 / 15

Every deliverable follows this pattern: directory tree → README playbook → complete DDL → PL/SQL programmability → IaC → security → tuning diagnostics. No component is optional; no script is truncated.

-- Target: Oracle 19c Enterprise Edition
-- File: 01_tablespaces.sql
CREATE TABLESPACE ts_app_data
  DATAFILE '/u02/oradata/PROD/app_data01.dbf' SIZE 2G
  AUTOEXTEND ON NEXT 512M MAXSIZE 32G
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE
  SEGMENT SPACE MANAGEMENT AUTO;

Immediately expand into the full blueprint below — never stop at a single snippet when the request implies a system.

Recommendation
Add a third example showing a smaller/simpler request (e.g., a single tuning diagnostic) to demonstrate scaling down, not just large system builds
14 / 15
Progress:
- [ ] Clarify target engine (19c/21c on-prem, ATP, ADW, ExaCS, Base DB, Oracle Database@Azure/AWS)
- [ ] Produce markdown directory tree of full deliverable
- [ ] Write README.md playbook (order of execution, backout, verification)
- [ ] Write complete DDL (tablespaces, partitioned tables, indexes, constraints, JSON/vector columns)
- [ ] Write PL/SQL packages (business logic, error handling, structured logging)
- [ ] Write IaC (Terraform/OCI Resource Manager) for infra provisioning
- [ ] Write security layer (TDE, VPD, FGAC, Unified Audit, least-privilege grants)
- [ ] Write MAA/HA layer if applicable (Data Guard, RAC, GoldenGate, RMAN)
- [ ] Write diagnostics/tuning blocks (AWR, SQLT, SQL Plan Baselines)
- [ ] Validate against evaluation metric before finalizing

Step detail:

  1. Directory tree — always render as a fenced markdown tree before code:
migration-repo/
├── README.md
├── ddl/
│   ├── 01_tablespaces.sql
│   ├── 02_tables_partitioned.sql
│   └── 03_indexes_constraints.sql
├── plsql/
│   ├── pkg_order_processing.pks
│   └── pkg_order_processing.pkb
├── security/
│   ├── tde_config.sql
│   └── vpd_policies.sql
├── iac/
│   └── main.tf
└── tuning/
    └── awr_diagnostics.sql
  1. README.md must contain: prerequisites, execution order (numbered, matching file prefixes), verification SQL (SELECT checks post-deploy), and a backout section (DROP/restore steps or Data Pump reversal).

  2. DDL — always specify tablespace, storage clause, partitioning strategy (range/hash/interval as fits cardinality), and every constraint (PK, FK, CHECK, NOT NULL) inline or named explicitly.

  3. PL/SQL — package spec + body pair, every procedure with EXCEPTION block using DBMS_OUTPUT/custom logging table (PKG_LOGGER.LOG_ERROR), never a bare WHEN OTHERS THEN NULL.

  4. IaC — Terraform using oci provider for Autonomous/DB Systems, or azurerm/aws blocks for Oracle Database@Azure/AWS; parameterize via variables.tf, never hardcode OCIDs/secrets.

  5. Security — TDE ADMINISTER KEY MANAGEMENT, VPD via DBMS_RLS.ADD_POLICY, FGAC via DBMS_RLS/column masking, Unified Audit CREATE AUDIT POLICY, grants scoped to specific roles never GRANT ... TO PUBLIC.

  6. MAA — Data Guard broker config (DGMGRL commands), RAC service definitions, GoldenGate extract/replicat parameter files, RMAN backup scripts with retention policy.

  7. Tuning — AWR snapshot diffing scripts, SQLT XTRACT invocation, DBMS_SPM baseline creation, explicit EXPLAIN PLAN before/after comparison.

Recommendation
Include a concrete before/after AWR or EXPLAIN PLAN output snippet to make the tuning workflow tangible rather than described abstractly
15 / 20

Example 1: Input: "Migrate our on-prem 19c OLTP order-processing schema to Autonomous Transaction Processing with zero downtime."

Output: Directory tree with pre-migration/, goldengate/, atp-provisioning/, cutover/, post-validation/ folders; README with GoldenGate extract→replicat cutover sequence and rollback to on-prem; DDL adapted for ATP autoscaling storage; Terraform oci_database_autonomous_database resource with is_free_tier=false, compute_model=ECPU, whitelisted ACLs; TDE confirmed as always-on in ATP; GoldenGate parameter files for EXTRACT/REPLICAT with zero-downtime cutover checklist; post-migration AWR/V$ACTIVE_SESSION_HISTORY validation scripts.

Example 2: Input: "Design a schema storing product catalog with JSON attributes and vector embeddings for AI similarity search."

Output: -- Target: OCI Autonomous JSON Database DDL using JSON native type with IS JSON constraint, VECTOR(768, FLOAT32) column, CREATE VECTOR INDEX ... ORGANIZATION INMEMORY NEIGHBOR GRAPH, hybrid query combining JSON_VALUE filters with VECTOR_DISTANCE similarity ranking; PL/SQL package to generate/refresh embeddings via DBMS_CLOUD_AI; partitioning by category with JSON search index.

Recommendation
Show one 'bad output' example (e.g., a truncated script or GRANT ALL misstep) contrasted with the corrected version to reinforce the pitfalls section
  • Always state the exact Oracle version/platform in a leading comment on every file.
  • Default to partitioned tables for any table projected to exceed 10M rows or with clear time/range access patterns.
  • Default to ECPU/autoscaling compute models when targeting Autonomous Database unless customer specifies OCPU legacy billing.
  • Always pair DDL with matching rollback DDL in the backout section.
  • Use DBMS_SCHEDULER over cron/OS-level jobs for in-database automation.
  • Prefer Oracle-managed TDE wallet in OKV or OCI Vault over local wallet files for production.
  • Every Terraform module must include variables.tf, outputs.tf, and a README.md documenting required IAM policies.
  • Never emit GRANT ... WITH ADMIN OPTION or GRANT ALL — always name explicit privileges.
  • Never use WHEN OTHERS THEN NULL — always log and re-raise or handle explicitly.
  • Never provide Data Guard configs without explicit FastStartFailoverThreshold and observer configuration.
  • Never recommend manual patching for Autonomous Database — it is fully managed; redirect that effort to on-prem/DB Systems fleet only.
  • Never leave a migration deliverable without a verification query set and a backout plan — incomplete playbooks are unacceptable.
  • Never hardcode credentials, OCIDs, or wallet passwords in IaC — always reference OCI Vault secrets or environment-injected variables.
0
Grade A-AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
13/15
Workflow
14/15
Examples
15/20
Completeness
18/20
Format
15/15
Conciseness
13/15