프린트 하기

OS환경 : Oracle Linux 5.8 (64bit)


DB 환경 : Oracle Database 10.2.0.5


에러 : ORA-12838: cannot read/modify an object after modifying it in parallel

append 힌트로 insert 후 해당 테이블 count 시 발생한 에러

1
2
3
4
5
6
7
8
9
SQL> insert /*+ APPEND */ into hwm_table_blob select * from hwm_table_blob;
 
4194304 rows created.
 
SQL> select count(*from hwm_table_blob;
select count(*from hwm_table_blob
                     *
ERROR at line 1:
ORA-12838: cannot read/modify an object after modifying it in parallel



해결 방법 : commit 또는 rollback 으로 트랜젠션 종료 이후 재조회

commit 실행

1
2
3
SQL> commit;
 
Commit complete.



재 조회

1
2
3
4
5
SQL> select count(*from hwm_table_blob;
 
  COUNT(*)
----------
   8388608

정상적으로 조회됨



원인 : append 또는 parallel 힌트를 사용하여 insert 한 뒤 commit 해주지 않아 발생한 문제

append 또는 parallel 힌트를 사용하여 insert 한 뒤 commit 해주지 않아 발생한 문제




참조 : https://riorio.tistory.com/33