일반적으로 네트워크, 하드웨어, 운영 체제 또는 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)이 있습니다.
노드 시작 수준은 다음과 같습니다.
normal(기본값): (메모리 및 디스크의 데이터 장치 파일의) 노드에서 로컬에 있는 데이터로 노드를 시작하고 누락된 최근 업데이트를 위해 미러와 동기화합니다.
repair: 노드가 로컬 데이터를 무시하고 미러에서 복사합니다.
clear: 노드에 대한 장치를 다시 초기화하고 미러 노드에서 데이터를 복구합니다. 장치 파일이 손상되었거나 장치 파일이 포함된 디스크를 교체한 경우, 장치 파일을 초기화해야 할 때 사용합니다.
다른 명령 옵션의 설명에 대해서는 일반 옵션을 참조하십시오.
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)을 참조하십시오.
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)을 참조하십시오.
hadbm restartnode 1
HADB 데이터베이스에 대해 다음 작업을 수행할 수 있습니다.
데이터베이스를 시작하려면 hadbm start 명령을 사용합니다. 이 명령은 데이터베이스가 중지되기 전에 실행 중이던 모든 노드를 시작합니다. 개별적으로 중지된(오프라인) 노드는 데이터베이스를 중지한 후 시작할 때 시작되지 않습니다.
명령 구문은 다음과 같습니다.
hadbm start [--adminpassword=password | --adminpasswordfile=file] [--agent=maurl] [dbname]
dbname 피연산자는 데이터베이스 이름을 지정합니다. 기본값은 hadb입니다.
명령 옵션에 대한 설명은 일반 옵션을 참조하십시오. 자세한 내용은 hadbm-start(1)을 참조하십시오.
hadbm start
별도 작업으로 데이터베이스를 중지하고 시작하는 경우 데이터베이스가 중지된 동안에는 데이터를 사용할 수 없습니다. 데이터를 사용할 수 있도록 하려면 데이터베이스 재시작에 설명된 대로 데이터베이스를 재시작할 수 있습니다.
데이터베이스를 중지하여 다음을 수행합니다.
데이터베이스를 제거합니다.
모든 HADB 노드에 영향을 주는 시스템 유지 관리를 수행합니다.
데이터베이스를 중지하기 전에 데이터베이스를 사용하고 있는 개별 Application Server 인스턴스를 중지하거나 ha 이외의 지속성 유형을 사용하도록 구성합니다.
데이터베이스를 중지하면 데이터베이스에서 실행되고 있는 모든 노드가 중지되고 데이터베이스가 중지됨 상태로 됩니다. 데이터베이스 상태에 대한 자세한 내용은 HADB 상태 가져오기를 참조하십시오.
데이터베이스를 중지하려면 hadbm stop 명령을 사용합니다. 명령 구문은 다음과 같습니다.
hadbm stop [--adminpassword=password | --adminpasswordfile= file] [--agent=maurl] [dbname]
dbname 피연산자는 데이터베이스 이름을 지정합니다. 기본값은 hadb입니다.
명령 옵션에 대한 설명은 일반 옵션을 참조하십시오. 자세한 내용은 hadbm-stop(1)을 참조하십시오.
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 status 명령이 데이터베이스가 작동 중이 아님을 나타냅니다. HADB 상태 가져오기를 참조하십시오.
여러 노드가 응답하지 않으며 오랜 시간 동안 대기 상태에 있습니다.
세션 데이터 손상에서 복원하고 있습니다. 세션 데이터 손상에서 복원을 참조하십시오.
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 옵션
옵션 |
설명 |
기본값 |
---|---|---|
-F |
데이터베이스를 초기화하는 동안 장치 초기화를 건너뜁니다. 디스크 저장 장치가 손상된 경우에는 사용하지 마십시오. |
적용할 수 없음 |
-s |
재초기화된 데이터베이스가 사용할 예비 노드 수. 이 숫자는 짝수여야 하며 데이터베이스에 있는 노드 수보다 작아야 합니다. |
이전 예비 노드 수 |
예를 들면 다음과 같습니다.
hadbm clear --fast --spares=2 --dbpassword secret123
기존 데이터베이스를 제거하려면 hadbm delete 명령을 사용합니다. 이 명령은 데이터베이스의 구성 파일, 장치 파일 및 내역 파일을 삭제하고 공유 메모리 자원을 해제합니다. 제거할 데이터베이스는 반드시 존재해야 하고 중지되어야 합니다. 데이터베이스 중지를 참조하십시오.
명령 구문은 다음과 같습니다.
hadbm delete [--adminpassword=password | --adminpasswordfile=file] [--agent=maurl] [dbname]
dbname 피연산자는 데이터베이스 이름을 지정합니다. 기본값은 hadb입니다.
명령 옵션에 대한 설명은 일반 옵션을 참조하십시오. 자세한 내용은 hadbm-delete(1)을 참조하십시오.
다음 명령은
hadbm delete
기본 데이터베이스 hadb를 삭제합니다.
다음은 세션 데이터가 손상되었을 수 있음을 나타냅니다.
응용 프로그램이 세션 상태를 저장하려고 할 때마다 Application Server 시스템 로그(server.log)에 오류 메시지가 나타납니다.
서버 로그의 오류 메시지는 세션을 찾을 수 없거나 세션 활성화 도중 로드하지 못했음을 나타냅니다.
이전에 비활성화된 후에 활성화된 세션에 비어 있거나 잘못된 세션 데이터가 포함되어 있습니다.
인스턴스가 실패한 경우 페일오버된 세션에 비어 있거나 잘못된 세션 데이터가 포함되어 있습니다.
인스턴스가 실패한 경우 페일오버 세션을 로드하려는 인스턴스는 서버 로그에 세션을 찾을 수 없거나 로드하지 못했음을 나타내는 오류를 기록합니다.
세션 저장소가 손상된 것으로 판단되면 다음 절차에 따라 세션 저장소를 일관된 상태로 되돌립니다.
세션 저장소를 지웁니다.
이 작업으로 문제가 해결되는지 확인합니다. 문제가 해결되면 중지합니다. 문제가 해결되지 않으면(예: 서버 로그에 오류가 계속 나타나는 경우) 계속합니다.
모든 노드에서 데이터 공간을 다시 초기화하고 데이터베이스에서 데이터를 지웁니다.
데이터베이스 지우기를 참조하십시오.
이 작업으로 문제가 해결되는지 확인합니다. 문제가 해결되면 중지합니다. 문제가 해결되지 않으면(예: 서버 로그에 오류가 계속 나타나는 경우) 계속합니다.
데이터베이스를 삭제한 다음 다시 만듭니다.
데이터베이스 제거 및 데이터베이스 만들기를 참조하십시오.