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

데이터베이스 만들기

hadbm create 명령을 사용하여 데이터베이스를 수동으로 만듭니다.

이 명령을 사용하여 데이터베이스를 만들기 전에 관리 도메인을 만들고 HADB 패키지를 등록합니다. hadbm create를 실행할 때 이 두 단계를 수행하지 않은 경우 이 명령은 해당 단계를 암시적으로 수행합니다. 거의 동작하지 않는 것처럼 보일 수 있지만 이 명령 중 하나라도 실패하면 디버깅이 어려워질 수 있습니다. hadbm create는 기본 단위가 아닙니다. 즉, 암시적 명령 중 하나가 실패하면 성공적으로 실행된 명령이 롤백되지 않습니다. 따라서 도메인을 만들고 HADB 패키지를 등록한 후에만 데이터베이스를 만드는 것이 가장 좋습니다.

예를 들어 hadbm createdomainhadbm registerpackage는 성공적으로 실행되지만 hadbm create database가 실패한 경우 hadbm createdomainhadbm registerpackage에 의한 변경 사항은 지속됩니다.

Procedure데이터베이스를 만드는 방법

  1. 관리 도메인을 만듭니다.

    자세한 내용은 관리 도메인 만들기를 참조하십시오.

  2. HADB 패키지를 등록합니다.

    자세한 내용은 HADB 패키지 등록을 참조하십시오.

  3. hadbm create 명령을 사용하여 데이터베이스를 만듭니다.

    명령 구문에 대한 자세한 내용은 다음 절을 참조하십시오.

hadbm create 명령 구문

hadbm create [--package= name] [--packagepath= path] [--historypath= path] [--devicepath= path] [--datadevices= number ] [--portbase= number] [--spares=number ] [--set=attr-val-list ] [--agent=maurl] [--no-cleanup] [ --no-clear ] [ --devicesize =size] [--dbpassword=password | --dbpasswordfile=file ] --hosts=host list [-- adminpassword=password | -- adminpasswordfile=file | -- no-adminauthentication ] [dbname ]

dbname 피연산자는 고유해야 하는 데이터베이스 이름을 지정합니다. 데이터베이스 이름이 고유한지 확인하려면 hadbm list 명령을 사용하여 기존 데이터베이스 이름을 나열합니다. 여러 데이터베이스를 만들 필요가 없으면 기본 데이터베이스 이름을 사용합니다. 예를 들어 동일한 HADB 시스템 집합에 독립적인 데이터베이스가 있는 여러 클러스터를 만들려면 각 클러스터에 별도의 데이터베이스 이름을 사용합니다.

hadbm create 명령은 로그 파일이 아닌 콘솔에 오류 메시지를 기록합니다.

표 3–7에서는 특수한 hadbm create 명령 옵션에 대해 설명합니다. 추가적인 명령 옵션에 대한 설명은 일반 옵션을 참조하십시오.

표 3–7 hadbm create 옵션

옵션(짧은 형식) 

설명 

기본값 

--datadevices= number

-a 

각 노드의 데이터 장치 수(1~8)데이터 장치에는 0부터 시작하는 번호가 지정됩니다. 

--devicepath= path

-d 

장치에 대한 경로. 다음 네 개의 장치가 있습니다. 

  • DataDevice

  • NiLogDevice(노드 내부 로그 장치)

  • RelalgDevice(관계형 algebra 쿼리 장치)

  • NoManDevice(노드 관리자 장치).

    이 경로는 반드시 존재해야 하며 쓰기 가능해야 합니다. 각 노드 또는 각 장치마다 이 경로를 서로 다르게 설정하려면 이기종 장치 경로 설정을 참조하십시오.

Solaris 및 Linux: /var/opt/SUNWhadb

Windows: C:\Sun\AppServer\SUNWhadb\vers. 여기서 vers는 HADB 버전 번호입니다.

기본값은 관리 에이전트 구성 파일의 ma.server.dbdevicepath로 지정됩니다. 자세한 내용은 구성 파일을 참조하십시오.

--devicesize= size

-z 

각 노드의 장치 크기. 자세한 내용은 장치 크기 지정을 참조하십시오.

기존 노드에 저장 공간 추가에 설명된 대로 장치 크기를 늘립니다.

1024MB 

최대 크기는 최대 운영 체제 파일 크기 또는 256GB 중 작은 크기입니다. 최대 크기는 다음과 같습니다. 

(4 x LogbufferSize + 16MB) / n

여기서 n은 옵션 --datadevices에서 제공된 데이터 장치 수입니다.

--historypath= path

-t 

내역 파일에 대한 경로. 이 경로는 반드시 존재해야 하며 쓰기 가능해야 합니다. 

내역 파일에 대한 자세한 내용은 내역 파일 지우기 및 아카이브를 참조하십시오.

기본값은 관리 에이전트 구성 파일의 ma.server.dbhistorypath로 지정됩니다. 자세한 내용은 구성 파일을 참조하십시오.

Solaris 및 Linux:/var/opt/SUNWhadb

