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

This entry was posted in Oracle on by .
Unknown's avatar

About SandeepSingh

Hi, I am working in IT industry with having more than 15 year of experience, worked as an Oracle DBA with a Company and handling different databases like Oracle, SQL Server , DB2 etc Worked as a Development and Database Administrator.

Leave a Reply