프린트 하기

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





본 글은 개인적인 경험과 견해를 바탕으로 작성된 것이며,
제가 현재 또는 과거에 재직했던 기업의 공식 입장이나 의견을 대변하지 않습니다.
궁금하신 점은 언제든지 댓글이나 메일로 남겨 주세요. 확인 후 답변드리겠습니다.
감사합니다.