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

HADB 관리

일반적으로 네트워크, 하드웨어, 운영 체제 또는 HADB 소프트웨어를 바꾸거나 업그레이드할 때 관리 작업을 수행해야 합니다. 다음 절에서는 다양한 관리 작업에 대해 설명합니다.

도메인 관리

HADB 도메인에서 다음 작업을 수행할 수 있습니다.

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

도메인 확장

기존 관리 도메인에 호스트를 추가하려면 extenddomain을 사용합니다. 명령 구문은 다음과 같습니다.

hadbm extenddomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
hostlist

HADB 호스트의 IP 주소는 IPv4 주소여야 합니다.

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

도메인 삭제

관리 도메인을 제거하려면 deletedomain to를 사용합니다. 명령 구문은 다음과 같습니다.

hadbm deletedomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]

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

도메인에서 호스트 제거

관리 도메인에서 호스트를 제거하려면 reducedomain을 사용합니다. 명령 구문은 다음과 같습니다.

hadbm reducedomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
host_list

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

도메인의 호스트 나열

관리 도메인에 정의된 모든 호스트를 나열하려면 listdomain을 사용합니다. 명령 구문은 다음과 같습니다.

hadbm listdomain  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]

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

노드 관리

개별 노드에서 다음 작업을 수행할 수 있습니다.

노드 시작

하드웨어나 소프트웨어의 업그레이드 또는 교체로 인해 호스트가 오프라인이 되어 중지된 HADB 노드를 수동으로 시작해야 하는 경우가 있습니다. 또한 이중 장애 이외의 다른 이유로 인해 재시작에 실패한 경우에도 수동으로 시작해야 하는 경우가 있습니다. 이중 장애로부터 복원하는 방법에 대한 자세한 내용은 데이터베이스 지우기를 참조하십시오.

대부분의 경우 먼저 normal 시작 수준을 사용하여 노드 시작을 시도해야 합니다. normal 시작 수준이 실패하거나 시간 초과된 경우 repair 시작 수준을 사용해야 합니다.

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

hadbm startnode
 [--adminpassword=password | --adminpasswordfile=file]
 [--agent=maurl]
 [--startlevel=level]
 nodeno
 [dbname]

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

nodeno 피연산자는 시작할 노드 수를 지정합니다. 데이터베이스의 모든 노드 수를 표시하려면 hadbm status를 사용합니다.

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

시작 수준 옵션

hadbm startnode 명령에는 노드를 시작할 수준을 지정하는 한 개의 특수 옵션 --startlevel(짧은 형식: -l)이 있습니다.

노드 시작 수준은 다음과 같습니다.

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


예 3–6 노드 시작의 예

hadbm startnode 1

노드 중지

호스트 시스템의 하드웨어나 소프트웨어를 복구 또는 업그레이드하기 위해 노드를 중지해야 하는 경우가 있습니다. 노드를 중지하려면 hadbm stopnode 명령을 사용합니다. 명령 구문은 다음과 같습니다.

hadbm stopnode  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[--no-repair]  
nodeno  
[dbname]

nodeno 피연산자는 중지할 노드 수를 지정합니다. 이 노드 번호의 미러 노드는 실행 중이어야 합니다. 데이터베이스의 모든 노드 번호를 표시하려면 hadbm status를 사용합니다.

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

hadbm stopnode 명령에는 중지된 노드를 대체할 예비 노드가 없음을 나타내는 한 개의 특수 옵션 --no-repair(짧은 형식: -R)가 있습니다. 이 옵션을 사용하지 않으면 예비 노드가 시작되어 중지된 노드의 기능을 대신 수행합니다.

다른 명령 옵션의 설명에 대해서는 일반 옵션을 참조하십시오. 자세한 내용은 hadbm-stopnode(1)을 참조하십시오.


예 3–7 노드 중지의 예

hadbm stopnode 1

노드 재시작

과도한 CPU 소비 등과 같은 비정상적인 동작이 발견된 경우 노드를 재시작해야 하는 경우가 있습니다.

