环境:运行 Red Hat 7.2,使用 Pacemaker 1.1.13-10.el7_2.2 和 Corosync 2.3.4-7.el7_2.1 实现 Oracle 12c Enterprise Edition Release 12.1.0.2.0 数据库的集群故障转移。
背景:当我在集群外启动数据库时,一切都正常工作,并且可以执行来自其他主机的外部查询。数据库有一个加密钱包,它设置为自动打开,在出现此问题之前,它可以无缝运行。
问题:当我将 Oracle 实例添加到高可用性资源组时,实例启动时没有任何错误(我可以看到)。但是,当尝试从其他主机进行外部连接时,数据库会响应
ERROR at line 1:
ORA-28365: wallet is not open
如果我连接到主机服务器上的数据库并执行任何查询,控制台上不会报告任何错误,并且来自远程主机的查询突然再次开始成功。但是,一旦集群故障转移到另一个节点,问题就会再次出现。被拒绝的查询会导致为数据库 SID 生成跟踪文件,其中包含:
kcbtse_get_tbskey: decrypting encrypted key for pdb 0 tablespace 6 without opening the wallet
kcbtse_get_tbskey: wallet is not opened (ts 0/6)
kcbtse_encdec_tbsblk: DIAG DUMP tsn 0/6 rdba 25165987, afn 6, mode 4
以前有人见过这种问题吗?HA 环境中缺少什么,而 HA 之外又缺少什么?