오라클 에러 메시지를 조회할 수 있는 함수를 생성해보자.
아래와 같이 함수를 생성하자.
-- 1 CREATE OR REPLACE PACKAGE pg_errm IS TYPE t_errm_rc IS RECORD (code NUMBER, message VARCHAR2(4000)); TYPE t_errm_nt IS TABLE OF t_errm_rc; FUNCTION fn_errm RETURN t_errm_nt PIPELINED; END pg_errm; / CREATE OR REPLACE PACKAGE BODY pg_errm IS FUNCTION fn_errm RETURN t_errm_nt PIPELINED IS l_errm t_errm_rc; BEGIN FOR i IN 1 .. 19999 LOOP l_errm.code := i; l_errm.message := SQLERRM (-i); IF (l_errm.message NOT LIKE '%Message%not%found%') THEN PIPE ROW (l_errm); END IF; END LOOP; END fn_errm; END pg_errm; /
TABLE 컬렉션 표현식을 사용하면 아래와 같이 에러 메시지를 조회할 수 있다.
-- 2 SELECT * FROM TABLE (pg_errm.fn_errm) WHERE ROWNUM <= 10; CODE MESSAGE ---- ------------------------------------------------------------------------------- 1 ORA-00001: 무결성 제약 조건(.)에 위배됩니다 17 ORA-00017: 트레이스 이벤트 설정이 세션에 요구되었습니다 18 ORA-00018: 최대 세션 수를 초과했습니다 19 ORA-00019: 최대 세션 라이선스 수를 초과했습니다 20 ORA-00020: 최대 프로세스 () 수를 초과했습니다 21 ORA-00021: 세션이 다른 프로세스에 첨부되어 있음; 세션을 변경할 수 없습니다 22 ORA-00022: 부적절한 세션ID이므로 액세스가 거절되었습니다 23 ORA-00023: 세션이 프로세스 고유의 메모리를 참조함; 세션을 분리할 수 없습니다 24 ORA-00024: 단일 프로세스 모드에서는 하나 이상의 프로세스가 로그인할 수 없습니다 25 ORA-00025: (를)을 할당하는데 실패했습니다 10 행이 선택되었습니다.
NLS_LANGUAGE를 영문으로 변경하면 영문 에러 메시지를 조회할 수 있다.
-- 3 ALTER SESSION SET nls_language = 'AMERICAN'; SELECT * FROM TABLE (pg_errm.fn_errm) WHERE ROWNUM <= 10; CODE MESSAGE ---- ------------------------------------------------------------------------------- 1 ORA-00001: unique constraint (.) violated 17 ORA-00017: session requested to set trace event 18 ORA-00018: maximum number of sessions exceeded 19 ORA-00019: maximum number of session licenses exceeded 20 ORA-00020: maximum number of processes () exceeded 21 ORA-00021: session attached to some other process; cannot switch session 22 ORA-00022: invalid session ID; access denied 23 ORA-00023: session references process private memory; cannot detach session 24 ORA-00024: logins from more than one process not allowed in single-process mode 25 ORA-00025: failed to ALLOCATE 10 rows selected.
'Oracle > Administration' 카테고리의 다른 글
CLOB #1 - BASICFILE vs SECUREFILE (0) | 2018.06.23 |
---|---|
UNIQUE 인덱스와 NON-UNIQUE 인덱스 (0) | 2018.06.18 |
오라클 에러 테이블 (0) | 2018.03.01 |
PK 제약조건과 인덱스 #2 (0) | 2014.05.06 |
INVISIBLE 칼럼 (0) | 2014.05.03 |