Oracle Database 통합 은 기본적으로 데이터베이스, 테이블스페이스 및 메모리에 대한 주요 성능 메트릭을 수집합니다. 구성을 사용자 정의하여 더 많은 메트릭을 수집하여 데이터베이스 성능에 대한 자세한 특성을 제공할 수 있습니다.
통합을 설치하고 수집하는 데이터를 보려면 계속 읽으십시오.
호환성 및 요구 사항
우리의 통합은 Oracle Database 버전 11.2 이상과 호환됩니다.
통합을 설치하기 전에 다음 요구 사항을 충족하는지 확인하십시오.
- 7보다 낮은 RHEL/CentOS/OEL 버전을 제외하고 인프라와 호환되는 Linux 배포판.
- 인프라 에이전트를 설치합니다 .
- 에이전트 상자의 Oracle Instant Client .
ORACLE_HOME
이(가) 루트 사용자에 대한 올바른 디렉토리로 구성된 Oracle 데이터베이스입니다.- 필요한 전역 보기에 대한 CONNECT 및 SELECT 권한이 모두 있는 Oracle 데이터베이스 사용자입니다.
- 원격 연결에서 모니터링하도록 구성된
listener.ora
파일이 있는 Oracle 데이터베이스. 기본적으로 Oracle Database는 localhost만 수신 대기합니다.
중요
ARM64 아키텍처는 지원되지 않습니다.
설치 및 활성화
Oracle 데이터베이스 통합을 설치하려면 다음을 수행하십시오.
파일 이름
nri-oracledb
을(를) 사용하여 통합 설치 지침을 따르십시오.디렉토리를 통합 폴더로 변경하십시오.
bash$cd /etc/newrelic-infra/integrations.d샘플 구성 파일을 복사합니다.
bash$sudo cp oracledb-config.yml.sample oracledb-config.yml구성 설정 에 설명된 대로
oracledb-config.yml
파일을 편집합니다.
추가 참고 사항:
- 고급: tarball 파일에서 통합을 설치할 수도 있습니다. 이렇게 하면 설치 및 구성 프로세스를 완전히 제어할 수 있습니다.
- 호스트 내 통합은 자동으로 업데이트되지 않습니다. 최상의 결과를 얻으 려면 통합 패키지 및 인프라 에이전트 를 정기적으로 업데이트하십시오.
구성
Oracle DB 서버 활성화
Oracle 데이터베이스에서 다음 명령문을 실행하여 새 사용자를 생성하고 사용자 권한을 할당합니다. USERNAME 및 유사한 사용자별 값을 바꿔야 합니다.
Oracle DB 12c 이상을 사용하는 경우
ALTER SESSION
를 사용하여 데이터베이스에 액세스하고 사용자 및 사용자 속성을 관리합니다. Oracle DB 버전이 12c 미만인 경우 이 쿼리를 실행하지 마십시오.ALTER SESSION set "_Oracle_SCRIPT"=true;CREATE USER
을 사용하여 데이터베이스에 새 사용자를 추가합니다. USER_PASSWORD 를 새 사용자의 비밀번호 로 바꿉니다.CREATE USER USERNAME IDENTIFIED BY "USER_PASSWORD";
팁
사용자 유지 관리 질문에 대한 지원은 Oracle 설명서 를 참조하거나 시스템 또는 데이터베이스 관리자에게 문의하십시오.
사용자에게
CONNECT
권한을 부여합니다.GRANT CONNECT TO USERNAME;
다음 전역 보기에서 사용자에게
SELECT
권한을 부여합니다.cdb_data_files
cdb_pdbs
cdb_users
gv_$sysmetric
gv_$pgastat
gv_$instance
gv_$filestat
gv_$parameter
sys.dba_data_files
gv_$session
gv_$sesstat
gv_$statname
gv_$rowcache
gv_$sga
gv_$sysstat
v_$database
gv_$librarycache
gv_$sqlarea
gv_$system_event
dba_tablespaces
gv_$session_wait
gv_$rollstat
v_$instance
다음 SQL 문을 하나의 스크립트에서 함께 또는 개별적으로 실행할 수 있습니다.
GRANT SELECT ON cdb_data_files TO USERNAME; GRANT SELECT ON cdb_pdbs TO USERNAME; GRANT SELECT ON cdb_users TO USERNAME; GRANT SELECT ON gv_$sysmetric TO USERNAME; GRANT SELECT ON gv_$pgastat TO USERNAME; GRANT SELECT ON gv_$instance TO USERNAME; GRANT SELECT ON gv_$filestat TO USERNAME; GRANT SELECT ON gv_$parameter TO USERNAME; GRANT SELECT ON sys.dba_data_files TO USERNAME; GRANT SELECT ON DBA_TABLESPACES TO USERNAME; GRANT SELECT ON DBA_TABLESPACE_USAGE_METRICS TO USERNAME; GRANT SELECT ON gv_$session TO USERNAME; GRANT SELECT ON gv_$sesstat TO USERNAME; GRANT SELECT ON gv_$statname TO USERNAME; GRANT SELECT ON gv_$rowcache TO USERNAME; GRANT SELECT ON gv_$sga TO USERNAME; GRANT SELECT ON gv_$sysstat TO USERNAME; GRANT SELECT ON v_$database TO USERNAME; GRANT SELECT ON gv_$librarycache TO USERNAME; GRANT SELECT ON gv_$sqlarea TO USERNAME; GRANT SELECT ON gv_$system_event TO USERNAME; GRANT SELECT ON dba_tablespaces TO USERNAME; GRANT SELECT ON gv_$session_wait TO USERNAME; GRANT SELECT ON gv_$rollstat TO USERNAME; GRANT SELECT ON v_$instance TO USERNAME;
통합 구성
설치 방법에 따라 통합을 구성하는 몇 가지 방법이 있습니다.
- Amazon ECS를 통해 활성화된 경우: ECS에서 실행 중인 서비스 모니터링을 참조하십시오.
- 호스트에 설치된 경우: 통합의 YAML 구성 파일
oracledb-config.yml
에서 구성을 편집합니다.
통합의 YAML 형식 구성은 필수 로그인 자격 증명을 배치하고 데이터 수집 방법을 구성할 수 있는 곳입니다. 변경하는 옵션은 설정 및 기본 설정에 따라 다릅니다.
구성 파일에는 interval
, timeout
, inventory_source
와 같은 모든 통합에 적용할 수 있는 공통 설정이 있습니다. 이러한 공통 설정에 대한 모든 내용을 읽으려면 구성 형식 문서를 참조하십시오.
중요
레거시 구성/정의 파일을 계속 사용하고 있다면 이 문서 에서 도움을 받으십시오.
Oracle DB와 관련된 특정 설정은 구성 파일의 env
섹션을 사용하여 정의됩니다. 이러한 설정은 Oracle DB 인스턴스에 대한 연결과 기타 보안 설정 및 기능을 제어합니다. 유효한 설정 목록은 이 문서의 다음 섹션에 설명되어 있습니다.
Oracle DB 인스턴스 설정
Oracle DB 통합은 Metrics( M ) 및 Inventory( I ) 정보를 모두 수집합니다. 표에서 각 컬렉션에 사용할 수 있는 설정에 대해 적용 대상 열을 사용합니다.
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
환경 | 설명 | 기본값 | 적용 대상 |
---|---|---|---|
서비스 이름 | Oracle 인스턴스의 서비스 이름입니다. | 해당 없음 | 미 |
호스트 이름 | Oracle DB가 실행 중인 호스트 이름 또는 IP입니다. | 127.0.0.1 | 미 |
포트 | Oracle DB가 수신하는 포트입니다. | 1521 | 미 |
사용자 이름 | Oracle DB 서버에 액세스하기 위한 사용자 이름입니다. | 해당 없음 | 미 |
비밀번호 | 지정된 사용자의 비밀번호입니다. | 해당 없음 | 미 |
CONNECTION_STRING |
| 해당 없음 | 미 |
ORACLE_HOME |
| 해당 없음 | 미 |
테이블스페이스 | 수집할 테이블스페이스의 JSON 배열입니다.생략하면 모든 테이블스페이스를 수집합니다.비어 있으면 테이블스페이스 메트릭 수집을 건너뜁니다. | [] | 중 |
IS_SYS_DBA | 인증 사용자에게 SysDBA 권한이 있는지 여부를 나타냅니다. | 잘못된 | 중 |
IS_SYS_OPER | 인증하는 사용자에게 SysOper 권한이 있는지 여부를 나타냅니다. | 잘못된 | 중 |
EXTENDED_METRICS | 확장 메트릭을 수집할지 여부를 나타냅니다. 아래 표 에서 확장 측정항목을 확인하세요. | 잘못된 | 중 |
SKIP_METRICS_GROUPS | 수집된 메트릭은 데이터를 얻는 데 사용된 쿼리에 따라 함께 그룹화됩니다. 이러한 측정항목 그룹은 여기 에 나열되며 JSON 배열 형식의 | [] | 중 |
DISABLE_CONNECTION_POOL | 연결 풀링을 비활성화합니다. Oracle DB에 대한 새 연결을 설정하려고 할 때 통합에 오류가 발생하는 경우에만 사용하십시오. | 잘못된 | 중 |
MAX_OPEN_CONNECTIONS | 통합에 의해 열린 최대 동시 연결 수입니다. | 5 | 중 |
CUSTOM_METRICS_QUERY | 사용자 지정 메트릭을 수집하기 위한 SQL 쿼리입니다. 아래 예를 참조하십시오. | 해당 없음 | 중 |
CUSTOM_METRICS_CONFIG | 사용자 지정 메트릭을 수집하기 위한 하나 이상의 SQL 쿼리가 있는 YAML 구성입니다. 아래 예를 참조하십시오. | 잘못된 | 중 |
측정항목 | 측정항목 전용 수집을 활성화하려면 | 잘못된 | |
목록 | 인벤토리 전용 컬렉션을 활성화하려면 | 잘못된 |
이러한 설정의 값은 여러 가지 방법으로 정의할 수 있습니다.
- 값을 구성 파일에 직접 추가하십시오. 이것은 가장 일반적인 방법입니다.
{{}}
표기법을 사용하여 환경 변수의 값을 바꿉니다. 이를 위해서는 인프라 에이전트 1.14.0 이상이 필요합니다. 이에 대한 자세한 내용은 인프라 에이전트 통과 환경 변수 에 대한 자세한 내용을 참조하십시오.- 비밀 관리를 사용하여 비밀번호와 같은 민감한 정보를 보호하여 구성 파일에 일반 텍스트로 노출되지 않도록 합니다. 자세한 내용은 비밀 관리 를 참조하십시오.
라벨 및 사용자 정의 속성
레이블을 사용하여 측정항목을 꾸밀 수도 있습니다. 레이블을 사용하면 메트릭에 키/값 쌍 속성을 추가하여 메트릭을 쿼리, 필터링 또는 그룹화할 수 있습니다.
기본 샘플 구성 파일에 레이블의 예가 포함되어 있지만 선택 사항입니다. 새 항목을 제거, 수정 또는 추가할 수 있습니다.
labels: env: production role: load_balancer
구성 예
데이터 찾기 및 사용
인프라에서 통합 데이터를 찾으려면 one.newrelic.com > Infrastructure > Third-party services 로 이동하여 Oracle Database 통합 링크 중 하나를 선택하십시오.
Oracle Database 데이터는 다음 이벤트 유형 에 연결됩니다.
OracleDatabaseSample
OracleTablespaceSample
데이터를 찾고 사용하는 방법에 대한 자세한 내용은 통합 데이터 이해 를 참조하십시오.
측정항목 데이터
Oracle Database 통합은 다음 메트릭 데이터 속성을 수집합니다. 각 측정항목 이름에는 disk.
또는 memory.
과 같은 카테고리 표시기와 마침표가 접두사로 붙습니다.
데이터베이스 측정항목
이러한 속성은 OracleDatabaseSample
이벤트 유형을 쿼리하여 찾을 수 있습니다.
미터법 | 설명 | 펼친 |
---|---|---|
| 활성 병렬 세션. | |
| 활성 직렬 세션. | |
| 평균 활성 세션. | |
| 초당 체크포인트. | |
| 초당 백그라운드 CPU 사용량입니다. | |
| 초당 백그라운드 시간입니다. | |
| 초당 DB 블록 변경. | |
| 트랜잭션당 DB 블록 변경. | |
| 사용자 호출당 DB 블록 변경. | |
| DB 블록은 초당 가져옵니다. | |
| DB 블록은 트랜잭션당 가져옵니다. | |
| DB 블록은 사용자 호출당 가져옵니다. | |
| 분기 노드는 초당 분할됩니다. | |
| 트랜잭션당 분기 노드 분할. | |
| 초당 일관된 읽기 변경. | |
| 트랜잭션당 일관된 읽기 변경. | |
| 일관된 읽기는 초당 가져옵니다. | |
| 일관된 읽기는 트랜잭션당 가져옵니다. | |
| CPU 시간 비율. | |
| 초당 CPU 사용량입니다. | |
| 트랜잭션당 CPU 사용량입니다. | |
| 초당 생성된 CR 블록입니다. | |
| 트랜잭션당 생성된 CR 블록. | |
| 초당 적용된 CR 실행 취소 레코드입니다. | |
| 트랜잭션당 CR 실행 취소 레코드가 적용되었습니다. | |
| 현재 로그온이 계산됩니다. | |
| 현재 열려 있는 커서 수. | |
| 커서 캐시 적중률. | |
| 초당 데이터베이스 시간입니다. | |
| 초당 DBWR 체크포인트. | |
| 초당 인큐 교착 상태입니다. | |
| 트랜잭션당 교착 상태를 대기열에 넣습니다. | |
| 초당 요청을 대기열에 넣습니다. | |
| 트랜잭션당 요청을 대기열에 넣습니다. | |
| 초당 인큐 시간 초과입니다. | |
| 트랜잭션당 인큐 타임아웃. | |
| 초당 대기열에 넣기 대기입니다. | |
| 트랜잭션당 인큐 대기. | |
| 초당 실행. | |
| 트랜잭션당 실행. | |
| 사용자 호출당 실행. | |
| 초당 전체 인덱스 스캔입니다. | |
| 트랜잭션당 전체 인덱스 스캔. | |
| 초당 수신된 GC CR 블록입니다. | |
| 트랜잭션당 수신된 GC CR 블록. | |
| 초당 수신된 GC 현재 블록입니다. | |
| 트랜잭션당 수신된 GC 현재 블록. | |
| 전역 캐시 평균 CR 가져오기 시간입니다. | |
| 전역 캐시 평균 현재 가져오기 시간입니다. | |
| 초당 하드 구문 분석 횟수입니다. | |
| 트랜잭션당 하드 구문 분석 수입니다. | |
| 초당 호스트 CPU 사용량입니다. | |
| 호스트 CPU 사용률(백분율). | |
| 리프 노드는 초당 분할됩니다. | |
| 트랜잭션당 리프 노드 분할. | |
| 라이브러리 캐시 적중률. | |
| 라이브러리 캐시 미스 비율. | |
| 초당 논리적 읽기입니다. | |
| 트랜잭션당 논리적 읽기. | |
| 초당 로그온 수입니다. | |
| 트랜잭션당 로그온 수. | |
| 초당 긴 테이블 스캔. | |
| 트랜잭션당 긴 테이블 스캔. | |
| 초당 열린 커서. | |
| 트랜잭션당 열린 커서. | |
| 현재 OS 로드. | |
| 초당 구문 분석 실패 횟수입니다. | |
| 트랜잭션당 구문 분석 실패 횟수입니다. | |
| PGA 캐시 적중률. | |
| 프로세스 제한 백분율. | |
| 초당 재귀 호출입니다. | |
| 트랜잭션당 재귀 호출. | |
| 초당 쓰기를 다시 실행합니다. | |
| 트랜잭션당 쓰기를 다시 실행합니다. | |
| 트랜잭션당 응답 시간. | |
| 행 캐시 적중률입니다. | |
| 행 캐시 누락 비율입니다. | |
| 정렬당 행. | |
| 세션 수. | |
| 세션 제한 비율입니다. | |
| 공유 풀 여유 비율. | |
| 소프트 파싱 비율. | |
| 사용자 호출당 총 정렬입니다. | |
| SQL 서비스 응답 시간. | |
| 스트림 풀 사용 비율입니다. | |
| 사용자 호출당 총 테이블 스캔입니다. | |
| 초당 총 인덱스 스캔입니다. | |
| 트랜잭션당 총 인덱스 스캔입니다. | |
| 초당 총 구문 분석 횟수입니다. | |
| 트랜잭션당 총 구문 분석 횟수입니다. | |
| 초당 총 테이블 스캔입니다. | |
| 트랜잭션당 총 테이블 스캔입니다. | |
| 로그온당 트랜잭션. | |
| 초당 사용자 호출. | |
| 트랜잭션당 사용자 호출. | |
| 사용자 호출 비율. | |
| 사용자 커밋 백분율. | |
| 사용자가 초당 커밋합니다. | |
| 사용자 제한 백분율. | |
| 트랜잭션당 사용자 롤백. | |
| 초당 사용자 롤백입니다. | |
| 초당 적용된 사용자 롤백 실행 취소 레코드입니다. | |
| 트랜잭션당 적용된 사용자 롤백 실행 취소 레코드. | |
| 데이터베이스 대기 시간 비율입니다. | |
| 블록 읽기 수입니다. | |
| 블록 쓰기 수입니다. | |
| 사용자 호출당 논리적 읽기. | |
| 물리적 읽기는 초당 직접 lob입니다. | |
| 물리적 쓰기는 초당 직접 lob입니다. | |
| 초당 물리적 읽기 총 바이트입니다. | |
| 초당 물리적 읽기 총 I/O 요청입니다. | |
| 물리적 초당 직접 읽기. | |
| 초당 물리적 쓰기 총 바이트입니다. | |
| 초당 물리적 쓰기 I/O 요청입니다. | |
| 초당 직접 물리적 쓰기. | |
| 초당 물리적 쓰기 총 I/O 요청입니다. | |
| 총 물리적 읽기 수입니다. | |
| 파일 읽기 시간입니다. | |
| 초당 디스크 정렬입니다. | |
| 트랜잭션당 디스크 정렬. | |
| 사용된 임시 공간. | |
| 총 물리적 쓰기 수입니다. | |
| 파일 쓰기 시간의 양입니다. | |
|
| |
| 장기 실행(> 60초) 쿼리 수입니다. | |
| 버퍼 캐시 적중률. | |
| 전역 캐시 블록이 손상되었습니다. | |
| 전역 캐시 블록이 손실되었습니다. | |
| 인스턴스에서 할당한 현재 PGA 메모리 양입니다. | |
| 자동 모드에서 실행되는 작업 영역의 최대 크기입니다. | |
| 운영 체제로 다시 해제할 수 있는 모든 프로세스의 PGA 메모리 바이트 수입니다. | |
| 현재 작업 영역에서 사용하는 PGA 메모리의 양을 나타냅니다. 이 숫자는 PGA 메모리의 다른 소비자(예: PL/SQL 또는 Java)가 사용하는 메모리 양을 결정하는 데 사용할 수 있습니다. | |
| 할당 적중률을 다시 실행합니다. | |
| 초당 생성된 바이트를 다시 실행합니다. | |
| 트랜잭션당 생성된 바이트를 다시 실행합니다. | |
| 메모리 정렬 비율. | |
| 초당 I/O 메가바이트입니다. | |
| 초당 I/O 요청입니다. | |
| 초당 네트워크 트래픽 볼륨입니다. | |
| 물리적 읽기는 트랜잭션당 직접 lob입니다. | |
| 물리적 쓰기는 트랜잭션당 직접 lob입니다. | |
| 실제 트랜잭션당 직접 읽기. | |
| 트랜잭션당 물리적 읽기. | |
| 트랜잭션당 직접 물리적 쓰기. | |
| 트랜잭션당 물리적 쓰기 | |
| 초당 사용자 트랜잭션입니다. | |
| 리두 로그 파일 전환 이벤트의 수입니다. | |
| 아카이브가 필요한 리두 로그 파일 전환 이벤트의 수입니다. | |
| 불완전한 리두 로그 파일 스위치 이벤트 체크포인트의 수입니다. | |
| 리두 로그 대기 횟수입니다. | |
| 가져온 롤백 세그먼트 수입니다. | |
| 롤백 세그먼트에 대한 대기 비율입니다. | |
| 롤백 세그먼트 대기 수입니다. | |
| SGA 버퍼 사용 대기 횟수입니다. | |
| SGA 고정 크기. | |
| 검사된 SGA 여유 버퍼의 수입니다. | |
| SGA 여유 버퍼 대기 수입니다. | |
| SGA의 적중률입니다. | |
| SGA 로그 버퍼에 대한 할당 재시도 비율입니다. | |
| SGA 로그 버퍼에 대한 다시 실행 할당 비율입니다. | |
| SGA 로그 버퍼의 다시 실행 항목 수입니다. | |
| 버퍼 공간은 SGA 로그 버퍼를 기다립니다. | |
| SGA Redo 버퍼(바이트). | |
| SGA 공유 풀 사전(dict) 캐시의 누락 비율입니다. | |
| SGA 공유 풀 라이브러리 캐시의 적중률입니다. | |
| SGA 공유 풀 라이브러리 캐시에 대한 다시 로드 비율입니다. | |
| 명령문당 SGA 캐시 가능 메모리(바이트)입니다. | |
| 사용자당 SGA 캐시 가능 메모리(바이트)입니다. | |
| UGA(사용자 전역 영역)의 총 메모리입니다. | |
| 디스크 사용량을 바이트 단위로 정렬합니다. | |
| 메모리 사용량을 바이트 단위로 정렬합니다. |
테이블스페이스 측정항목
Oracle Database 통합은 다음 테이블스페이스 메트릭을 수집합니다. 이러한 속성은 OracleTablespaceSample
이벤트 유형을 쿼리하여 찾을 수 있습니다.
미터법 | 설명 | 펼친 |
---|---|---|
| 테이블스페이스 오프라인 상태에 대한 부울입니다. | |
| 오프라인 상태인 PDB 데이터 파일의 수입니다. | |
| 오프라인 상태인 CDB 데이터 파일의 수입니다. | |
| 쓰기 불가능 상태의 PDB 데이터 파일 수입니다. | |
| 사용된 테이블스페이스의 양(바이트)입니다. | |
| 총 예약된 테이블스페이스(바이트)입니다. | |
| 전체 테이블스페이스에 대한 사용 비율입니다. |
인벤토리 데이터
Oracle Database 통합은 Oracle 데이터베이스의 구성 매개변수를 캡처합니다. 데이터는 config/oracledb 소스 아래의 인벤토리 페이지 에서 사용할 수 있습니다. 인벤토리 데이터에 대한 자세한 내용은 통합 데이터 이해 를 참조하십시오.
통합은 다음 Oracle Database 구성 매개변수에 대한 데이터를 캡처합니다.
문제점 해결
문제 해결 팁:
소스 코드 확인
이 통합은 오픈 소스 소프트웨어입니다. 즉 , 소스 코드를 탐색하고 개선 사항을 보내거나 고유한 포크를 만들어 빌드할 수 있습니다.