admin 管理员组

文章数量: 887021


2024年1月16日发(作者:logout)

问题描述:

SQL> alter session enable parallel dml;

ERROR:

ORA-12841: 无法变更事务处理中的会话并行 DML 状态

解决:

1、查找dml lock的锁的sid

SQL> select session_id, owner,name,MODE_HELD from _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 _text from v$session a,v$sqlarea b where _hash_value=_value and ='126';

SQL_TEXT

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

----------------

SELECT T_DRIVEWAYDATA_L FROM DUAL

原来此时SID为126的session正在对表T_DRIVEWAYDATA进行INSERT操作,而表中有一个自增的主键。


本文标签: 变更 并行 自增 操作 表中