Sun Java System Application Server Enterprise Edition 8.1 2005Q2 고가용성 관리 설명서

HADB 모니터링

다음 방법으로 HADB의 활동을 모니터할 수 있습니다.

이 절에서는 hadbm status, hadbm deviceinfohadbm resourceinfo 명령에 대해 간략하게 설명합니다. HADB 정보 해석에 대한 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Performance Tuning GuidePerformance를 참조하십시오.

HADB 상태 가져오기

데이터베이스나 노드의 상태를 표시하려면 hadbm status 명령을 사용합니다. 명령 구문은 다음과 같습니다.

hadbm status  
[--nodes]  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl] 
[dbname]

dbname 피연산자는 데이터베이스 이름을 지정합니다. 기본값은 hadb입니다.

--nodes 옵션(짧은 형식 -n)은 데이터베이스의 각 노드에 대한 정보를 표시합니다. 자세한 내용은 노드 상태를 참조하십시오. 다른 명령 옵션의 설명에 대해서는 일반 옵션을 참조하십시오.

자세한 내용은 hadbm-status(1)을 참조하십시오.


예 3–15 HADB 상태 가져오기의 예

예를 들면 다음과 같습니다.

hadbm status --nodes

데이터베이스 상태

데이터베이스의 state는 현재 상태를 요약합니다. 다음 표에서는 가능한 데이터베이스 상태에 대해 설명합니다.

표 3–14 HADB 상태

데이터베이스 상태 

설명 

High-Availability Fault Tolerant(HAFaultTolerant) 

데이터베이스에 내결함성이 있으며 각 DRU에 하나 이상의 예비 노드가 있습니다. 

Fault Tolerant 

미러된 모든 노드 쌍이 실행 중입니다. 

Operational 

미러된 각 노드 쌍에서 하나 이상의 노드가 실행 중입니다. 

Non Operational 

미러된 하나 이상의 노드 쌍에 두 노드가 모두 없습니다. 

데이터베이스가 작동 중이 아닌 경우 데이터베이스 지우기에 설명된 대로 데이터베이스를 지웁니다.

Stopped 

데이터베이스에서 실행 중인 노드가 없습니다. 

Unknown 

데이터베이스의 상태를 확인할 수 없습니다. 

노드 상태

--nodes 옵션을 사용하면 hadbm status 명령은 데이터베이스의 각 노드에 대해 다음 정보를 표시합니다.

노드의 역할 및 상태는 이 절에 설명된 대로 변경할 수 있습니다.

노드의 역할

노드는 만드는 동안 역할이 할당되며 다음 역할 중 하나를 가질 수 있습니다.

노드의 상태

노드는 다음 상태 중 하나일 수 있습니다.

장치 정보 가져오기

HADB 데이터(디스크 저장소) 장치의 사용 가능한 공간 모니터:

데이터 장치의 사용 가능 공간에 대한 정보를 가져오려면 hadbm deviceinfo 명령을 사용합니다. 이 명령은 데이터베이스의 각 노드에 대해 다음 정보를 표시합니다.

명령 구문은 다음과 같습니다.

hadbm deviceinfo  [--details]  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  [dbname]

dbname 피연산자는 데이터베이스 이름을 지정합니다. 기본값은 hadb입니다.

--details 옵션은 다음과 같은 추가 정보를 표시합니다.

다른 명령 옵션의 설명에 대해서는 일반 옵션을 참조하십시오.

자세한 내용은 hadbm-deviceinfo(1)을 참조하십시오.

사용자 데이터에 사용 가능한 공간을 확인하려면 총 장치 크기를 확인한 다음 LogBufferSize의 네 배에 장치 크기의 1%를 더한 HADB에 대해 예약된 공간을 뺍니다. 로그 버퍼의 크기를 모르는 경우 hadbm get logbufferSize를 사용합니다. 예를 들어, 총 장치 크기가 128MB이고 LogBufferSize가 24MB인 경우 사용자 데이터에 사용 가능한 공간은 128 – (4 x 24) = 32MB입니다. 32MB에서 절반은 복제된 데이터에 사용되고 약 1퍼센트는 색인에 사용되며 25퍼센트만 실제 사용자 데이터에 사용할 수 있습니다.

사용자 데이터에 사용 가능한 공간은 총 크기와 예약된 크기가 다릅니다. 나중에 데이터를 재조각화하는 경우 여유 공간은 사용자 데이터에 사용 가능한 공간의 약 50%와 같아야 합니다. 재조각화가 관련되지 않으면 데이터 장치를 최대한 활용할 수 있습니다. 장치 공간이 부족한 상태에서 시스템이 실행 중인 경우 내역 파일에 자원 소모 경고가 기록됩니다.

HADB 조정에 대한 자세한 내용은 Sun Java System Application Server Performance Tuning Guide를 참조하십시오.


예 3–16 장치 정보 가져오기의 예

다음 명령은

hadbm deviceinfo --details

다음과 같은 예의 결과를 표시합니다.

