ORA-28382: Global wallet operation in RAC failed

ORA-28382: Global wallet operation in RAC failed

Error
During setting the encryption key in RAC environment.

SQL> alter system set encryption key identified by "*";
ERROR at line 1:
ORA-28382: Global wallet operation in RAC failed

Solution:
In RAC environment, following are the points need to check for the solution

1. If you are using the shared/Centeralized location for wallet then you need to modified the TNS_ADMIN to point the sqlnet.ora file for all nodes.
2. If you are not using centeralized/shared location for wallet then Create the wallet and the master key on the first node and Copy the wallet to all other nodes.
3. ORACLE_BASE environment variable is set correctly in all nodes before starting the databases.
4. Sqlnet.ora of each instance should have the location of a local copy of the RAC instance’s wallet.
5. If need to change key, only one instance sets the Master Key then copied to all instances location as specified in SQLNET.ora file and then wallet is reopened on all instances.
6. A wallet needs to be opened on all instances of RAC databases in order to have the wallet open in RAC.
7. A wallet needs to be closed on all instances of RAC databases in order to have the wallet closed in RAC.
8. If you have two database at RAC environment then specify the ORACLE_UNQNAME parameter for using wallet.

--Use DB_UNQNAME parameter for separate the wallet of two databases running from same home in SQLNET.ORA file
ENCRYPTION_WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = E:\oracle\%ORACLE_UNQNAME%))


--Set the environment variable in RAC environment
srvctl setenv database -d prod -T "ORACLE_UNQNAME=prod"
srvctl setenv database -d dev -T "ORACLE_UNQNAME=dev"

Check the wallet on RAC instances

SQL> select from v$encryption_wallet;

WRL_TYPE WRL_PARAMETER               STATUS   
-------- --------------------------- --------- 
file     /u01/oracle/admin/XE/wallet OPEN

SQL> select inst_id,WRL_TYPE,WRL_PARAMETER,STATUS from gv$encryption_wallet;

INST_ID WRL_TYPE WRL_PARAMETER                        STATUS   
------- -------- ------------------------------------ --------- 
1       file     /u01/oracle/dbhome_1/admin/XE/wallet OPEN
2       file     /u01/oracle/dbhome_1/admin/XE/wallet OPEN

SQL> SELECT * FROM v$encryption_wallet;

WRL_TYPE WRL_PARAMETER              STATUS         WALLET_TYPE WALLET_OR KEYSTORE FULLY_BAC
-------- -------------------------  -------------- ----------- --------- -------- ----------
FILE     C:\ORACLE\ADMIN\XE\WALLET  NOT_AVAILABLE  UNKNOWN     SINGLE    NONE     UNDEFINED

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.