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 , DELETE to 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.