问题描述
突然发现应用出现无法从套接字获取更多数据的告警,检查数据,发现生产rac的节点二数据库出现重启,asm日志报错如下:
Thu Apr 11 17:38:58 2019
NOTE: ASM client x:epay disconnected unexpectedly.
NOTE: check client alert log.
NOTE: Trace records dumped in trace file //grid/crs_base/diag/asm/+asm/+ASM2/trace/+ASM2_ora_27530.trc
Thu Apr 11 17:39:21 2019
NOTE: client x:epay registered, osid 5058, mbr 0x2
数据库alert日志见附件
Dump continued from file: /epayrac/oracle/diag/rdbms/x/x/trace/x_ora_2485.trc
ORA-07445: ³öÏÖÒì³£´íÎó: ºËÐÄת´¢ [kgxExclusive()+60] [SIGSEGV] [ADDR:0xC0] [PC:0x10910225C] [Address not mapped to object] []
专家解答
从trace看,是一个procedure调用的SQL SERVER的表不存在导致的(透明网关?)
核实对端对象是否存在?权限是否正确?
直接SQL访问测试并处理问题。
kgxExclusive - kernel generic mutex/communication mutex get in X mode
这个是和解析有关的报错,正是这个导致这些会话报错,随后PMON清理mutex是吧从而重启的实例。
MOS没有类似的信息,也可能是相关的BUG,建议调试那个存储过程或者升级透明网关软件。
BTW:
透明网关设计不同数据库的交换,本身相对不稳定,可能的建议使用ogg等软件复制到本地处理更方便。