본문 바로가기

ORA

오라클 에러 정보 (ORA-01013) - 사용자에 의한 작업취소 또는 Default Maintenance Job duration이 초과된 경우 Oracle Error Code 1013 은 사용자가 수행하던 작업을 Ctrl-C 등을 눌렀을때, 화면에서 자주 목격하게 되는 에러 코드입니다. 사실 에러코드라기 보다는 정보성 코드 입니다. 작업이 취소되었다는 ... 작업을 사용자가 취소하는 경우에도 매번 Alertlog 에 에러메시지를 남깁니다. 아래처럼... 하지만, AlertLog 에 아래와 같이 발생하는 경우는 좀 다를 수 있습니다. 이건 Default Maintenance Job 의 시간이 초과되어 작업이 취소되면서 Alertlog 에 ORA-01013 을 표시한 것입니다. Default Maintenance Job 은 Autotask 라고도 하며, 통계정보를 자동으로 생성하거나, Tuning Advisor 가 튜닝을 위한 작업을 내부적으로 수.. 더보기
ORA-00942, ORA-06512 오라클 에러 SYS.DBMS_SQLTUNE Oracle Realtime SQL Monitor 기능을 sys 유저가 아닌 일반 유저에서 사용하고자 하는 경우, 권한 부족으로 다음과 같이 에러가 발생합니다. report_sql_monitor() 함수에서 사용하는 딕셔너리뷰를 조회할 수 없기 때문에 ORA-00942 에러가 발생하고, DBMS_SQLTUNE() 함수 실행권한이 없어 ORA-06512 에러가 발생합니다. sys 나 system 유저의 경우 권한이 있기 때문에 에러없이 정상적으로 실행됩니다. 다음과 같이 권한을 부여하면, 일반 유저에서도 Realtime SQL Monitor 기능을 이용할 수 있습니다. /* sys 유저에서 실행 */ SQL> grant ADVISOR, ADMINISTER SQL TUNING SET, SELECT ANY D.. 더보기
오라클 Alertlog 를 DB내에서 SQL Query로 조회하는 방법 Oracle Alertlog 파일은 DBA가 주기적으로 모니터링해야 하는 매우 중요한 로그파일이죠~ 그래서 보통 큰 회사에서는 SMS(Server Monitoring System) 같은 걸로 로그파일을 지속적으로 모니터링합니다. SMS 같은게 없는 데서는 DBA가 가끔씩 파일을 열어서 눈깔 튀어나오게 쳐다봐야하는 어려움이 있습니다. 그런데, Oracle 11g DBMS 부터는 DB에서 바로 조회가 가능합니다. 바로 x$dbgalertext 라는 딕셔너리 뷰가 생겼기 때문입니다. sys 유저에 있습니다. 컬럼들이 엄청 많은데, 이중에서 주목할 컬럼들은 originating_timestamp(로그발생시간) 과 message_text(로그메시지) 정도입니다. RAC DB인 경우는 inst_id (인스턴스 ID.. 더보기
오라클 에러 정보 (ORA-48180) - OS 시스템콜(OS System Call) 작업 실패 ORA-48180 에러는 OS 시스템콜 에러입니다. DB쪽에서 OS에서 작업을 요청했지만, OS상에서 뭔가 에러가 발생한 상황인 거죠. 주로 디스크 공간부족이 제일 흔합니다. $ oerr ora 48180 48180, 00000, "OS open system call failure" // *Cause: OS open system call failed. The system failed to open or create // a file in the requested mode. // *Action: Check the OS error code oerr 메시지에서 말하는 것처럼 에러발생시 함께 나오는 OS 에러코드를 참고할 필요가 있습니다. 주로 ORA-48121, ORA-48181 에러 등과 함께 발생합니다. 더보기
오라클 에러 정보 (ORA-48181) - 로그파일 기록에 실패하는 경우 발생하는 Alertlog 파일에 로그정보를 기록(Write)하던 중 Fail 이 난 경우 발생합니다. Alertlog 파일이 위치한 로컬 디스크 공간이 부족한 경우이거나, Alertlog 에 과도하게 Writing 이 발생하는 경우 이런 에러가 날 수 있습니다. Alertlog 파일이 위치한 디렉토리에 가서 다음과같이 Free 공간을 체크해봅니다. $ df -h . Filesystem Size Used Avail Use% Mounted on /dev/sdc1 118G 50G 63G 45% /u01 현재 디렉토리가 포함된 파일시스템의 free 공간을 GB 단위로 확인할 수 있습니다. Avail 공간이 없다면 공간부족이 원인입니다. TroubleShooting 을 위해 일시적으로 SQL*Net Trace 기능을 On.. 더보기
오라클 에러 정보 (ORA-48121) - 12c DB에서 버그성으로 간헐적으로 발생하는 Oracle 12c DB에서 ODI(Oracle Data Integrator)를 사용하는 경우 버그성으로 가끔씩 발생한다고 합니다. MOS 문서 2193074.1 의 설명에 따르면 recycle bin 기능관련 버그성 이슈라고 설명을 하고 있는데, 막상 패치 얘기는 없네요. 대신 Workaround(회피방법) 만을 제시하고 있습니다. Recycle bin 기능을 끄랍니다. ㅎㅎ 참나~ 참고로, Recycle bin 은 휴지통이죠. 윈도우즈의 휴지통 기능을 Oracle DBMS 에 구현해 놓은 겁니다. 이게 있기전까지는 DBA 가 drop table 커맨드 실수로 잘못 날렸다가 보따리 싸고 집에 가야하는 골때리는 상황이 많았었습니다. 줸장맞을... 허~ 근데, 이걸 끄라고 하네... Recycle bin .. 더보기
오라클 에러 정보 (ORA-20001) - 주로 통계정보와 관련된 오류시 발생하는 ORA-20001 은 단독으로 발생하기도 하고, 다른 에러와 함께 발생하기도 합니다. 주로 통계정보와 관련된 다양한 에러에서 볼 수 있습니다. 따라서, 이 에러코드만 가지고 무슨 에러라고 단정지을 수는 없고, 에러와 함께 나오는 메시지를 유심히 볼 필요가 있습니다. 12cR2 버전의 DB에서 아래와 같은 에러가 Alertlog 에 자주 발견되는 경우가 있는데, 이 경우는 Statistics Advisor 관련 오류라고 하며, sys 유저에서 dbms_stats.init_package() 를 한번 실행해주면 해결 된다고 하는 문서도 있습니다. ( MOS 도큐먼트 참조 : 2127675.1, 2448436.1 ) 또, 11gR2 버전에서 dba_tab_statistics 딕셔너리 뷰를 조회할 때, ORA-2.. 더보기
오라클 에러 정보 (ORA-06512) - PL/SQL 에러에 대한 부가 정보를 제공하는 ORA-06512 에러는 Alertlog 상에서도 자주 눈에띄고, 사용자 클라이언트 환경에서 종종 만나는 에러입니다. 이 에러는 에러라기 보다는 Information 성격입니다. ORA-06512 에러만 단독으로 나는 경우는 없고, 항상 다른 에러와 함께 발생하는데, 이 에러가 진짜 원인입니다. ORA-06512 는 부가적인 정보를 제공하는 셈이죠. 아래의 PL/SQL 스크립트를 실행시켜보면 쉽게 확인할 수 있습니다. set serveroutput on declare aaa varchar2(1); begin select to_char(sysdate, 'YYYY/MM/DD') into aaa from dual; dbms_output.put_line('--> Return Value : ' || aaa); e.. 더보기