본문 바로가기

Lock6

ORA-12838: cannot read/modify an object after modifying it in parallel 해당 에러는 parallel 이나 direct load 로 table에 insert를 사용하고 트랜잭션의 종료를 제대로 해주지않고 select 문 수행시 발생합니다. 해결방법은 commit이나 rollback명령어를 수행하여 트랜잭션을 종료시키는 방법이 있습니다. $ oerr ora 12838 12838, 00000, "cannot read/modify an object after modifying it in parallel" // *Cause: Within the same transaction, an attempt was made to add read or // modification statements on a table after it had been modified in parallel // or.. 2022. 9. 28.
InnoDB Locking InnoDB에서 사용하는 Lock Type에 대한 정리입니다. Shared and Exclusive Locks row-level의 lock에서 사용합니다. Shared lock(S)는 보유한 트랜잭션이 row를 읽기 위해서 허용해주는 Lock입니다. Exclusive lock(X)은 보유한 트랜잭션이 row를 update하거나 delete하게 허용해주는 Lock입니다. 만약, 트랜잭션 T1이 row r의 Shared Lock을 잡고 있다면, 트랜잭션 T2에 대한 row r의 lock은 다음과 같이 처리됩니다. - T2에 대한 Shared lock 요청 즉시 허용됩니다. 즉 T1과 T2 둘다 r의 Shared lock을 유지합니다. - T2에 대한 Exclusive lock 요청은 즉시 허용되지 않습니다... 2021. 1. 18.
v$locked_object - 락걸린 세션 확인 락걸린 세션에 대해서 확인할 수 있는 뷰입니다. 쿼리 검색시 아래와 같이 나타납니다. SQL> select * from v$locked_object; XIDUSN XIDSLOT XIDSQN OBJECT_ID SESSION_ID ORACLE_USERNAME OS_USER_NAME PROCESS LOCKED_MODE ----------- ----------- ----------- ----------- ----------- ------------------------------ ------------------------------ ------------------------ ----------- 1 16 6843 21527 29 TEST oracle 11470 3 1 16 6843 21526 29 TEST .. 2021. 1. 7.
Oracle Lock 걸린 세션 확인 및 Lock관련 테이블 오라클에서 Lock과 관련된 딕셔너리 뷰는 얼마나 될까요? 티베로와 비교해보는 것도 궁금했습니다. 지난번에는 티베로의 Lock 관련 딕셔너리 뷰를 포스팅했는데, 이번에는 오라클을 포스팅하도록 하겠습니다. DB : Oracle 12.2.0.1 64bit 오라클은 Lock 관련테이블이 69개가 존재합니다. Synonym도 포함된 값이기때문에 줄어들 수는 있지만, 티베로와 비교하였을때는 많은 테이블의 수를 확인할 수 있습니다. select * from dict where table_name like '%LOCK%' TABLE_NAME COMMENTS ------------------------------------------------------------------------------------------.. 2020. 9. 21.