Skip to main content
Oracle 19c and later are fully supported. If you use an Oracle version older than 19c, please contact support@datafold.com before proceeding.
Column-level Lineage is not currently supported for Oracle.
Steps to complete:
  1. Create a Datafold user in Oracle
  2. Grant read access to your data
  3. Grant required system privileges
  4. Configure the connection in Datafold
A full script is available at the bottom of this page.

Create a Datafold user

Datafold connects to Oracle using a dedicated database user. This user needs its own schema where Datafold can create temporary working tables and views during data diffs. If your Oracle instance uses a multitenant architecture (CDB/PDB), first switch to the pluggable database where your data lives:
Then create the Datafold user:

Grant read access to your data

Datafold needs SELECT access on every table you want to diff. There are two approaches depending on how broad your access requirements are. If Datafold should be able to diff any table in the database, grant the SELECT ANY TABLE system privilege:
This is the simplest approach and avoids the need to update grants each time new tables are added.

Option B: Grant access per schema

If you need to restrict Datafold to specific schemas, run the following block for each schema. Replace YOURSCHEMA with the schema name:
Repeat for each schema that contains tables you want to diff.
Option B only grants access to tables that exist at the time you run the script. If new tables are added later, you will need to re-run the grant or add individual GRANT SELECT statements for those tables.

Grant required system privileges

Datafold requires two additional privileges to function correctly.

Tablespace quota (required)

During a diff, Datafold creates temporary tables in the DATAFOLD schema to store intermediate results. The user needs permission to consume disk space for these tables. You can grant unlimited tablespace:
Or, if your DBA prefers to cap disk usage, assign a specific quota instead:

Full script

Copy and customize this script for your environment. See the comments for what to change.

Configure in Datafold

Once the Oracle user is created and grants are in place, add the connection in Datafold.
Field NameDescription
NameA display name for this connection within Datafold (e.g., “Oracle Production”)
HostThe hostname or IP address of your Oracle database server
PortThe Oracle listener port (default: 1521)
UserDATAFOLD (the user created above)
PasswordThe password you set when creating the DATAFOLD user
Connection typeChoose Service or SID depending on your Oracle setup. Use Service if unsure — it is the default for most modern Oracle configurations.
Service (or SID)The Oracle service name or SID to connect to (e.g., XEPDB1 or your database name)
Schema for temporary tablesDATAFOLD — this is the schema created automatically when you created the DATAFOLD user
Click Create. Your data connection is ready!

Troubleshooting

ORA-00942: table or view does not exist

The Datafold user does not have SELECT access on the table being diffed. Verify that you ran the grants from Step 3 for the correct schema.

ORA-28000: the account is locked

The DATAFOLD user account has been locked, typically due to failed login attempts. Unlock it with:

ORA-01950: no privileges on tablespace

The DATAFOLD user does not have a tablespace quota. Run the tablespace grant from Step 4.