데이터베이스의 노드를 재시작하려면 hadbm restartnode 명령을 사용합니다. 명령 구문은 다음과 같습니다.

hadbm restartnode  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[--startlevel=level]  
nodeno  
[dbname]

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

nodeno 피연산자는 재시작할 노드 수를 지정합니다. 데이터베이스의 모든 노드 수를 표시하려면 hadbm status를 사용합니다.

hadbm restartnode 명령에는 노드를 시작할 수준을 지정하는 한 개의 특수 옵션 --startlevel(짧은 형식: -l)이 있습니다. 자세한 내용은 시작 수준 옵션을 참조하십시오.

다른 명령 옵션의 설명에 대해서는 일반 옵션을 참조하십시오. 자세한 내용은 hadbm-restartnode(1)을 참조하십시오.


예 3–8 노드 재시작의 예

hadbm restartnode 1

데이터베이스 관리

HADB 데이터베이스에 대해 다음 작업을 수행할 수 있습니다.

데이터베이스 시작

데이터베이스를 시작하려면 hadbm start 명령을 사용합니다. 이 명령은 데이터베이스가 중지되기 전에 실행 중이던 모든 노드를 시작합니다. 개별적으로 중지된(오프라인) 노드는 데이터베이스를 중지한 후 시작할 때 시작되지 않습니다.

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

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

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

명령 옵션에 대한 설명은 일반 옵션을 참조하십시오. 자세한 내용은 hadbm-start(1)을 참조하십시오.


예 3–9 데이터베이스 시작의 예

hadbm start

데이터베이스 중지

별도 작업으로 데이터베이스를 중지하고 시작하는 경우 데이터베이스가 중지된 동안에는 데이터를 사용할 수 없습니다. 데이터를 사용할 수 있도록 하려면 데이터베이스 재시작에 설명된 대로 데이터베이스를 재시작할 수 있습니다.

데이터베이스를 중지하여 다음을 수행합니다.

데이터베이스를 중지하기 전에 데이터베이스를 사용하고 있는 개별 Application Server 인스턴스를 중지하거나 ha 이외의 지속성 유형을 사용하도록 구성합니다.

데이터베이스를 중지하면 데이터베이스에서 실행되고 있는 모든 노드가 중지되고 데이터베이스가 중지됨 상태로 됩니다. 데이터베이스 상태에 대한 자세한 내용은 HADB 상태 가져오기를 참조하십시오.

데이터베이스를 중지하려면 hadbm stop 명령을 사용합니다. 명령 구문은 다음과 같습니다.

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

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

명령 옵션에 대한 설명은 일반 옵션을 참조하십시오. 자세한 내용은 hadbm-stop(1)을 참조하십시오.


예 3–10 데이터베이스 중지의 예

hadbm stop

데이터베이스 재시작

이상 동작을 발견한 경우(예: 일관된 시간 초과 문제) 데이터베이스를 재시작해야 하는 경우가 있습니다. 경우에 따라 재시작으로 문제가 해결될 수도 있습니다.

데이터베이스(y)를 재시작할 때 데이터베이스와 데이터는 계속 사용할 수 있습니다. 별도 작업으로 HADB를 중지하고 시작하는 경우 HADB가 중지된 동안에는 데이터와 데이터베이스 서비스를 사용할 수 없습니다. 기본적으로 hadbm restart는 노드의 롤링 재시작을 수행하기 때문입니다. 노드는 하나씩 중지하고 시작합니다. 이와 반대로 hadbm stop은 모든 노드를 동시에 중지합니다.

데이터베이스를 재시작하려면 hadbm restart 명령을 사용합니다. 명령 구문은 다음과 같습니다.

hadbm restart  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]  
[--no-rolling]  
[dbname]

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

이 명령에는 모든 노드를 한 번에 재시작하도록 지정하고 서비스가 손실되는 한 개의 특수 옵션 --no-rolling(짧은 형식: -g)이 있습니다. 이 옵션을 사용하지 않으면 이 명령은 데이터베이스의 각 노드를 현재 상태 또는 향상된 상태로 재시작합니다.

