Databases

Oracle Database

ALL_SOURCE for PL/SQL bodies, DBA_TAB_MODIFICATIONS for write activity, DBA_SCHEDULER_JOBS for schedules.

Oracle estates concentrate more pipeline logic inside the database than any other platform. Packages containing thousands of lines of PL/SQL, scheduled by DBMS_SCHEDULER, writing to tables in the same instance, are the normal shape — and almost none of it is in source control.

That makes Oracle both the hardest estate to reason about without reading the database and the most rewarding once you do. ALL_SOURCE and ALL_DEPENDENCIES together yield a genuinely complete transformation graph, which is not true of any other platform here.

What is read

What Decim reads from Oracle Database

Every item below is read-only, and each is a specific view, endpoint or file rather than a category of access. If something here is unacceptable in your environment, it can be removed from the query catalogue — see the agent for how that works.

Oracle Database — metadata sources
What From Why it matters
PL/SQL bodiesALL_SOURCEPackage, procedure and function text, line by line
Dependency edgesALL_DEPENDENCIESWhat each object references, and of what type
Write activityDBA_TAB_MODIFICATIONSInserts, updates and deletes since the last statistics gather
SchedulesDBA_SCHEDULER_JOBS, DBA_SCHEDULER_JOB_RUN_DETAILSDBMS_SCHEDULER definitions and run history
Object change timesALL_OBJECTS.LAST_DDL_TIMEWhen a package was last recompiled
Live contentionV$SESSION, V$LOCKBlocking chains during a stall
Column metadataALL_TAB_COLUMNSTypes, precision and nullability

Permissions required

Written out in full, because "read-only access" is not a specification. Nothing below grants the ability to write, and row access is requested only on the specific tables you name.

Read-only grants sql
CREATE USER decim_agent IDENTIFIED BY "...";
GRANT CREATE SESSION TO decim_agent;

-- Catalog and dictionary. SELECT_CATALOG_ROLE covers most DBA_ views.
GRANT SELECT_CATALOG_ROLE TO decim_agent;

-- Dynamic performance views for contention evidence.
GRANT SELECT ON V_$SESSION TO decim_agent;
GRANT SELECT ON V_$LOCK    TO decim_agent;

-- Reconciliation tables only.
GRANT SELECT ON SALES.INTAKE_BATCH          TO decim_agent;
GRANT SELECT ON SALES.REJECTED_TRANSACTIONS TO decim_agent;

-- Note the V_$ form: V$SESSION is a public synonym for V_$SESSION and
-- cannot be the object of a GRANT.

What it builds

What this source contributes to the pipeline topology and to the evidence available during an investigation:

  • A near-complete transformation graph from PL/SQL bodies and dependencies
  • Scheduled work and its run history from DBMS_SCHEDULER
  • Target nodes and write volumes from DBA_TAB_MODIFICATIONS
  • Recompilation events that correlate with an incident window

Nodes learned from a definition are marked declared; nodes observed running are marked observed; nodes both declared and observed are verified. Where two sources disagree, the disagreement is recorded as a drift note rather than resolved silently.

Failure modes

Failure modes it surfaces

What this source is uniquely good at proving — and, just as usefully, at disproving. An investigation that can refute a hypothesis cheaply is worth as much as one that confirms it.

Failure modes Oracle Database evidence distinguishes
Failure mode The signal
Package recompiled mid-incidentLAST_DDL_TIME inside the window
Scheduled job stopped silentlyGap in JOB_RUN_DETAILS with no failure row
Load wrote nothingINSERTS flat in DBA_TAB_MODIFICATIONS
Blocking during a stallBlocker chain in V$SESSION

Limits

What this integration cannot tell you. Stated because an investigation that overstates its sources produces confident wrong answers, which is worse than an honest blocked.

  • ALL_SOURCE shows only objects the connecting user can see; a wrapped package body is unreadable by anyone
  • Multitenant instances need the grants applied per PDB, not once on the CDB
  • V$ views are instance-local — a RAC cluster needs GV$ to see the whole picture

Related integrations

  • SQL Server — Reads catalog metadata, procedure bodies and write activity — the definitions git never sees.
  • Informatica PowerCenter — The repository database holds mappings, sessions and run statistics — including per-target row counts.
  • cron & systemd timers — The scheduler with no database. Reads crontabs, timer units and journal history.

See all integrations, or how the sources are combined into one graph.

Get started

Investigating a Oracle Database pipeline?

Bring an incident you already know the answer to. If Decim gets it wrong, that is a more useful demo than one where it doesn't.