Skip to Content
SourcesOracle

Oracle

Oracle

Scan Oracle service objects with optional view lineage.

Category
Databases
Source type
ORACLE
Produces
table

Oracle Database holds the transactional systems of record in most large enterprises — and typically the oldest data, in the schemas nobody has audited in a decade. That combination is exactly what a scan is for.

What you need to connect

Host, port, and a service name (for example TEST_PDB — not an SID), plus a database user. Read privileges are sufficient: CREATE SESSION, SELECT on the objects you want scanned, and SELECT_CATALOG_ROLE if you want view lineage.

The Oracle client is bundled in thin mode, so there is no Instant Client installation to manage on the scanning host.

What Classifyre reads

Tables and views across the schemas you allow. Oracle instances tend to be large, so scope them: allow specific schemas, deny the ones you don’t care about, name exact objects, or cap the number of objects per scan.

Shared behaviour · SQL databases

One asset per table or view, never one per row. The asset carries the table's structure — database, schema, table name, object type, its columns and their types, and a row-count estimate — and its content is a sample of real rows, formatted so a detector reads actual values rather than a schema dump.

How many rows, and which ones, is entirely up to the sampling strategy. Large tables are paged through by key rather than by OFFSET, so a scan that stops halfway can resume from where it left off instead of re-reading from the top.

Read-only throughout. The connector issues catalog queries and bounded SELECTs. Nothing is written back, and a read-only account is the right account to give it.

Relationships come out of the engine's own catalog: foreign keys are recorded as REFERENCE links — useful, but they move no data, so they never become a lineage hop, and a view and the tables it reads from are recorded as FLOW — real lineage, with column-level detail parsed out of the view's SQL where the SQL makes that possible. See Lineage.

Metadata on every asset

Asset kind · table

FieldTypeAlways presentWhat it is
databasestringYesDatabase or catalog name
table_namestringYesTable name
table_typestringYesObject type (TABLE/VIEW)
schemastringNoSchema name
columnsobject[]NoColumns as {name, type} objects
row_countintegerNoEstimated number of rows
object_typestringNoSource object type
lineageobjectNoView lineage extraction settings

Lineage

Lineage

Oracle’s dependency metadata records what each view reads, so views and their base objects are recorded as lineage. Turn on view column lineage to also recover which upstream columns feed each view column.

Oracle folds unquoted names to upper case, and Classifyre names objects the same way — so a table referenced by a Tableau or Power BI scan matches the one an Oracle scan produced instead of appearing twice. See Lineage & Relationships.

Worth knowing

  • Oracle’s built-in schemas (SYS, SYSTEM, XDB and friends) are excluded automatically — you don’t have to deny them by hand.
  • Autonomous Database and RDS for Oracle connect the same way; supply the service name from your connection descriptor.

Configuration

Beyond the fields below, every source also has the settings shared by all of them: the sampling strategy, the detectors to run, the scan schedule, and the compute limits for its scan jobs.

Required

Without these, the source will not save.

FieldTypeRequiredWhat it doesDefault
requiredobjectYesno extra properties
hoststringYesOracle host endpointlocalhost
portintegerYesOracle TCP portmin 1, max 655351521
service_namestringYesOracle service name (for example, TEST_PDB)

Secrets

Stored encrypted and never shown again after you save them. See Configuration & Fields.

FieldTypeRequiredWhat it doesDefault
maskedobjectYesno extra properties
passwordstringYesOracle login password
usernamestringYesOracle login username

Optional

Everything you can tune. Sensible defaults apply when you leave them alone.

FieldTypeRequiredWhat it doesDefault
optionalobjectNono extra properties
connectionobjectNoConnection tuning for Oracle.no extra properties
connection.connect_timeout_secondsintegerNoConnection timeout in secondsmin 1, max 12010
scopeobjectNoSchema, object, and lineage extraction scope.no extra properties
scope.exclude_schemasarrayNoSchema denylist (exact schema names)["SYS","SYSTEM","DBSNMP","WMSYS","CTXSYS","XDB","MDSYS","ORDSYS","OUTLN","ORDDATA"]
scope.exclude_schemas[]stringNo
scope.include_objectsarrayNoOptional object allowlist. Accepted forms: schema.object or service.schema.object
scope.include_objects[]stringNo
scope.include_schemasarrayNoOptional schema allowlist (exact schema names)
scope.include_schemas[]stringNo
scope.include_tablesbooleanNoInclude table assets in extractiontrue
scope.include_view_column_lineagebooleanNoEnable view column lineage collection from Oracle dependency metadatatrue
scope.include_view_lineagebooleanNoExtract coarse lineage links from views to referenced tables/viewstrue
scope.include_viewsbooleanNoInclude view assets in extractiontrue
scope.table_limitintegerNoOptional cap on number of table/view assets extractedmin 1
Last updated on