NodeNO Totalsize Freesize Usage NReads NWrites DeviceName
0      128       120      6%    10000  5000    C:\Sun\SUNWhadb\hadb.data.0
1      128       124      3%    10000  5000    C:\Sun\SUNWhadb\hadb.data.1
2      128       126      2%     9500  4500    C:\Sun\SUNWhadb\hadb.data.2
3      128       126      2%     9500  4500    C:\Sun\SUNWhadb\hadb.data.3

런타임 자원 정보 가져오기

hadbm resourceinfo 명령은 HADB 런타임 자원 정보를 표시합니다. 이 정보를 사용하여 자원 경쟁을 식별하고 성능 병목 현상을 줄일 수 있습니다. 자세한 내용은 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Performance Tuning GuideTuning HADB를 참조하십시오.

명령 구문은 다음과 같습니다.

hadbm resourceinfo  [--databuf]  [--locks]  [--logbuf]  [--nilogbuf]  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[dbname]

dbname 피연산자는 데이터베이스 이름을 지정합니다. 기본값은 hadb입니다.

다음 표에서는 hadbm resourceinfo 특수 명령 옵션에 대해 설명합니다. 다른 명령 옵션의 설명에 대해서는 일반 옵션을 참조하십시오.

자세한 내용은 hadbm-resourceinfo(1)을 참조하십시오.

표 3–15 hadbm resourceinfo 명령 옵션

옵션 

설명 

--databuf

-d 

데이터 버퍼 풀 정보를 표시합니다. 

자세한 내용은 아래의 데이터 버퍼 풀 정보를 참조하십시오.

--locks

-l 

잠금 정보를 표시합니다. 

자세한 내용은 아래의 잠금 정보를 참조하십시오.

--logbuf

-b 

로그 버퍼 정보를 표시합니다. 

자세한 내용은 아래의 로그 버퍼 정보를 참조하십시오.

--nilogbuf

-n 

노드 내부 로그 버퍼 정보를 표시합니다. 

자세한 내용은 아래의 노드 내부 로그 버퍼 정보를 참조하십시오.

데이터 버퍼 풀 정보

데이터 버퍼 풀 정보에는 다음이 포함됩니다.

사용자 트랜잭션이 레코드에 대해 작업을 수행할 때 레코드가 포함된 페이지가 데이터 버퍼 풀에 있어야 합니다. 그렇지 않으면 miss 또는 페이지 오류가 발생합니다. 그런 다음 트랜잭션은 디스크의 데이터 장치 파일에서 페이지가 검색될 때까지 기다립니다.

실패율이 높으면 데이터 버퍼 풀을 늘리십시오. 실패는 누적되므로 hadbm resourceinfo를 주기적으로 실행하고 두 번 실행 간의 차이를 사용하여 실패율을 확인하십시오. 사용 가능 공간이 매우 작은 경우에는 검사점 메커니즘이 사용 가능한 새 블록을 만들기 때문에 걱정하지 않아도 됩니다.


예 3–17 데이터 버퍼 풀 정보의 예

예를 들면 다음과 같습니다.


NodeNO Avail Free Access Misses Copy-on-Write
0 256 128 100000 50000 10001 256 128 110000 45000 950

잠금 정보

잠금 정보는 다음과 같습니다.

단일 트랜잭션은 노드에서 사용 가능한 잠금의 25%까지 사용할 수 있습니다. 따라서 대규모로 작업을 수행하는 트랜잭션은 이 제한 내용을 알고 있어야 합니다. 이러한 트랜잭션은 일괄 작업으로 수행하는 것이 좋습니다. 여기서 각 일괄 작업은 별도의 트랜잭션, 즉 각 일괄 작업 커밋으로 취급되어야 합니다. repeatable read 격리 수준으로 실행 중인 읽기 작업과 delete, insertupdate 작업은 트랜잭션이 종료된 후에만 해제되는 잠금을 사용하기 때문입니다.

NumberOfLocks를 변경하려면 내역 파일 지우기 및 아카이브를 참조하십시오.


예 3–18 잠금 정보의 예

예를 들면 다음과 같습니다.


NodeNO Avail Free Waits
0 50000 20000 101 50000 20000 0

로그 버퍼 정보

로그 버퍼 정보는 다음과 같습니다.

사용 가능 공간이 매우 작은 경우에는 HADB가 로그 버퍼의 압축을 시작하기 때문에 걱정하지 않아도 됩니다. HADB는 링 버퍼의 처음부터 압축을 시작하고 연속되는 로그 레코드에 대해 수행합니다. HADB가 노드에서 실행된 적이 없고 미러 노드에서 수신되지 않은 로그 레코드를 발견할 때까지 압축이 계속됩니다.


예 3–19 로그 버퍼 정보의 예

예를 들면 다음과 같습니다.


NodeNO Avail Free
0 16 21 16 3

노드 내부 로그 버퍼 정보

노드 내부 로그 버퍼 정보는 다음과 같습니다.


예 3–20 내부 로그 버퍼 정보의 예

예를 들면 다음과 같습니다.

NodeNO Avail Free

0 16 21 16 3