Plan External Data Access
Choose the SQL Access Path
| Access Path | Definition Lifecycle | Use when | SQL Form |
|---|---|---|---|
| Persistent external table | Stored in the Oracle data dictionary. | Multiple applications or queries require a stable object, grants, views, and statistics. | orders_ext |
| Inline external table | Exists for one SQL statement. | A query needs a temporary definition or query-specific location. | EXTERNAL (...) |
| Mounted catalog table | Metadata is resolved from an authoritative source through a database-local mount. | Many source tables must remain discoverable without a local definition for each table. | sales.orders@lake_catalog |
Note - Delta Sharing is not a fourth access path. It is an ORACLE_BIGDATA access protocol that can be used through an applicable persistent external table, inline external table, or mounted catalog table.
Three SQL Paths to External Data
| Oracle SQL | → | Definition used by Oracle AI Database | → | External Source |
|---|---|---|---|---|
SELECT ... FROM orders_ext |
→ | Persistent definition in the data dictionary | → | Files or a supported sharing endpoint |
SELECT ... FROM EXTERNAL (...) |
→ | Query-scoped inline definition | → | Files or a supported sharing endpoint |
SELECT ... FROM sales.orders@lake_catalog |
→ | Metadata resolved through a mounted catalog | → | Catalog-managed table and its data |
Understand the External-Table Contract
For a persistent external table, Oracle AI Database owns the relational definition, object grants, views, and optimizer statistics. The source system owns the files, their availability, lifecycle, and provider-side authorization. Creating the external table does not copy or take ownership of the data.
External tables are read-only for ordinary SQL access. Query, join, aggregate, and materialize their results, but do not issue INSERT, UPDATE, or DELETE against the external files. ORACLE_DATAPUMP supports specific unload workflows; that exception does not turn an external table into a general DML target.
For details about external-table ownership, access drivers, restrictions, and query behavior, see External Tables Concepts.
Select an Access Driver and Source Format
The following table summarizes the access drivers and their primary roles.
| Access Driver | Primary Role | Use in this guide |
|---|---|---|
ORACLE_BIGDATA |
Query supported lakehouse files and protocols, including Parquet, ORC, Avro, CSV or text, JSON documents, Apache Iceberg, and Delta Sharing where supported. | Primary lakehouse access driver. |
ORACLE_LOADER |
Read text files through SQL*Loader-style record and field parsing. | Traditional server-side text-file workflows. |
ORACLE_DATAPUMP |
Read or create Oracle Data Pump binary files. | Oracle-proprietary unload and reload workflows. |
The following table describes Iceberg source formats.
| Source | Definition |
|---|---|
| Parquet, ORC, or Avro | Use embedded schema metadata only where the selected API supports inference. Declare a stable compatible Oracle contract when consumer names or types must not drift. |
| CSV or text | Define columns, delimiters, quoting, headers, character set, null handling, and date or timestamp formats explicitly. |
| JSON documents | Use the supported JSON-document mapping for the access driver and expose the document through the intended Oracle JSON model. |
| Apache Iceberg | Resolve the Iceberg metadata, snapshots, manifests, and files through a supported path in Chapter 4; do not treat the table as an arbitrary folder of Parquet files. |
| Delta Sharing | Treat it as an access protocol whose table data is exposed through the supported ORACLE_BIGDATA configuration, not as a file or table format. |
For details about supported file formats and ORACLE_BIGDATA access, see Access External Files with ORACLE_BIGDATA.