Windows: REPLACEDIR(런타임에 실제 URL로 바뀜) 

--hosts= hostlist

-H 

데이터베이스의 노드에 대한 호스트 이름 또는 IP 주소(IPv4만)의 쉼표로 구분된 목록입니다. DNS 조회에 대한 종속성을 방지하려면 IP 주소를 사용합니다. 호스트 이름은 절대적이어야 합니다. localhost 또는 127.0.0.1을 호스트 이름으로 사용할 수 없습니다.

자세한 내용은 호스트 지정을 참조하십시오.

없음 

--package=name -k

HADB 패키지의 이름(버전). 패키지가 없으면 기본 패키지가 등록됩니다. 

이 옵션은 더 이상 사용되지 않습니다. 도메인의 패키지를 등록하려면 hadbm registerpackage 명령을 사용합니다. 

없음 

--packagepath=path-L

HADB 소프트웨어 패키지에 대한 경로. 패키지가 도메인에 등록되지 않은 경우에만 사용합니다. 

이 옵션은 더 이상 사용되지 않습니다. 도메인의 패키지를 등록하려면 hadbm registerpackage 명령을 사용합니다. 

없음 

--portbase= number

-b 

노드 0에 사용되는 포트 기본 번호입니다. 연속되는 노드는 이 숫자부터 20단계로 자동 할당되는 포트 기본 번호입니다. 각 노드는 포트 기본 번호 및 다음 다섯 개의 연속되는 번호가 지정된 포트를 사용합니다. 

동일한 시스템에서 여러 데이터베이스를 실행하려면 포트 번호를 명시적으로 할당하도록 계획해야 합니다. 

15200 

--spares= number

-s 

예비 노드의 수. 이 숫자는 짝수여야 하며 --hosts 옵션에 지정된 노드 수보다 작아야 합니다.

--set=attr-val-list

-S 

데이터베이스 구성 속성(name =value 형식)의 쉼표로 구분된 목록. 데이터베이스 구성 속성에 대한 설명은 내역 파일 지우기 및 아카이브를 참조하십시오.

없음 


예 3–3 데이터베이스 만들기의 예

다음 명령은 데이터베이스를 만드는 예입니다.

hadbm create --spares 2 --devicesize 1024 --dbpassword secret123
 --hosts n0,n1,n2,n3,n4,n5

호스트 지정

--hosts 옵션을 사용하여 데이터베이스의 노드에 대한 호스트 이름 또는 IP 주소의 쉼표로 구분된 목록을 지정합니다. hadbm create 명령은 목록의 각 호스트 이름(또는 IP 주소)에 대해 한 개의 노드를 만듭니다. 노드 수는 짝수여야 합니다. 중복되는 호스트 이름을 사용하여 동일한 시스템에 포트 번호가 다른 여러 노드를 만듭니다. 동일한 시스템의 노드가 미러 노드가 아닌지 확인합니다.

노드에는 이 옵션에 나열된 순서로 0부터 시작하여 번호가 지정됩니다. 첫 번째 미러되는 쌍은 노드 0과 1이고, 두 번째는 2와 3 등의 순서입니다. 홀수 번호가 지정된 노드는 한 DRU에 있고, 짝수 번호가 지정된 노드는 다른 DRU에 있습니다. --spares 옵션을 사용하는 예비 노드는 숫자가 가장 큽니다.

이중 네트워크 인터페이스 구성에 대한 자세한 내용은 네트워크 중복 구성을 참조하십시오.

장치 크기 지정

--devicesize 옵션을 사용하여 장치 크기를 지정합니다. 권장하는 장치 크기는 다음과 같습니다.

(4x / nd + 4l/d) / 0.99

여기서,

이기종 장치 경로 설정

각 노드 또는 서비스에 대해 서로 다른 장치 경로를 설정하려면 hadbm create-- set 옵션을 사용합니다. 장치 유형에는 DataDevice, NiLogDevice(노드 내부 로그 장치), RelalgDevice(관계형 algebra 쿼리 장치) 및 NoManDevice(노드 관리자 장치)의 네 가지 유형이 있습니다. 각 name =value 쌍의 구문은 다음과 같습니다. 여기서 -devnodeviceDataDevice인 경우에만 필수입니다.

node-nodeno.device-devno.Devicepath

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

--set Node-0.DataDevice-0.DevicePath=/disk0,
Node-1.DataDevice-0.DevicePath=/disk 1

다음과 같이 내역 파일에 이기종 경로를 설정할 수도 있습니다.

node-nodeno.historypath=path

내역 파일에 대한 자세한 내용은 내역 파일 지우기 및 아카이브를 참조하십시오.

특정 노드 또는 장치로 설정되지 않은 장치 경로의 기본값은 --devicepath입니다.


주 –

hadbm sethadbm addnodes 명령을 사용하여 내역 파일의 위치와 장치 경로를 변경합니다.


문제 해결

데이터베이스를 만들 때 문제가 발생하는 경우 다음을 확인하십시오.