ORACLE同义词源库锁表导致目标库删除操作报ora 02055 02049 02063 06512

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ORACLE同义词源库锁表导致目标库删除操作报ora 02055 02049 02063 06512相关的知识,希望对你有一定的参考价值。

故障现象:目标库执行存储过程过程中报ora 02055 02049 02063 06512错误
技术分享图片

排查过程:
1、查询该存储过程的110行只是简单的删除动作
技术分享图片

2、通过如下SQL语句查死锁,未见任何死锁
SELECT ‘alter system kill session ‘||chr(39)||l.session_id||‘,‘||s.serial#||chr(39)||‘immediate;‘, l.session_id sid,s.serial#,l.locked_mode,l.oracle_username,l.os_user_name,
s.machine,s.terminal,o.object_name,s.logon_time
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id AND l.session_id = s.sid
ORDER BY sid, s.serial#;

3、RAC另外一个节点,上述同样语句也未见死锁
4、马上想到是否是同义词SYNONYMS ,通过如下语句查询出确实是同义词
技术分享图片
5、进而查询相关的DB_LINK,找到同义词相关表所在库
6、前往该库用步骤二的语句查出有死锁
7、杀死锁
SQL> alter system kill session ‘2015,55997‘immediate;

System altered.
9、再执行目标库的存储过程恢复正常

以上是关于ORACLE同义词源库锁表导致目标库删除操作报ora 02055 02049 02063 06512的主要内容,如果未能解决你的问题,请参考以下文章

MySQL主库手动复制至从库

Oracle 同义词 synonym

解决问题——Oracle 在使用and or时需要注意

解决问题——Oracle 在使用and or时需要注意

Oracle数据库怎样跨库查询?

oracle 锁表时,怎么查出是哪些SQL语句导致了锁表