A collection of Oracle database administration scripts and SQL utilities for monitoring, maintenance, performance tuning, and disaster recovery operations organized by skill domain (data-guard, routine-maintenance, performance-tuning-diagnostics, advanced-features, monitoring-alerting)
Server has 10 tools with mixed quality. Naming is generally verb-forward (dg_observer_status, set_server_alert_threshold, index_analysis) but some are vague (partition_maint_report). Descriptions are present and detailed (100-300 chars typical), explaining WHAT and WHEN. However, input schemas are visible only for 6 of 10 tools in the provided source; 4 tools (dg_observer_status, server_alert_thresholds_report, index_analysis, partition_maint_report) show no explicit schema in the code excerpt. Parameter descriptions are strong where schemas exist (e.g., dg_observer_start has 4 params with clear descriptions). Output schemas are not documented. Error handling is mentioned in descriptions (idempotent, reversible, dry-run patterns) but no structured error recovery guidance. Security: no credentials in params (uses wallet aliases), but no explicit permission gates or audit logging visible. Composition: tools are single-purpose and chainable (e.g., index_analysis → index_maintenance). Overall: solid mid-tier server with good intent but incomplete schema visibility and missing output documentation.
START OBSERVER as a background process. Launches the Data Guard Fast-Start Failover observer for monitoring primary and standby databases. Idempotent: an observer already running results in no-op. Reversible: observer only watches; it can initiate failover ONLY if FSFO is already ENABLED.
SHOW FAST_START FAILOVER + SHOW OBSERVER. Read-only observation of Data Guard Fast-Start Failover and observer status.
STOP OBSERVER. Stops the Data Guard Fast-Start Failover observer process. Idempotent: no observer running results in no-op. Reversible: stopping the observer pauses FSFO monitoring; restart with start.
Read-only index strategy and health analysis report. Finds unused indexes, redundant/overlapping indexes, unusable/invisible indexes, missing-index candidates from optimizer findings, and degraded (high clustering/many leaf-block splits) indexes. Reads DBA_INDEXES, DBA_IND_COLUMNS, DBA_INDEX_USAGE, DBA_ADVISOR_*.
COALESCE or ONLINE REBUILD a single non-partitioned index. COALESCE merges adjacent free leaf blocks in place (fully online, no rebuild). REBUILD is always issued ONLINE so concurrent DML is never blocked; old index stays usable until atomic swap. Idempotent and reversible. Refuses partitioned indexes (structural DDL = TIER 3).
Four tools lack visible input schemas in source code (dg_observer_status, server_alert_thresholds_report, index_analysis, partition_maint_report). Cannot verify parameter types, constraints, or LLM-parseable definitions.
No output schemas documented for any tool. LLMs cannot predict response structure, forcing them to parse unstructured output or make assumptions about field names and types.
Naming ambiguity: 'partition_maint_report' is vague (does it report on maintenance, or report maintenance actions?). Should be 'list_partitions' or 'describe_partition_inventory' for clarity.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 45 | 2026-07-28+ | v2 |
ADD PARTITION to an already-partitioned table. Pre-creates the next RANGE/LIST partition. Idempotent: add of an existing/auto-interval partition results in no-op. Reversible: the new empty partition can be dropped. Refuses to convert heap tables to partitioned (structural TIER 3).
DROP PARTITION from an already-partitioned table. Drops a normally empty partition. Idempotent: drop of a missing partition results in no-op. Reversible only if partition is empty; data loss if non-empty (requires -AllowDataLoss flag). Requires -ConfirmDrop in addition to --execute.
Read-only partitioning inventory report. Shows partitioned tables, partition details, and unusable partition indexes.
Read-only report of in-DB Server-Generated Alert thresholds from DBA_THRESHOLDS and DBA_OUTSTANDING_ALERTS. Shows configured warning/critical thresholds and currently outstanding server alerts.
Sets ONE in-DB Server-Generated Alert threshold via DBMS_SERVER_ALERT.SET_THRESHOLD. Idempotent: if the target metric already has exactly the requested warning/critical values, emits KEYVAL applied=noop and changes nothing. Reversible: re-running with old values or NULL restores prior state.
Error handling descriptions mention idempotency and reversibility but do not provide structured error recovery guidance. No indication of retryable vs. fatal errors or what the LLM should do on failure.
No tool annotations visible (readOnlyHint, destructiveHint, idempotentHint). Descriptions mention these properties but MCP protocol annotations are absent, limiting agent planning.