시스템 진단 이벤트 설정 및 설정 해제 - Amazon Relational Database Service

시스템 진단 이벤트 설정 및 설정 해제

세션 수준에서 진단 이벤트를 설정하고 설정 해제하려면 ALTER SESSION SET EVENTS라는 Oracle SQL 문을 사용하면 됩니다. 하지만 시스템 수준에서 이벤트를 설정하는 데에는 Oracle SQL을 사용할 수 없습니다. 대신 rdsadmin.rdsadmin_util 패키지의 시스템 이벤트 프로시저를 사용합니다. 시스템 이벤트 프로시저는 다음 엔진 버전에서 사용할 수 있습니다.

  • 모든 Oracle Database 21c 버전

  • 19.0.0.0.ru-2020-10.rur-2020-10.r1 이상의 Oracle Database 19c 버전

    자세한 내용은 Amazon RDS for Oracle 릴리스 정보의 버전 19.0.0.0.ru-2020-10.rur-2020-10.r1을 참조하세요.

중요

내부적으로, rdsadmin.rdsadmin_util 패키지는 ALTER SYSTEM SET EVENTS 문을 사용하여 이벤트를 설정합니다. 이 ALTER SYSTEM 문은 Oracle 데이터베이스 설명서에 설명되어 있지 않습니다. 일부 시스템 진단 이벤트는 많은 양의 추적 정보를 생성하거나 경합을 일으키거나 데이터베이스 가용성에 영향을 줄 수 있습니다. Oracle Support의 지침에 따라 비 프로덕션 데이터베이스에서 특정 진단 이벤트를 테스트하고 프로덕션 데이터베이스에서만 이벤트를 설정하는 것이 좋습니다.

허용되는 시스템 진단 이벤트 나열

설정 가능한 시스템 이벤트를 나열하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.list_allowed_system_events를 사용합니다. 이 프로시저는 파라미터를 받지 않습니다.

다음 예에서는 설정 가능한 모든 시스템 이벤트를 나열합니다.

SET SERVEROUTPUT ON EXEC rdsadmin.rdsadmin_util.list_allowed_system_events;

다음 샘플 출력에는 이벤트 번호와 해당 설명이 나열됩니다. Amazon RDS 프로시저 set_system_event를 사용하여 이러한 이벤트를 설정하고 unset_system_event를 사용하여 설정 해제합니다.

604 - error occurred at recursive SQL level 942 - table or view does not exist 1401 - inserted value too large for column 1403 - no data found 1410 - invalid ROWID 1422 - exact fetch returns more than requested number of rows 1426 - numeric overflow 1427 - single-row subquery returns more than one row 1476 - divisor is equal to zero 1483 - invalid length for DATE or NUMBER bind variable 1489 - result of string concatenation is too long 1652 - unable to extend temp segment by in tablespace 1858 - a non-numeric character was found where a numeric was expected 4031 - unable to allocate bytes of shared memory ("","","","") 6502 - PL/SQL: numeric or value error 10027 - Specify Deadlock Trace Information to be Dumped 10046 - enable SQL statement timing 10053 - CBO Enable optimizer trace 10173 - Dynamic Sampling time-out error 10442 - enable trace of kst for ORA-01555 diagnostics 12008 - error in materialized view refresh path 12012 - error on auto execute of job 12504 - TNS:listener was not given the SERVICE_NAME in CONNECT_DATA 14400 - inserted partition key does not map to any partition 31693 - Table data object failed to load/unload and is being skipped due to error:
참고

허용되는 시스템 이벤트 목록은 시간이 지남에 따라 변경될 수 있습니다. 적격 이벤트의 최신 목록이 있는지 확인하려면 rdsadmin.rdsadmin_util.list_allowed_system_events를 사용합니다.

시스템 진단 이벤트 설정