다른 명령 옵션의 설명에 대해서는 일반 옵션을 참조하십시오. 자세한 내용은 hadbm-restart(1)을 참조하십시오.

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

hadbm restart

데이터베이스 나열

HADB 인스턴스의 모든 데이터베이스를 나열하려면 hadbm list 명령을 사용합니다. 명령 구문은 다음과 같습니다.

hadbm list  
[--agent=maurl] 
[--adminpassword=password | --adminpasswordfile=file]

명령 옵션에 대한 설명은 일반 옵션을 참조하십시오. 자세한 내용은 hadbm-list(1)을 참조하십시오.

데이터베이스 지우기

다음과 같은 경우 데이터베이스를 지웁니다.

hadbm clear 명령은 데이터베이스 노드를 중지하고 데이터베이스 장치를 지운 후 노드를 시작합니다. 이 명령은 테이블, 사용자 이름 및 암호를 포함하여 HADB의 Application Server 스키마 데이터 저장소를 지웁니다. hadbm clear를 실행한 후 asadmin configure-ha-cluster를 사용하여 데이터 스키마를 다시 만들고 JDBC 연결 풀을 재구성한 다음, 세션 지속성 저장소를 다시 로드합니다.

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

hadbm clear  [--fast]  [--spares=number]  
[--dbpassword=password | --dbpasswordfile= file]  
[--adminpassword=password | --adminpasswordfile= file]  
[--agent=maurl] 
[dbname]

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

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

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

표 3–12 hadbm clear 옵션

옵션 

설명 

기본값 

--fast

-F 

데이터베이스를 초기화하는 동안 장치 초기화를 건너뜁니다. 디스크 저장 장치가 손상된 경우에는 사용하지 마십시오. 

적용할 수 없음 

--spares= number

-s 

재초기화된 데이터베이스가 사용할 예비 노드 수. 이 숫자는 짝수여야 하며 데이터베이스에 있는 노드 수보다 작아야 합니다. 

이전 예비 노드 수 

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

hadbm clear --fast --spares=2 --dbpassword secret123

데이터베이스 제거

기존 데이터베이스를 제거하려면 hadbm delete 명령을 사용합니다. 이 명령은 데이터베이스의 구성 파일, 장치 파일 및 내역 파일을 삭제하고 공유 메모리 자원을 해제합니다. 제거할 데이터베이스는 반드시 존재해야 하고 중지되어야 합니다. 데이터베이스 중지를 참조하십시오.

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

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

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

명령 옵션에 대한 설명은 일반 옵션을 참조하십시오. 자세한 내용은 hadbm-delete(1)을 참조하십시오.


예 3–11 데이터베이스 제거의 예

다음 명령은

hadbm delete

기본 데이터베이스 hadb를 삭제합니다.


세션 데이터 손상에서 복원

다음은 세션 데이터가 손상되었을 수 있음을 나타냅니다.

Procedure세션 저장소를 일관된 상태로 되돌리는 방법

세션 저장소가 손상된 것으로 판단되면 다음 절차에 따라 세션 저장소를 일관된 상태로 되돌립니다.

  1. 세션 저장소를 지웁니다.

    이 작업으로 문제가 해결되는지 확인합니다. 문제가 해결되면 중지합니다. 문제가 해결되지 않으면(예: 서버 로그에 오류가 계속 나타나는 경우) 계속합니다.

  2. 모든 노드에서 데이터 공간을 다시 초기화하고 데이터베이스에서 데이터를 지웁니다.

    데이터베이스 지우기를 참조하십시오.

    이 작업으로 문제가 해결되는지 확인합니다. 문제가 해결되면 중지합니다. 문제가 해결되지 않으면(예: 서버 로그에 오류가 계속 나타나는 경우) 계속합니다.

  3. 데이터베이스를 삭제한 다음 다시 만듭니다.

    데이터베이스 제거 데이터베이스 만들기를 참조하십시오.