ORA-26723: user "XXXXX" requires the role "DV_GOLDENGATE_REDO_ACCESS"

While starting the extract on UAT DB env which had been recently moved to exadata we got the below error.As we had redo and archive logfiles on ASM, we used “TRANLOGOPTIONS DBLOGREADER” in extract parameter file.

2012-10-24 22:35:48  ERROR   OGG-00446  Oracle GoldenGate Capture for Oracle, emos_cc.prm:  Opening ASM file +RECO_UMO1/archivelog/2012_10_24/thread_1_seq_224.955.797517005 in DBLOGREADER mode: (26723) ORA-26723: user "GGATE" requires the role "DV_GOLDENGATE_REDO_ACCESS"

The first thing which we did is checked whether the role exists or not.

22:41:53 [email protected] > select role from dba_roles where role like 'DV_%';
no rows selected

Ahh, No roles starting with DV_ exists in the db. Then why is GOldenGate asking for this role.Doing some search on tahiti.oracle.com pointed to a document which mentioned

Grant the DV_GOLDENGATE_REDO_ACCESS role to any user who is responsible for using the Oracle GoldenGate TRANLOGOPTIONS DBLOGREADER method to access redo logs in an Oracle Database Vault environment. This enables the management of Oracle GoldenGate processes to be tightly controlled by Database Vault, but does not change or restrict the way an administrator would normally configure Oracle GoldenGate.

So, now we have a clue. Its something to do with Database Vault.The UAT env had recently been moved to exadata box, prior to which it on a normal server where the extract was running fine.

22:42:05 [email protected] > SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';
PARAMETER                                                        VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
Oracle Database Vault                                            TRUE

Above, shows Database Vault option enabled, but as the database was restored from the backup of the db on normal server, we didn’t had any DVSYS and DVF schemas.

Oracle Database Vault has the following schemas:
DVSYS Schema: Owns the Oracle Database Vault schema and related objects
DVF Schema: Owns the Oracle Database Vault functions that are created to retrieve factor identities

As, vault wasn’t required, we used CHOPT utility available from 11.2 for enabling/disabling database features.

After shutting down the db, ran chopt on all the nodes --
abcde0025: (abncu1) /u01/abncu/admin> chopt disable dv
Writing to /u01/app/oracle/product/
/usr/bin/make -f /u01/app/oracle/product/ dv_off ORACLE_HOME=/u01/app/oracle/product/
/usr/bin/make -f /u01/app/oracle/product/ ioracle ORACLE_HOME=/u01/app/oracle/product/
abcde0025: (abncu1) /u01/abncu/admin>

Started the db and checked for the value which was disabled (FALSE) and GoldenGate extract started working.

[email protected] > SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';
Oracle Database Vault   FALSE


One thought on “ORA-26723: user "XXXXX" requires the role "DV_GOLDENGATE_REDO_ACCESS"

Leave a Reply