ORA-12838: cannot read/modify an object after modifying it in parallel
2016-05-25 16:37
1081 查看
今天涛神说程序报ORA-12838错误,调出程序sql发现是一个大批量的insert,里面使用了
/*+ append */的hint,于是下面做了段模拟这个错误实验
session 1
session 2
进一步查询发现表上加了类型为6的锁
我们知道 locked mode 6: Lock table t in exclusive mode, 排他锁限制最高的TM锁,会禁止执行任何类型的DML语句
/*+ append */的hint,于是下面做了段模拟这个错误实验
session 1
SQL> create table tb_test as select * from emp where 1=2; Table created. SQL> insert /*+ append */ into tb_test select * from emp; 14 rows created. -- 注意/*+ append*/ 没有commit SQL> select * from tb_test; select * from tb_test * ERROR at line 1: ORA-12838: cannot read/modify an object after modifying it in parallel
session 2
SQL> select * from tb_test; no rows selectedsession 1 报了ORA-12838的错误,session正常,说明了在同一个事物中如果使用/*+ append */ insert如果没有commit去做dml操作会这个错误,
进一步查询发现表上加了类型为6的锁
SQL> col object_name for a20; SQL> select t2.object_name,t1.LOCKED_MODE from v$locked_object t1 join dba_objects t2 on t1.OBJECT_ID = t2.object_id; OBJECT_NAME LOCKED_MODE -------------------- ----------- TB_TEST 6
我们知道 locked mode 6: Lock table t in exclusive mode, 排他锁限制最高的TM锁,会禁止执行任何类型的DML语句
相关文章推荐
- Oracle SQL Developer连接报错(ORA-12505)的解决方案(两种)
- ORA-00392ORA-00312日志正在清除故障
- plsql连接oracle数据库报ora 12154错误解决方法
- 解决报错ora-32035的方法分析
- Oracle归档日志写满(ora-00257)了怎么办
- ORA-00392ORA-00312日志正在清除故障
- ora文件配置
- SAP R3 Oracle 9i ORA-06413 连接未打开错误
- ORA-4031错误
- ORA-12154: TNS: 无法解析指定的连接标识符(原创)
- 数据库的一些概念
- oracle性能优化学习062201
- Oracle数据库 ORA-600 [13013]故障处理 碰到同样问题
- Oracle 11g ORA-12560: TNS: 协议适配器错误!解决方法
- Oracle 常见问题记录
- oracle报错:ORA-00054
- 重庆思庄Orace 11g OCP认证 2015年12月周末班预约中
- EXPDP ORA-39083
- sqlnet.ora
- ORA-00000 to ORA-00852错误速览