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、再执行目标库的存储过程恢复正常

原文地址:http://blog.51cto.com/yunlongzheng/2124630

时间: 2024-10-09 23:24:58

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

ORACLE查询数据库的锁表情况

  查询数据库的锁表情况语句如下: SELECT p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name FROM v$process p,v$session a, v$locked_object b,all_objects c WHERE p.addr=a.paddr AND a.process=b.process AND c.object_id=b.object_id 如果表因为某些情况出现死

MySQL 库、表、记录、相关操作(2)

库.表.记录.相关操作(2) 字段操作 create table tf1( id int primary key auto_increment, x int, y int ); # 修改 alter table tf1 modify x char(4) default ''; alter table tf1 change y m char(4) default ''; # 增加 mysql>: alter table 表名 add 字段名 类型[(长度) 约束]; # 末尾 eg>: alte

1.Oracle数据库查看用户锁表和对表解锁的sql语句

① 查看用户锁表 select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_mode from v$locked_object lo, dba_objects ao, v$session sess where ao.object_id = lo.object_id and lo.session_id = sess.sid ② 解锁语句 alter system kil

Sql Server2008温故而知新系列01:库和表的创建及删除

sql server中创建数据库和创建表的命令大致相似: 1 --创建数据库: create database database_name 2 create database myDB 3 4 --在新建的库中新建表:create table table_name (field_name1 type constraint,field_name2 type constraint,…………) 5 use mydb 6 go 7 create table tstb 8 ( 9 id int ident

数据库的实现(创建库、表、约束;删除表、约束)

SQLServer数据库的基础知识的回顾 1)主数据文件:*.mdf 2)次要数据文件:*.ndf 3)日志文件:*.ldf 每个数据库至少要包含两个文件:一个数据文件和一个日志文件 如何查看SQL Server的帮助==================快捷键F1 一.创建数据库 1.语法 1 create database 数据库名 2 on primary 3 ( 4 <数据文件参数>[,......n] [<文件组参数>] 5 ) 6 log on 7 ( 8 {<日志

pt-archiver归档数据 源库和目标库是否会出现不一致

背景 归档的表在源库和目标库都要存在 pt-archiver归档表的场景有:不删原表数据,非批量插入目标库:不删原表数据,批量插入目标库:非批量删除原表数据,非批量插入目标库:批量删除原表数据,批量插入目标库 版本 pt-archiver --version pt-archiver 3.0.12 select @@version; +-----------+ | @@version | +-----------+ | 8.0.12 | +-----------+ 是否会出现不一致情况 源库已经d

锁_rac环境kill锁表会话后出现killed状态(解决)

原创作品,出自 "深蓝的blog" 博客,深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/46876961 rac生产库杀掉锁表会话出现killed状态处理 环境: 操作系统:CentOS 6.4 64BIT 数据库:Oracle RAC 11.2.0.4 R2 64bit 在某项目中,进行大数据抽取任务时,抽取出现错误,需要对大表进行重新抽取.于是取消insert操作,然后执行truncate操作. 如下,报错了,提

针对MyISAM锁表的解决方案

最近服务器上经常出现mysql进程占CPU100%的情况,使用show processlist命令后,看到出现了很多状态为LOCKED的sql.使用show status like 'table%'检查Table_locks_immediate和Table_locks_waited,发现Table_locks_waited偏 大.出问题的表是MyISAM,分析大概是MyISAM的锁表导致. MyISAM适合于读频率远大于写频率这一情况.而我目前的应用可能会出现在某一时段读写频率相当.大致如下:

mysql锁表与不锁表设置主从复制的方法

有时候MySQL主从同步不一致比较严重的时候,需要手动同步.先说说在锁表的情况下如何操作:以下是其简要过程 1.先对主库锁表FLUSH TABLES WITH READ LOCK; 2.备份数据mysqldump -uroot -p -hlocalhost > mysql.bak.sql 3.解锁主库unlock tables; 4.查看主库的binlog文件和位置show master status; 找出File和Position 5.使用scp命令把文件移动到从库scp mysql.bak