ORACLEDMLLOCK时找出对应SESSION正执行的SQL语句(ORA-12841无法变更事务处理中的会话并行DML状态).docVIP

  • 47
  • 0
  • 约1.39千字
  • 约 2页
  • 2017-06-12 发布于北京
  • 举报

ORACLEDMLLOCK时找出对应SESSION正执行的SQL语句(ORA-12841无法变更事务处理中的会话并行DML状态).doc

问题描述: SQL alter session enable parallel dml; ERROR: ORA-12841: 无法变更事务处理中的会话并行 DML 状态 解决: 1、查找dml lock的锁的sid SQL select session_id, owner,name,MODE_HELD from sys.dba_dml_locks; SESSION_ID OWNER NAME MODE_HELD ---------- ------------------------------------------------------------ ------------------------------------------------------------ -------------------------- 373 SCOTT T_DRIVEWAYDATA Row-X (SX) 245 SCOTT T_DRIVEWAYDATA Row-X (SX) 373 SYS SEQ$ Row-X (SX) 124 SYS PLAN_TABLE$ Row-X (SX) 126 SCOTT T_DRIVEWAYDATA Row-X (SX) 363 SCOTT T_DRIVEWAYDATA Row-X (SX) 已选择6行。 2、依据上文找到sid,查询锁住的sql语句 SQL select b.sql_text from v$session a,v$sqlarea b where a.sql_hash_value=b.hash_value and a.sid=126; SQL_TEXT ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ---------------- SELECT T_DRIVEWAYDATA_SEQUENCE.NEXTVAL FROM DUAL 原来此时SID为126的session正在对表T_DRIVEWAYDATA进行INSERT操作,而表中有一个自增的主键。

文档评论(0)

1亿VIP精品文档

相关文档