OS 환경 : Oracle Linux 8.4 (64bit)
DB 환경 : Oracle Database 23.4.0.24.05 ai Free
방법 : 오라클 23ai 신기능 일반 에러 메세지 개선
오라클 23ai 부터 에러 메세지들이 조금 더 상세하게 나옴
오류의 상세 원인, 오류 의미 링크가 표시되고
이 링크에 오류 원인 및 문제 해결을 위한 조치사항 등 추가 정보를 제공하기 때문에 오류 메시지를 분석하기 용이해짐
sqlplus 에서의 기능도 있고 db내의 error_message_details 파라미터도 추가됨
두가지 기능을 테스트를 통해 알아봄
테스트
1. sqlplus 의 errordetails 파라미터
2. db의 error_message_details 파라미터
테스트
1. sqlplus 의 errordetails 파라미터
현재 errordetails 값 확인
1
2
|
SQL> show errordetails
errordetails ON
|
on 상태임(기본값)
제약조건이 있는 emp테이블에 emp테이블 데이터 삽입시도
1
2
3
4
5
6
|
SQL> insert into emp select * from emp;
insert into emp select * from emp
*
ERROR at line 1:
ORA-00001: unique constraint (SYS.PK_EMP) violated on table SYS.EMP columns (EMPNO)
Help: https://docs.oracle.com/error-help/db/ora-00001/
|
Help: 에 ora 에러메세지 관련 링크까지 같이 표시됨
errordetails off로 변경
1
|
SQL> set errordetails off
|
제약조건이 있는 emp테이블에 emp테이블 데이터 삽입시도
1
2
3
4
5
|
SQL> insert into emp select * from emp;
insert into emp select * from emp
*
ERROR at line 1:
ORA-00001: unique constraint (SYS.PK_EMP) violated on table SYS.EMP columns (EMPNO)
|
Help: ~ 메세지가 없어짐
2. db의 error_message_details 파라미터
현재 error_message_details 값 확인
1
2
3
4
5
|
SQL> show parameter error_message_details
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
error_message_details string ON
|
on 상태임(기본값)
error_message_details 값 off로 변경
1
2
3
|
SQL> alter session set error_message_details = off;
Session altered.
|
제약조건이 있는 emp테이블에 emp테이블 데이터 삽입시도
1
2
3
4
5
6
|
SQL> insert into emp select * from emp;
insert into emp select * from emp
*
ERROR at line 1:
ORA-00001: unique constraint (SYS.PK_EMP) violated on table SYS.EMP columns (EMPNO)
Help: https://docs.oracle.com/error-help/db/ora-00001/
|
Help 메세지 외에 ORA-00001 메세지만 표시됨
error_message_details 값 on으로 변경
1
2
3
|
SQL> alter session set error_message_details = on;
Session altered.
|
제약조건이 있는 emp테이블에 emp테이블 데이터 삽입시도
1
2
3
4
5
6
7
|
SQL> insert into emp select * from emp;
insert into emp select * from emp
*
ERROR at line 1:
ORA-00001: unique constraint (SYS.PK_EMP) violated on table SYS.EMP columns (EMPNO)
ORA-03301: (ORA-00001 details) row with column values (EMPNO:7839) already exists
Help: https://docs.oracle.com/error-help/db/ora-00001/
|
ORA-03301 메세지와 함께 어느 row 에서 에러가 발생하는지까지 표시됨
결론 : 오라클 에러 메세지가 좀더 명확해지고 힌트 및 에러코드 설명 링크까지 나오기 때문에 문제 발생시 트러블 슈팅을 더 쉽게 할 수 있음
참조 :
https://docs.oracle.com/en/database/oracle/oracle-database/23/refrn/ERROR_MESSAGE_DETAILS.html
'ORACLE > Admin' 카테고리의 다른 글
오라클 23ai 신기능 UMM(Unified Memory Management) 통합메모리 관리 (0) | 2024.06.14 |
---|---|
오라클 19c 테이블 initrans 값에 따른 lock 테스트 (0) | 2024.06.13 |
오라클 19c commit 기본 옵션 정리 및 테스트 (0) | 2024.05.27 |
오라클 19c sqlplus 의 history 명령어 (0) | 2024.05.15 |
오라클 23ai 신기능 테이블 최대 컬럼 갯수 증가 (0) | 2024.05.11 |