【故障描述】
今天有客户的DataGuard环境遇到如下问题,
kcrf_decrypt_redokey: wallet is not opened
ORA-28365: wallet is not open
截图如下:
【解决】
报错显示是wallet无法使用,这是启动了TDE技术以后所使用的密钥文件。
解决此问题也就是要能找到透明数据库加密(TDE)钱包文件(ewallet.p12和ewallet.sso)。
所述钱包的位置可以在(ENCRYPTION_WALLET_LOCATION)oracle用户中的 sqlnet.ora文件中设置。
同时,不要忘了,在启动实例时,要打开wallet。命令如下:
startup nomount
alter system set wallet open identified by "&wallet_password";
alter database mount;
alter database open;
如果主库重新创建了key文件,那么备库也会出现这种问题。因此在主数据库中重新密钥主密钥后,执行以下步骤:
1.将钱包文件(ewallet.p12)从主数据库服务器复制到备用数据库的wallet位置
注意:必须删除或重命名备用数据库服务器上钱包位置中的旧钱包文件。 新的ewallet.p12应该在此位置。
2.确保备用数据库上的钱包处于自动登录模式。
完成上述步骤后,MRP恢复,日志开始应用到备用数据库。
【参考文档】
ORA-28365: Wallet Is Not Open On Standby Db (Doc ID 2176823.1)
Apply redo for TSE master key re-key failed: wallet error 28365 (Doc ID 1483167.1)