RDS for Oracle DB 인스턴스 문제 진단
Oracle 데이터베이스에는 데이터베이스 문제를 조사하는 데 사용할 수 있는 결함 진단 가능성 인프라가 포함되어 있습니다. Oracle 용어에서 문제는 코드 버그 또는 데이터 손상과 같은 중대한 오류입니다. 인시던트는 문제의 발생입니다. 동일한 오류가 세 번 발생하면 인프라에 이 문제의 세 가지 인시던트가 표시됩니다. 자세한 내용은 Oracle 데이터베이스 설명서의 문제 진단 및 해결
ADRCI(자동 진단 리포지토리 명령 인터프리터) 유틸리티는 진단 데이터를 관리하는 데 사용하는 Oracle 명령줄 도구입니다. 예를 들어, 이 도구를 사용하여 문제를 조사하고 진단 데이터를 패키징할 수 있습니다. 인시던트 패키지에는 한 인시던트 또는 특정 문제를 참조하는 모든 인시던트에 대한 진단 데이터가 포함됩니다. .zip 파일로 구현된 인시던트 패키지를 Oracle Support에 업로드할 수 있습니다.
관리형 서비스 환경을 제공하기 위해 Amazon RDS는 ADRCI에 대한 shell 액세스를 제공하지 않습니다. RDS for Oracle 인스턴스에 대한 진단 작업을 수행하려면 Amazon RDS 패키지 rdsadmin.rdsadmin_adrci_util
을 사용합니다.
rdsadmin_adrci_util
의 함수를 사용하여 문제와 인시던트를 나열하고 패키지징할 수 있으며 추적 파일도 표시할 수 있습니다. 모든 함수는 작업 ID를 반환합니다. 이 ID는 dbtask-
와 같이 ADRCI 출력이 포함된 로그 파일 이름의 일부를 구성합니다. 로그 파일은 BDUMP 디렉터리에 상주합니다. 데이터베이스 로그 파일 다운로드에 설명된 절차에 따라 로그 파일을 다운로드할 수 있습니다.task_id
.log
진단 절차에 대한 공통 파라미터
진단 작업을 수행하려면 Amazon RDS 패키지 rdsadmin.rdsadmin_adrci_util
의 함수를 사용합니다. 이 패키지에는 다음과 같은 공통 파라미터가 있습니다.
파라미터 이름 | 데이터 형식 | 유효한 값 | 기본값 | 필수 | 설명 |
---|---|---|---|---|---|
|
숫자 |
유효한 인시던트 ID 또는 null |
Null |
아니요 |
값이 null이면 이 함수는 모든 인시던트를 표시합니다. 값이 null이 아니고 유효한 인시던트 ID를 나타내면 이 함수는 지정된 인시던트를 표시합니다. |
|
숫자 |
유효한 문제 ID 또는 null |
Null |
아니요 |
값이 null이면 이 함수에 모든 문제를 표시합니다. 값이 null이 아니고 유효한 문제 ID를 나타내면 이 함수는 지정된 문제를 표시합니다. |
|
숫자 |
0보다 큰 유효한 정수 또는 null |
Null |
아니요 |
값이 null이면 이 함수는 50개 이하의 항목을 표시합니다. 값이 null이 아니면 이 함수는 지정된 숫자를 표시합니다. |
인시던트 나열
Oracle에 대한 진단 인시던트를 나열하려면 Amazon RDS 함수 rdsadmin.rdsadmin_adrci_util.list_adrci_incidents
를 사용합니다. 기본 또는 세부 모드로 인시던트를 나열할 수 있습니다. 기본적으로 이 함수는 가장 최근 인시던트 50개를 나열합니다.
이 함수는 다음과 같은 공통 파라미터를 사용합니다.
-
incident_id
-
problem_id
-
last
incident_id
및 problem_id
를 지정하면 incident_id
가 problem_id
를 재정의합니다. 자세한 내용은 진단 절차에 대한 공통 파라미터 단원을 참조하십시오.
이 함수는 다음과 같은 추가 파라미터를 사용합니다.
파라미터 이름 | 데이터 형식 | 유효한 값 | 기본값 | 필수 | 설명 |
---|---|---|---|---|---|
|
부울 |
TRUE 또는 FALSE |
|
아니요 |
|
모든 인시던트를 나열하려면 인수 없이 rdsadmin.rdsadmin_adrci_util.list_adrci_incidents
함수를 쿼리합니다. 쿼리는 작업 ID를 반환합니다.
SQL> SELECT rdsadmin.rdsadmin_adrci_util.list_adrci_incidents AS task_id FROM DUAL; TASK_ID ------------------ 1590786706158-3126
또는 인수 없이 rdsadmin.rdsadmin_adrci_util.list_adrci_incidents
함수를 호출하고 출력을 SQL 클라이언트 변수에 저장합니다. 다른 문에서 변수를 사용할 수 있습니다.
SQL> VAR task_id VARCHAR2(80); SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents; PL/SQL procedure successfully completed.
로그 파일을 읽으려면 Amazon RDS 프로시저 rdsadmin.rds_file_util.read_text_file
을 호출합니다. 작업 ID를 파일 이름의 일부로 제공합니다. 다음 출력은 53523, 53522 및 53521이라는 세 가지 인시던트를 보여줍니다.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------- 2020-05-29 21:11:46.193 UTC [INFO ] Listing ADRCI incidents. 2020-05-29 21:11:46.256 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME ----------- ----------------------------------------------------------- ---------------------------------------- 53523 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00 53522 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 2020-05-29 20:15:15.247000 +00:00 53521 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 2020-05-29 20:15:06.047000 +00:00 3 rows fetched 2020-05-29 21:11:46.256 UTC [INFO ] The ADRCI incidents were successfully listed. 2020-05-29 21:11:46.256 UTC [INFO ] The task finished successfully. 14 rows selected.
특정 인시던트를 나열하려면 incident_id
파라미터를 사용하여 ID를 지정합니다. 다음 예제에서는 인시던트 53523에 대한 로그 파일만 쿼리합니다.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_incidents(incident_id=>53523); PL/SQL procedure successfully completed. SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------ 2020-05-29 21:15:25.358 UTC [INFO ] Listing ADRCI incidents. 2020-05-29 21:15:25.426 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* INCIDENT_ID PROBLEM_KEY CREATE_TIME -------------------- ----------------------------------------------------------- --------------------------------- 53523 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 2020-05-29 20:15:20.928000 +00:00 1 rows fetched 2020-05-29 21:15:25.427 UTC [INFO ] The ADRCI incidents were successfully listed. 2020-05-29 21:15:25.427 UTC [INFO ] The task finished successfully. 12 rows selected.
문제 나열
Oracle에 대한 진단 문제를 나열하려면 Amazon RDS 함수 rdsadmin.rdsadmin_adrci_util.list_adrci_problems
를 사용합니다.
기본적으로 이 함수는 가장 최근 문제 50개를 나열합니다.
이 함수는 공통 파라미터 problem_id
및 last
를 사용합니다. 자세한 내용은 진단 절차에 대한 공통 파라미터 단원을 참조하십시오.
모든 문제에 대한 작업 ID를 가져오려면 인수 없이 rdsadmin.rdsadmin_adrci_util.list_adrci_problems
함수를 호출하고 출력을 SQL 클라이언트 변수에 저장합니다.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems; PL/SQL procedure successfully completed.
로그 파일을 읽으려면 rdsadmin.rds_file_util.read_text_file
함수를 호출하여 작업 ID를 파일 이름의 일부로 제공합니다. 다음 출력에서 로그 파일에는 1, 2 및 3이라는 세 가지 문제가 표시됩니다.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ---------------------------------------------------------------------------------------------------------------------- 2020-05-29 21:18:50.764 UTC [INFO ] Listing ADRCI problems. 2020-05-29 21:18:50.829 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME ---------- ----------------------------------------------------------- ------------- --------------------------------- 2 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_003 53523 2020-05-29 20:15:20.928000 +00:00 3 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522 2020-05-29 20:15:15.247000 +00:00 1 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_001 53521 2020-05-29 20:15:06.047000 +00:00 3 rows fetched 2020-05-29 21:18:50.829 UTC [INFO ] The ADRCI problems were successfully listed. 2020-05-29 21:18:50.829 UTC [INFO ] The task finished successfully. 14 rows selected.
다음 예제에서는 문제 3만 나열합니다.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.list_adrci_problems(problem_id=>3); PL/SQL procedure successfully completed.
문제 3에 대한 로그 파일을 읽으려면 rdsadmin.rds_file_util.read_text_file
을 호출합니다. 작업 ID를 파일 이름의 일부로 제공합니다.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------- 2020-05-29 21:19:42.533 UTC [INFO ] Listing ADRCI problems. 2020-05-29 21:19:42.599 UTC [INFO ] ADR Home = /rdsdbdata/log/diag/rdbms/orcl_a/ORCL: ************************************************************************* PROBLEM_ID PROBLEM_KEY LAST_INCIDENT LASTINC_TIME ---------- ----------------------------------------------------------- ------------- --------------------------------- 3 ORA 700 [EVENT_CREATED_INCIDENT] [942] [SIMULATED_ERROR_002 53522 2020-05-29 20:15:15.247000 +00:00 1 rows fetched 2020-05-29 21:19:42.599 UTC [INFO ] The ADRCI problems were successfully listed. 2020-05-29 21:19:42.599 UTC [INFO ] The task finished successfully. 12 rows selected.
인시던트 패키지 생성
Amazon RDS 함수 rdsadmin.rdsadmin_adrci_util.create_adrci_package
를 사용하여 인시던트 패키지를 생성할 수 있습니다. 출력은 Oracle Support에 제공할 수 있는.zip 파일입니다.
이 함수는 다음과 같은 공통 파라미터를 사용합니다.
-
problem_id
-
incident_id
앞의 파라미터 중 하나를 지정해야 합니다. 두 파라미터를 모두 지정하면 incident_id
가 problem_id
를 재정의합니다. 자세한 내용은 진단 절차에 대한 공통 파라미터 섹션을 참조하세요.
특정 인시던트에 대한 패키지를 생성하려면 rdsadmin.rdsadmin_adrci_util.create_adrci_package
파라미터를 사용하는 Amazon RDS 함수 incident_id
를 호출합니다. 다음 예제에서는 인시던트 53523에 대한 패키지를 생성합니다.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(incident_id=>53523); PL/SQL procedure successfully completed.
로그 파일을 읽으려면 rdsadmin.rds_file_util.read_text_file
을 호출합니다. 작업 ID를 파일 이름의 일부로 제공할 수 있습니다. 출력은 인시던트 패키지 ORA700EVE_20200529212043_COM_1.zip
을 생성했음을 보여줍니다.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT -------------------------------------------------------------------------------------------------------------------------------------- 2020-05-29 21:20:43.031 UTC [INFO ] The ADRCI package is being created. 2020-05-29 21:20:47.641 UTC [INFO ] Generated package 1 in file /rdsdbdata/log/trace/ORA700EVE_20200529212043_COM_1.zip, mode complete 2020-05-29 21:20:47.642 UTC [INFO ] The ADRCI package was successfully created. 2020-05-29 21:20:47.642 UTC [INFO ] The task finished successfully.
특정 문제에 대한 진단 데이터를 패키징하려면 problem_id
파라미터를 사용하여 ID를 지정합니다. 다음 예제에서는 문제 3에 대한 데이터만 패키징합니다.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.create_adrci_package(problem_id=>3); PL/SQL procedure successfully completed.
작업 출력을 읽으려면 rdsadmin.rds_file_util.read_text_file
을 호출하여 작업 ID를 파일 이름의 일부로 제공합니다. 출력은 인시던트 패키지 ORA700EVE_20200529212111_COM_1.zip
을 생성했음을 보여줍니다.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')); TEXT ------------------------------------------------------------------------------------------------------------------------------------------------------------ 2020-05-29 21:21:11.050 UTC [INFO ] The ADRCI package is being created. 2020-05-29 21:21:15.646 UTC [INFO ] Generated package 2 in file /rdsdbdata/log/trace/ORA700EVE_20200529212111_COM_1.zip, mode complete 2020-05-29 21:21:15.646 UTC [INFO ] The ADRCI package was successfully created. 2020-05-29 21:21:15.646 UTC [INFO ] The task finished successfully.
또한 로그 파일을 다운로드할 수 있습니다. 자세한 내용은 데이터베이스 로그 파일 다운로드 단원을 참조하십시오.
추적 파일 표시
Amazon RDS 함수 rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile
을 사용하여 추적 디렉터리 아래에 추적 파일을 나열하고 현재 ADR 홈 아래에 모든 인시던트 디렉터리를 나열할 수 있습니다. 추적 파일 및 인시던트 추적 파일의 내용을 표시할 수도 있습니다.
이 함수는 다음 파라미터를 사용합니다.
파라미터 이름 | 데이터 형식 | 유효한 값 | 기본값 | 필수 | 설명 |
---|---|---|---|---|---|
|
varchar2 |
유효한 추적 파일 이름 |
Null |
아니요 |
값이 null이면 이 함수는 모든 추적 파일을 표시합니다. 값이 null이 아니면 이 함수는 지정된 파일을 표시합니다. |
추적 파일을 표시하려면 Amazon RDS 함수 rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile
을 호출합니다.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile; PL/SQL procedure successfully completed.
추적 파일 이름을 나열하려면 Amazon RDS 프로시저 rdsadmin.rds_file_util.read_text_file
을 호출하여 작업 ID를 파일 이름의 일부로 제공합니다.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE TEXT LIKE '%/alert_%'; TEXT --------------------------------------------------------------- diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-28 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-27 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-26 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-25 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-24 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-23 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-22 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log.2020-05-21 diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log 9 rows selected.
다음 예제에서는 alert_ORCL.log
에 대한 출력을 생성합니다.
SQL> EXEC :task_id := rdsadmin.rdsadmin_adrci_util.show_adrci_tracefile('diag/rdbms/orcl_a/ORCL/trace/alert_ORCL.log'); PL/SQL procedure successfully completed.
로그 파일을 읽으려면 rdsadmin.rds_file_util.read_text_file
을 호출합니다. 작업 ID를 파일 이름의 일부로 제공합니다. 출력에는 alert_ORCL.log의 처음 10줄이 표시됩니다.
SQL> SELECT * FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP', 'dbtask-'||:task_id||'.log')) WHERE ROWNUM <= 10; TEXT ----------------------------------------------------------------------------------------- 2020-05-29 21:24:02.083 UTC [INFO ] The trace files are being displayed. 2020-05-29 21:24:02.128 UTC [INFO ] Thu May 28 23:59:10 2020 Thread 1 advanced to log sequence 2048 (LGWR switch) Current log# 3 seq# 2048 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_3_hbl2p8xs_.log Thu May 28 23:59:10 2020 Archived Log entry 2037 added for thread 1 sequence 2047 ID 0x5d62ce43 dest 1: Fri May 29 00:04:10 2020 Thread 1 advanced to log sequence 2049 (LGWR switch) Current log# 4 seq# 2049 mem# 0: /rdsdbdata/db/ORCL_A/onlinelog/o1_mf_4_hbl2qgmh_.log Fri May 29 00:04:10 2020 10 rows selected.
또한 로그 파일을 다운로드할 수 있습니다. 자세한 내용은 데이터베이스 로그 파일 다운로드 단원을 참조하십시오.