Oracle Database Privileges
| Privilege | Extract | Replicat All Modes | Purpose | 
|---|---|---|---|
| 
 | No | No | Connect to the database | 
| 
 | No | No | Required to add the heartbeat table view. | 
| 
 | No | No | Create objects. In Oracle Database 12cR1 and later, instead of
                                             
 | 
| 
 | No | No | Perform administrative changes, such as enabling logging. | 
| 
 | No | No | Required for multitenant architecture and
                                                 | 
| 
 | Yes | Yes | This is required for Autonomous Databases (ATP
                                        and ADW) Extract and Replicat. Extracts in the Root
                                        container ( | 
| Privileges granted through
                                             | No | No | (Extract) Grants privileges for Extract, including the logmining server. (Replicat) Grants privileges for both non-integrated and integrated Replicat, including the database inbound server. | 
| Any or all of optional privileges of
                                             | No | No | 
 | 
| Grant the following privileges connected as
                                             
 
 | No | No | Capture from Data Vault | 
| Grant Replicat the privileges in
                                             
 
 
 
 
 
 | No | No | Capture from Data Vault | 
| If DDL replication is performed, grant the following as Database Vault owner: 
 | No | No | Capture from Data Vault | 
| 
 
 | NA | No | Apply replicated DML to target objects | 
| 
 | NA | No | Use these privileges for the Replicat
                                    user, instead of granting INSERT,UPDATE,DELETEto every
                                    table, if replicating every table. | 
| DDL privileges on target objects (if using DDL support) | NA | No | Issue replicated DDL on target objects | 
| 
 | NA | No | Lock target tables. Only required for initial load using direct bulk load to SQL*Loader. | 
| 
 | No | No | Allow all privileges to work properly on dictionary tables. | 
| 
 | No | NA | Use a newer Oracle ASM API. | 
Here's an example of the list of permissions granted for the Oracle database root container:
DROP USER c##ggadmin CASCADE;
CREATE USER c##ggadmin IDENTIFIED BY passw0rd CONTAINER=all DEFAULT
TABLESPACE GG_DATA TEMPORARY TABLESPACE temp;
ALTER USER c##ggadmin SET CONTAINER_DATA=all CONTAINER=current;
GRANT CREATE SESSION to c##ggadmin;
GRANT CREATE VIEW to c##ggadmin;
GRANT CONNECT to c##ggadmin CONTAINER=all;
GRANT RESOURCE to c##ggadmin;
GRANT ALTER SYSTEM to c##ggadmin ;
GRANT SELECT ANY DICTIONARY to c##ggadmin ;
EXEC DBMS_GOLDENGATE_AUTH.GRANT_ADMIN_PRIVILEGE('c##ggadmin');
ALTER USER c##ggadmin QUOTA unlimited ON GG_DATA;
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='c##ggadmin' ORDER BY 2;In this example, DBA privilege is not provided but the user will be able
                to access the DBA_SYS_PRIVS package.