본문 바로가기

ORA

오라클 에러 정보 (ORA-01543, ORA-1543) - Create 하려고하는 테이블스페이스가 이미 존재하는 경우 Oracle Alertlog 에서 가끔 ORA-1543 에러를 발견합니다. 아무것도 아닌 에러 입니다. 그냥 무시하면 됩니다. DBA가 Create Tablespace 명령으로 테이블스페이스를 생성하는 과정에서 발생한 겁니다. 생성하려는 테이블스페이스 이름이 이미 사용중이라는 ... DBA는 이미 다른 이름을 사용해서 다시 만들었을 겁니다. 이미 지난 일로 더이상 아무 의미 없습니다. Oracle DBMS가 스토리지로 ASM 을 사용하는 경우에는 데이터파일의 위치는 파일시스템이 아니고, ASM DG (Disk Group) 이 됩니다. ASM DG 는 앞에 플러스기호(+) 를 사용합니다. 위에서는 "+DATA_DG" 라는 디스크그룹에 USR1_TDE 라는 이름의 TDE 암호화 테이블스페이스를 만들려고 했으.. 더보기
오라클 에러 정보 (ORA-48113) - Trace 파일 기록에 실패하는 경우 발생하는 Oracle DBMS 가 Trace File 을 디스크에 기록하다가 실패해서 발생하는 에러 메세지 입니다. Oracle DBMS 는 DB 작업에 문제가 있거나, Demon Process 에 문제가 있는 경우, 분석을 위한 자세한 정보를 Trace 파일로 기록합니다. 그런데, 이 Trace 파일 Writing 작업을 할 수 없는 상황인 것입니다. 가장 먼저 의심해볼 수 있는 부분은 Disk 공간부족일 겁니다. Trace 파일은 주로 Oracle S/W 가 설치되어 있는 디스크에 Writing 되는데, 그 Disk 에 여유공간이 충분히 있는지 확인할 필요가 있겠습니다. 이 ORA-48113 에러는 지난번에 포스팅한 ORA-48181 에러와 비슷한 상황입니다. 지난 문서를 참조 바랍니다. (참고 => 오라클 .. 더보기
오라클 에러 정보 (ORA-27300, ORA-27301, ORA-27302) - OS System Call 관련, OS Configuration Issue Oracle Error ORA-27300, ORA-27301, ORA-27302 는 OS System Call 중에 발생한 에러입니다. 얘네들은 항상 같이 발생합니다. DBMS 도 OS 상에서 돌아가는 일개 Software 이기 때문에, 프로세스 fork 같은 것들을 지 맘대로 할 수는 없고, OS에 의뢰해서 작업하게 됩니다. 그런데, OS가 무슨 이유에서인지 이 작업요청을 처리할 수 없는 경우에 ORA-27300~27302 에러가 발생한다고 보면 되겠습니다. Oracle DBMS 가 OS 에 요청하는 System Call 은 엄청 많습니다. 위에 예시로 들은 Process Fork 가 전부가 아니죠~ 따라서, DBMS 가 어떤 작업을 OS 에 요청했다가 에러가 났는지 알기 위해서는 에러와 함께 출력되는.. 더보기
오라클 에러 정보 (ORA-01555, ORA-1555) - Undo, 롤백세그먼트, Snapshot too old Snapshot too old 에러는 Oracle DBMS 의 Undo Segment (롤백세그먼트) 와 관련된 에러입니다. 여기에서 Snapshot 이란 Oracle Materialized View 의 옛이름인 Snapshot 과는 아무 관계가 없습니다. ㅎㅎ 그냥 Undo Segment 에 저장된(스냅샷된) 옛날 블록 이미지란 의미입니다. 아래와 같은 시나리오에서 ORA-01555 에러를 만나게 됩니다. 1) P1 세션이 T1 테이블의 1번째 블록부터 순차적으로 조회를 시작했습니다. 2) P2 세션이 T1 테이블의 20000번째 블록 데이터를 변경해버렸습니다. (변경된 데이터는 롤백세그먼트로 이동합니다.) 3) 그런데, 다른 세션들이 변경 작업이 많아서 롤백세그먼트에 들어있는 T1 테이블의 20000.. 더보기
오라클 에러 정보 (ORA-00700, ORA-700) - ORA-600보다 덜 치명적인 Internal Error ORA-700 에러는 Oracle 11g 부터 생긴 에러입니다. Soft Internal Error 라고 합니다. ORA-600 처럼 Internal Error 이긴 한데, 프로세스를 죽이거나, DB Instance 를 죽이거나 할 정도의 살벌한 경우는 아니라는 의미입니다. 덜 살벌하기는 하지만, 여전히 Internal Error 입니다. 버그와 관계가 있을 가능성이 많이 있죠. 따라서, ORA-600 에러 조치하는 것과 비슷한 방법을 거칩니다. MOS (My Oracle Support) 에서 "ORA-700" 키워드와 [ ] [ ] 격자괄호에 나오는 값으로 검색해보는 것이 좋습니다. 이미 등록된 버그가 있을 수 있습니다. 아래와 같이 ORA-700 으로 검색해보면 이미 등록된 버그가 어마무시하게 많이 .. 더보기
오라클 에러 정보 (ORA-01688, ORA-1688) - 테이블스페이스에서 파티션을 위한 공간 확장을 못하는 Oracle Alertlog 파일에 ORA-1688 에러가 보이는 것은 테이블스페이스 공간이 부족한 것입니다. 테이블을 확장하려다가 테이블스페이스의 공간이 부족한 경우는 ORA-01653 에러가 발생하고, 파티션을 확장하려다가 테이블스페이스의 공간이 부족한 경우는 ORA-01688 에러를 발생합니다. 기본적으로 조치하는 방법은 ORA-01653 에러 조치와 같습니다. 부족한 테이블스페이스 공간을 확장시켜주면 됩니다. 참고 => 오라클 에러 정보 (ORA-01653) 아래는 oerr 출력 결과입니다. 아래의 Action 가이드처럼, 테이블스페이스에 데이터파일을 추가해주거나, 테이블스페이스내의 데이터파일을 Resize 해서 공간을 확장해줍니다. 파티션(Partition)은 테이블(Table)과 똑같은 물리적.. 더보기
오라클 에러 정보 (ORA-01658, ORA-1658) - 테이블스페이스(Tablespace) Initial Extent 공간부족 Alertlog 에 ORA-01658 에러가 발생하는 것은 테이블스페이스 공간부족 에러입니다. ORA-01652 에러와 같은 경우의 에러인데, 약간 다른 점은 Segment 의 Initial Extent 공간이 부족하다는 점입니다. Oracle 에서 Segment 는 Table, Partition, Index 와 같이 공간을 차지하는 Object 를 의미합니다. 이 세그먼트들은 Initial Extent, Next Extent 라는 사이즈 속성을 가지고 있습니다. 세그먼트가 처음 생성될 때 할당하는 초기 공간 사이즈가 Initial Extent 입니다. 이후로는 공간이 부족할 때, Next Extent 만큼씩 공간을 할당 합니다. 조치하는 방법은 기본적으로 ORA-01652 에러 조치하는 것과 같습니다... 더보기
오라클 에러 정보 (ORA-01652, ORA-1652) - 테이블스페이스(Tablespace) 공간부족 Alertlog 에 ORA-1652 또는 ORA-01652 에러가 나오는 경우는 테이블스페이스(Tablespace) 공간부족 에러입니다. 에러메시지가 temp ... 라고 나오니까 Temporary Tablespace 로 오해하기 쉬우나, 메시지 뒤쪽에 테이블스페이스 이름이 나옵니다. 그 테이블스페이스에서 공간부족 에러가 발생한 것입니다. 조치하는 방법은 해당 테이블스페이스의 공간을 확장시켜주면 됩니다. 테이블스페이스의 공간 확장해주는 방법은 아래와 같이 3가지 정도를 생각할 수 있습니다. -- 테이블스페이스에 데이터파일을 추가로 할당 SQL> alter tablespace USR_TBS1 add datafile '/u02/oradata/usr_tbs1_02.dbf' size 1024M; -- 테이블스페.. 더보기