Analyze Oracle database change impacts before modifying tables, columns, or procedures. Use when developers ask about dependencies, what might break, or need impact reports.
Use this skill when developers ask about database change impacts, dependencies, or what might break when modifying Oracle database objects.
Activate this skill when the user asks questions like:
The oracle-impact CLI must be installed and configured:
pip install -e /path/to/OracleImpactAnalyzer
oracle-impact configure # One-time setup
Find all objects that depend on a table:
oracle-impact analyze-table TABLE_NAME [--schema SCHEMA] [--format markdown|json|excel]
Example:
oracle-impact analyze-table EMPLOYEES
oracle-impact analyze-table EMPLOYEES --schema HR --format json
Understand what breaks if a column is modified:
oracle-impact analyze-column TABLE_NAME COLUMN_NAME --change-type [add|modify|rename|drop]
Examples:
# What breaks if we rename this column?
oracle-impact analyze-column EMPLOYEES PHONE --change-type rename
# Impact of dropping a column
oracle-impact analyze-column ORDERS ORDER_DATE --change-type drop
# Adding a new column (usually low impact)
oracle-impact analyze-column CUSTOMERS EMAIL --change-type add
See what objects call a procedure or function:
oracle-impact analyze-procedure PROCEDURE_NAME [--type PROCEDURE|FUNCTION|PACKAGE]
Examples:
oracle-impact analyze-procedure CALCULATE_BONUS
oracle-impact analyze-procedure GET_EMPLOYEE_DETAILS --type FUNCTION
oracle-impact analyze-procedure PKG_PAYROLL --type PACKAGE
Export comprehensive impact analysis to files:
oracle-impact report TABLE_NAME --format [markdown|excel|json] --output ./reports/
Examples:
# Excel report for stakeholders
oracle-impact report EMPLOYEES --format excel --output ./reports/
# Markdown for documentation
oracle-impact report ORDERS --format markdown --output ./docs/
Verify database connectivity:
oracle-impact test-connection
The analyzer categorizes impacts by risk:
| Level | Score | Description |
|---|---|---|
| CRITICAL | 80-100 | Breaking changes to core business objects |
| HIGH | 50-79 | Multiple dependent objects affected |
| MEDIUM | 20-49 | Limited, manageable impact |
| LOW | 1-19 | Minimal dependencies |
| NONE | 0 | No dependencies found |
When analyzing a table, you'll see:
When analyzing a column change, you'll see:
User: "What depends on the EMPLOYEES table?"
Run:
oracle-impact analyze-table EMPLOYEES
User: "What breaks if I rename EMPLOYEES.PHONE to PHONE_NUMBER?"
Run:
oracle-impact analyze-column EMPLOYEES PHONE --change-type rename
User: "What calls the CALCULATE_BONUS procedure?"
Run:
oracle-impact analyze-procedure CALCULATE_BONUS
User: "Generate an impact report for the ORDERS table"
Run:
oracle-impact report ORDERS --format excel --output ./reports/
Environment variables (set in .env or shell):
ORACLE_HOST=your-db-host
ORACLE_PORT=1521
ORACLE_SERVICE_NAME=your-service
ORACLE_USERNAME=your-user
Password is stored securely in OS keyring after running oracle-impact configure.