데이터베이스 서비스 이벤트
데이터베이스 서비스 이벤트 기능 구현을 통해 Oracle 데이터베이스 또는 DB 시스템의 다른 구성요소에 대한 건전성 문제에 대한 통지를 받을 수 있습니다.
Oracle Database 또는 Clusterware가 정상적이지 않거나 다양한 시스템 구성요소가 DB 시스템의 공간이 부족할 수 있습니다. 고객은 이 상황을 알리지 않습니다. 데이터베이스 서비스 이벤트 기능 구현은 테넌시의 기존 OCI 이벤트 서비스 및 통지 방식을 활용하여 데이터 플레인 작업 및 조건에 대한 이벤트와 고객에 대한 통지를 생성합니다. 그런 다음 고객은 주제를 만들고 이메일, 기능 또는 스트림을 통해 해당 주제를 구독할 수 있습니다.
주:
DB 시스템의 이벤트 흐름은 Oracle Trace File Analyzer(TFA) 및 Oracle Database Cloud Service(DBCS) 에이전트에 따라 달라집니다. 이러한 구성 요소가 작동되어 실행 중인지 확인합니다.데이터베이스 서비스 이벤트에 대한 알림 수신
데이터베이스 서비스 이벤트를 구독하고 통지를 받습니다. 통지를 받으려면 데이터베이스 서비스 이벤트를 구독하고 Oracle Notification 서비스를 사용하여 통지를 받으십시오. Notifications Overview를 참조하십시오. Oracle Cloud Infrastructure Events에 대한 자세한 내용은 이벤트 개요를 참조하십시오.
이벤트 서비스 - 이벤트 유형
- 데이터베이스 - 위기
- DB 노드 - 위기
- DB 노드 - 오류
- DB 노드 - 경고
- DB 노드 - 정보
- DB 시스템 - 위기
데이터베이스 서비스 이벤트 유형
다음 표에는 데이터베이스 서비스가 내보내는 이벤트 유형이 나열되어 있습니다.
주:
- 중요 이벤트는 데이터베이스 또는 기타 필수 구성 요소를 방해하는 다양한 중요 조건 및 오류에 의해 트리거됩니다. 예를 들어, 데이터베이스, 데이터베이스 노드 및 DB 시스템에 대한 데이터베이스 응답 없는 오류 및 가용성 오류는 리소스를 사용할 수 없는 시기를 나타냅니다.
- 정보 이벤트는 데이터베이스 및 기타 중요 구성요소가 예상대로 작동할 때 트리거됩니다. 예를 들어, CRS, CDB, 클라이언트 또는 스캔 리스너를 완전히 종료하거나 이러한 구성 요소를 시작하면 심각도가
INFO
인 이벤트가 생성됩니다. - 임계값 한도는 유사한 사고 이벤트에 대해 고객이 수신할 통지 수를 줄이는 동시에 사고 이벤트를 수신하고 적시에 미리 알림을 받도록 보장합니다.
데이터베이스 서비스 이벤트
주:
아래 나열된 이벤트 외에도 Oracle은 추가 이벤트를 분석하여 최고 수준의 서비스 운영 및 서비스 고가용성 보장을 위한 지원을 제공합니다.표 - 데이터베이스 서비스 이벤트
친화적 이름 | 이벤트 이름 | 설명 | 수정 | 이벤트 유형 | 임계값 |
---|---|---|---|---|---|
리소스 활용률 - 디스크 사용량 | HEALTH.DB_GUEST.FILESYSTEM.FREE_SPACE |
이 이벤트는 다음 파일 시스템에 대한 운영체제
|
건전성 DB_GUEST-파일 시스템-FREE_SPACE | com.oraclecloud.databaseservice.dbnode.critical |
한계 임계값: 90% |
CRS 상태 위로/아래로 | AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN .
|
CRS(Cluster Ready Service)가 작동 중지된 것으로 감지되면 CRITICAL 유형의 이벤트가 생성됩니다. | 가용성-DB_GUEST-CRS_INSTANCE.DOWN | com.oraclecloud.databaseservice.dbnode.critical (있는 경우) DOWN 및 NOT "user_action"
|
NA |
AVAILABILITY.DB_GUEST.CRS_INSTANCE.DOWN_CLEARED |
CRS 작동 중지 이벤트가 지워진 것으로 확인되면 INFORMATION 유형의 이벤트가 생성됩니다. | NA | com.oraclecloud.databaseservice.dbnode.information (있는 경우) DOWN_CLEARED)
|
NA | |
AVAILABILITY.DB_GUEST.CRS_INSTANCE.EVICTION |
CRITICAL 유형의 이벤트가 생성됩니다. | 가용성-DB_GUEST-CRS_INSTANCE-EVICTION | com.oraclecloud.databaseservice.dbnode.critical |
NA | |
SCAN 리스너 작동/작동 중지 | AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN |
DOWN 이벤트는 SCAN 리스너의 작동이 중지될 때 생성됩니다. 이 이벤트는 Server Control Utility( LISTENER_SCAN[1,2,3]이라는 클러스터당 세 개의 SCAN 리스너가 있습니다. |
가용성-DB_CLUSTER-SCAN_LISTENER-DOWN | com.oraclecloud.databaseservice.dbnode.critical (있는 경우) DOWN 및 NOT "user_action"
|
NA |
AVAILABILITY.DB_CLUSTER.SCAN_LISTENER.DOWN_CLEARED |
INFORMATION 유형의 이벤트는 SCAN 리스너에 대한 이벤트가 지워진 것으로 확인되면 생성됩니다. | NA | com.oraclecloud.databaseservice.dbnode.information (있는 경우) DOWN_CLEARED)
|
NA | |
Net 리스너 작동/작동 중지 | AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN |
클라이언트 리스너의 작동이 중지되면 DOWN 이벤트가 생성됩니다. 이 이벤트는 Server Control Utility( 노드당 하나의 클라이언트 리스너가 있으며 각각 LISTENER라고 합니다. |
가용성-DB_GUEST-CLIENT_LISTENER.DOWN | com.oraclecloud.databaseservice.database.critical (있는 경우) DOWN 및 NOT "user_action"
|
NA |
AVAILABILITY.DB_GUEST.CLIENT_LISTENER.DOWN_CLEARED |
INFORMATION 유형의 이벤트는 클라이언트 리스너에 대한 이벤트가 지워진 것으로 확인되면 생성됩니다. | NA | com.oraclecloud.databaseservice.database.information (있는 경우) DOWN_CLEARED)
|
NA | |
CDB 업/다운 | AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN |
DOWN 이벤트는 데이터베이스 Instance의 작동이 중지될 때 생성됩니다. 이 이벤트는 SQL*Plus(sqlplus ) 또는 Server Control Utility(srvctl ) 명령 또는 데이터베이스 홈 소프트웨어 업데이트 수행과 같이 해당 명령을 사용하는 Oracle Cloud 유지 관리 작업과 같은 사용자 작업으로 인해 데이터베이스 인스턴스가 종료될 때 INFORMATION 유형입니다. 데이터베이스 Instance가 예기치 않게 다운되는 경우 이 이벤트는 CRITICAL 유형입니다. 해당 DOWN_CLEARED 이벤트는 데이터베이스 인스턴스가 시작될 때 생성됩니다.
|
가용성-DB_GUEST-CDB_INSTANCE-DOWN | com.oraclecloud.databaseservice.database.critical (있는 경우) DOWN 및 NOT "user_action"
|
NA |
AVAILABILITY.DB_GUEST.CDB_INSTANCE.DOWN_CLEARED |
INFORMATION 유형의 이벤트는 CDB 작동 중지 이벤트가 지워진 것으로 확인되면 생성됩니다. | NA | com.oraclecloud.databaseservice.database.information (있는 경우) DOWN_CLEARED)
|
NA | |
심각한 DB 오류 | HEALTH.DB_CLUSTER.CDB.CORRUPTION |
데이터베이스 손상이 기본 또는 대기 데이터베이스에서 감지되었습니다. 데이터베이스 alert.log는 물리적 블록 손상, 논리적 블록 손상 또는 손실된 쓰기로 인한 논리적 블록 손상을 나타내는 특정 오류에 대해 구문 분석됩니다. | 건전성 DB_CLUSTER-CDB-부패 | com.oraclecloud.databaseservice.database.critical |
NA |
기타 DB 오류 | HEALTH.DB_CLUSTER.CDB.ARCHIVER_HANG |
CDB가 활성 온라인 리두 로그를 아카이브할 수 없거나 활성 온라인 리두 로그를 로그 아카이브 대상에 충분히 빨리 아카이브할 수 없는 경우 CRITICAL 유형의 이벤트가 생성됩니다. | 건전성 DB_CLUSTER-CDB-ARCHIVER_HANG | com.oraclecloud.databaseservice.database.critical |
NA |
HEALTH.DB_CLUSTER.CDB.DATABASE_HANG |
CRITICAL 유형의 이벤트는 CDB에서 프로세스 또는 세션이 응답하지 않을 때 생성됩니다. | 건전성 DB_CLUSTER-CDB-DATABASE_HANG | com.oraclecloud.databaseservice.database.critical |
NA | |
백업 실패 | HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE |
v$rman_status 뷰에 FAILED 상태의 CDB 백업이 있는 경우 CRITICAL 유형의 이벤트가 생성됩니다.
|
건전성 DB_CLUSTER-CDB-BACKUP_FAILURE | com.oraclecloud.databaseservice.database.critical |
NA |
HEALTH.DB_CLUSTER.CDB.BACKUP_FAILURE_CLEARED |
INFORMATION 유형의 이벤트가 생성됩니다. | NA | com.oraclecloud.databaseservice.database.information |
NA | |
디스크 그룹 사용량 | HEALTH.DB_CLUSTER.DISK_GROUP.FREE_SPACE |
CRITICAL 유형의 이벤트는 ASM 디스크 그룹이 90% 이상의 공간 사용량에 도달하면 생성됩니다. INFORMATION 유형의 이벤트는 ASM 디스크 그룹 공간 사용량이 90% 미만으로 떨어질 때 생성됩니다. | 건강 DB_CLUSTER-DISK_GROUP-FREE_SPACE |
|
사용량이 70%, 80%, 90%, 100%에 도달하고 해당 심각도가 4, 3, 2, 1인 경우 통지가 전송됩니다. |
특정 이벤트에 대한 자동 진단 모음 일시적 제한
tfactl blackout
명령을 사용하여 자동 진단 수집을 일시적으로 금지합니다.
대상에 대해 blackout을 설정하면 스캔하는 동안 Oracle Trace File Analyzer에서 해당 대상에 대한 alert log에서 이벤트를 찾으면 자동 진단 수집을 정지합니다. 기본적으로 블랙아웃은 24시간 동안 적용됩니다.
또한 세분화된 레벨에서 자동 진단 수집을 제한할 수도 있습니다. 예를 들어, ORA-00600
에 대해서만 또는 특정 인수가 있는 ORA-00600
에 대해서만 제한할 수 있습니다.
구문
tfactl blackout add|remove|print
-targettype host|crs|asm|asmdg|database|dbbackup|db_dataguard|
db_tablespace|pdb_tablespace|pdb|listener|service|os
-target all|name
[-container name]
[-pdb pdb_name]
-event all|"event_str1,event_str2"|availability
[-timeout nm|nh|nd|none]
[-c|-local|-nodes "node1,node2"]
[-reason "reason for blackout"]
[-docollection]
매개변수
테이블 - 매개변수
매개변수 | 설명 |
---|---|
add |remove |print |
|
블랙아웃 조건을 추가, 제거 또는 인쇄합니다. |
대상 유형:
|
블랙아웃은 지정된 대상 유형으로만 제한합니다.
|
-target all|name |
블랙아웃할 대상을 지정합니다. 콤마로 구분된 대상 목록을 지정할 수 있습니다. 기본적으로 대상은 |
-container name |
PDB, DB_TABLESPACE 및 PDB_TABLESPACE의 경우 일시중단이 적용될 데이터베이스 컨테이너 이름(db_unique_name )을 지정합니다.
|
-pdb pdb_name |
일시중단이 적용될 PDB를 지정합니다(PDB_TABLESPACE에만 해당). |
-events all|"str1,str2" |
자동 수집을 트리거하지 않거나 원격 측정 JSON에서 일시중단됨으로 표시해서는 안 되는 가용성 이벤트 또는 이벤트 문자열로만 일시중단을 제한합니다.
string: 행의 일부가 지정된 문자열을 포함하는 장애에 대한 일시중단입니다. 콤마로 구분된 문자열 목록을 지정합니다. |
-timeout nh|nd|none |
시간 초과 전 시간 또는 일수로 일시중단 기간을 지정합니다. 기본적으로 시간 초과는 24시간(24h)으로 설정됩니다. |
-c|-local |
일시중단을 기본적으로 blackout은 |
-reason comment |
일시중단에 대한 구체적인 이유를 지정합니다. |
-docollection |
이 대상에 대해 blackout이 설정된 경우에도 자동 진단 수집을 수행하려면 이 옵션을 사용합니다. |
예
다음은 tfactl blackout 명령을 사용하는 예제입니다.
이벤트를 일시중단하려면 targettype database
, target mydb
에서 ORA-00600
을 사용합니다.
tfactl blackout add -targettype database -target mydb -event "ORA-00600"
이벤트를 일시중단하려면 targettype database
, target all
에서 ORA-04031
을 사용합니다.
tfactl blackout add -targettype database -target all -event "ORA-04031" -timeout 1h
targettype에서 DB 백업 이벤트를 일시중단하려면: dbbackup
, target: mydb
tfactl blackout add -targettype dbbackup -target mydb
targettype에서 DB Dataguard 이벤트를 일시중단하려면 db_dataguard
, 대상: mydb
tfactl blackout add -targettype db_dataguard -target mydb -timeout 30m
targettype에서 DB 테이블스페이스 이벤트를 일시중단하려면 db_tablespace
, target: system
, container: mydb
을 사용합니다.
tfactl blackout add -targettype db_tablespace -target system -container mydb -timeout 30m
targettype에서 ALL
이벤트를 일시중단하려면 host
, 대상: all
tfactl blackout add -targettype host -event all -target all -timeout 1h
-reason "Disabling all events during patching"
일시중단 세부정보를 인쇄하려면 다음을 수행합니다.
tfactl blackout print
.-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------.
| myhostname |
+---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------+
| Target Type | Target | Events | Start Time | End Time | Status | Do Collection | Reason |
+---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------+
| HOST | ALL | ALL | Thu Mar 24 16:48:39 UTC 2022 | Thu Mar 24 17:48:39 UTC 2022 | ACTIVE | false | Disabling all events during patching |
| DATABASE | MYDB | ORA-00600 | Thu Mar 24 16:39:03 UTC 2022 | Fri Mar 25 16:39:03 UTC 2022 | ACTIVE | false | NA |
| DATABASE | ALL | ORA-04031 | Thu Mar 24 16:39:54 UTC 2022 | Thu Mar 24 17:39:54 UTC 2022 | ACTIVE | false | NA |
| DB_DATAGUARD | MYDB | ALL | Thu Mar 24 16:41:38 UTC 2022 | Thu Mar 24 17:11:38 UTC 2022 | ACTIVE | false | NA |
| DBBACKUP | MYDB | ALL | Thu Mar 24 16:40:47 UTC 2022 | Fri Mar 25 16:40:47 UTC 2022 | ACTIVE | false | NA |
| DB_TABLESPACE | SYSTEM_CDBNAME_MYDB | ALL | Thu Mar 24 16:45:56 UTC 2022 | Thu Mar 24 17:15:56 UTC 2022 | ACTIVE | false | NA |
'---------------+---------------------+-----------+------------------------------+------------------------------+--------+---------------+--------------------------------------'
targettype: database
, target: mydb
에서 이벤트: ORA-00600
에 대한 일시중단을 제거하려면
tfactl blackout remove -targettype database -event "ORA-00600" -target mydb
targettype에서 DB 백업 이벤트에 대한 일시중단을 제거하려면 dbbackup
, 대상: mydb
tfactl blackout remove -targettype dbbackup -target mydb
targettype: db_tablespace
, target: system
, container: mydb
에서 db 테이블스페이스 이벤트 blackout을 제거합니다.
tfactl blackout remove -targettype db_tablespace -target system -container mydb
targettype의 호스트 이벤트에 대한 일시중단을 제거하려면 all
, 대상: all
tfactl blackout remove -targettype host -event all -target all
Oracle Trace File Analyzer 관리
Oracle Trace File Analyzer의 실행 상태를 확인하려면 root
또는 비루트 사용자로 tfactl status
명령을 실행합니다.
tfactl status
.----------------------------------------------------------------------------------------------.
| Host | Status of TFA | PID | Port | Version | Build ID | Inventory Status |
+-------+---------------+--------+------+------------+----------------------+------------------+
| node1 | RUNNING | 41312 | 5000 | 22.1.0.0.0 | 22100020220310214615 | COMPLETE |
| node2 | RUNNING | 272300 | 5000 | 22.1.0.0.0 | 22100020220310214615 | COMPLETE |
'----------------------------------------------------------------------------------------------'
로컬 노드에서 Oracle Trace File Analyzer 데몬을 시작하려면 tfactl start
명령을 root
유저로 실행합니다.
tfactl start
Starting TFA..
Waiting up to 100 seconds for TFA to be started..
. . . . .
Successfully started TFA Process..
. . . . .
TFA Started and listening for commands
로컬 노드에서 Oracle Trace File Analyzer 데몬을 정지하려면 tfactl stop
명령을 root
유저로 실행합니다.
tfactl stop
Stopping TFA from the Command Line
Nothing to do !
Please wait while TFA stops
Please wait while TFA stops
TFA-00002 Oracle Trace File Analyzer (TFA) is not running
TFA Stopped Successfully
Successfully stopped TFA..
데이터베이스 서비스 에이전트 관리
/opt/oracle/dcs/log/dcs-agent.log
파일을 보고 에이전트와 관련된 문제를 식별합니다.
데이터베이스 서비스 에이전트의 상태를 확인하려면 systemctl status
명령을 실행합니다.
systemctl status dbcsagent.service
dbcsagent.service
Loaded: loaded (/usr/lib/systemd/system/dbcsagent.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2022-04-01 13:40:19 UTC; 6min ago
Process: 9603 ExecStopPost=/bin/bash -c kill `ps -fu opc |grep "java.*dbcs-agent.*jar" |
awk '{print $2}' ` (code=exited, status=0/SUCCESS)
Main PID: 10055 (sudo)
CGroup: /system.slice/dbcsagent.service
‣ 10055 sudo -u opc /bin/bash -c umask 077; /bin/java -Doracle.security.jps.config=/opt/oracle/...
에이전트가 실행 중이지 않은 경우 에이전트를 시작하려면 root
사용자로 systemctl start
명령을 실행합니다.
systemctl start dbcsagent.service