시스템 이벤트를 설정하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.set_system_event를 사용합니다. rdsadmin.rdsadmin_util.list_allowed_system_events의 출력에 나열된 이벤트만 설정할 수 있습니다. set_system_event 프로시저는 다음 파라미터를 수용합니다.

파라미터 이름 데이터 형식 기본값 필수 설명

p_event

숫자

시스템 이벤트 번호입니다. 이 값은 list_allowed_system_events에 의해 보고된 이벤트 번호 중 하나여야 합니다.

p_level

숫자

이벤트 수준입니다. 다양한 수준 값에 대한 설명은 Oracle 데이터베이스 설명서를 참조하거나 Oracle Support에 문의하세요.

set_system_event 프로시저는 다음 원칙에 따라 필요한 ALTER SYSTEM SET EVENTS 문을 구성하고 실행합니다.

  • 이벤트 유형(context 또는 errorstack)은 자동으로 결정됩니다.

  • ALTER SYSTEM SET EVENTS 'event LEVEL event_level' 형식의 문이 컨텍스트 이벤트를 설정합니다. 이 표기법은 ALTER SYSTEM SET EVENTS 'event TRACE NAME CONTEXT FOREVER, LEVEL event_level'과 동일합니다.

  • ALTER SYSTEM SET EVENTS 'event ERRORSTACK (event_level)' 형식의 문이 오류 스택 이벤트를 설정합니다. 이 표기법은 ALTER SYSTEM SET EVENTS 'event TRACE NAME ERRORSTACK LEVEL event_level'과 동일합니다.

다음 예에서는 이벤트 942를 수준 3에 설정하고 이벤트 10442를 수준 10에 설정합니다. 샘플 출력이 포함되어 있습니다.

SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.set_system_event(942,3); Setting system event 942 with: alter system set events '942 errorstack (3)' PL/SQL procedure successfully completed. SQL> EXEC rdsadmin.rdsadmin_util.set_system_event(10442,10); Setting system event 10442 with: alter system set events '10442 level 10' PL/SQL procedure successfully completed.

설정된 시스템 진단 이벤트 나열

현재 설정된 시스템 이벤트를 나열하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.list_set_system_events를 사용합니다. 이 프로시저는 set_system_event에 의해 시스템 수준에 설정된 이벤트만 보고합니다.

다음 예에서는 활성 시스템 이벤트를 나열합니다.

SET SERVEROUTPUT ON EXEC rdsadmin.rdsadmin_util.list_set_system_events;

다음 샘플 출력에서는 이벤트 목록, 이벤트 유형, 이벤트가 현재 설정된 레벨 및 이벤트가 설정된 시간을 보여 줍니다.

942 errorstack (3) - set at 2020-11-03 11:42:27 10442 level 10 - set at 2020-11-03 11:42:41 PL/SQL procedure successfully completed.

시스템 진단 이벤트 설정 해제

시스템 이벤트를 설정 해제하려면 Amazon RDS 프로시저 rdsadmin.rdsadmin_util.unset_system_event를 사용합니다. rdsadmin.rdsadmin_util.list_allowed_system_events의 출력에 나열된 이벤트만 설정 해제할 수 있습니다. unset_system_event 프로시저는 다음 파라미터를 받습니다.

파라미터 이름 데이터 형식 기본값 필수 설명

p_event

숫자

시스템 이벤트 번호입니다. 이 값은 list_allowed_system_events에 의해 보고된 이벤트 번호 중 하나여야 합니다.

다음 예에서는 이벤트 942 및 10442를 설정 해제합니다. 샘플 출력이 포함되어 있습니다.

SQL> SET SERVEROUTPUT ON SQL> EXEC rdsadmin.rdsadmin_util.unset_system_event(942); Unsetting system event 942 with: alter system set events '942 off' PL/SQL procedure successfully completed. SQL> EXEC rdsadmin.rdsadmin_util.unset_system_event(10442); Unsetting system event 10442 with: alter system set events '10442 off' PL/SQL procedure successfully completed.