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