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

HADB 구성

이 절에서는 다음과 같은 기본 HADB 구성 작업에 대해 설명합니다.

관리 도메인 만들기

hadbm createdomain 명령은 지정된 HADB 호스트가 포함된 관리 도메인을 만들고 호스트 및 지속성 구성 저장소 간의 내부 통신 채널을 초기화합니다.

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

hadbm createdomain
 [--adminpassword=password |--adminpasswordfile=
file | --no-adminauthentication] [--agent=maurl]
 hostlist

hostlist 피연산자는 쉼표로 구분된 HADB 호스트의 목록이며 각 호스트는 유효한 IPv4 네트워크 주소입니다. 새 도메인에 원하는 모든 호스트를 hostlist에 포함시킵니다.

명령 옵션에 대한 설명은 일반 옵션을 참조하십시오.

이 명령을 사용하기 전에 hostlist의 모든 호스트에 HADB 관리 에이전트가 실행되고 있는지 확인하십시오. 또한 관리 에이전트는 다음 조건에 맞아야 합니다.

hadbm은 관리 도메인을 만든 후에 도메인의 모든 호스트를 활성화합니다. 그런 다음 관리 에이전트는 데이터베이스를 관리할 수 있게 됩니다. HADB 도메인을 만들고 나면, 다음 단계에서 HADB 데이터베이스를 만듭니다. HADB 데이터베이스 만들기에 대한 자세한 내용은 데이터베이스 만들기를 참조하십시오.


예 3–2 HADB 관리 도메인 만들기

다음 예에서는 네 개의 지정된 호스트에 관리 도메인을 만듭니다.

hadbm createdomain --adminpassword= password host1,host2,host3,host4

hadbm이 명령을 성공적으로 실행하면 다음 메시지가 표시됩니다.

Domain host1,host2,host3, host4 created.

HADB 도메인을 만든 후에는 HADB 패키지의 경로와 버전을 관리 에이전트에 등록합니다.


데이터베이스 만들기

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 명령을 사용하여 내역 파일의 위치와 장치 경로를 변경합니다.


문제 해결

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

구성 속성 보기 및 수정

속성 hadbm get 및 hadbm set 명령을 각각 사용하여 데이터베이스 구성을 보고 수정할 수 있습니다.

구성 속성의 값 가져오기

구성 속성의 값을 가져오려면 hadbm get 명령을 사용합니다. 유효한 속성 목록은 구성 속성을 참조하십시오. 명령 구문은 다음과 같습니다.

hadbm get attribute-list | --all  
[dbname]  
[--adminpassword=password | --adminpasswordfile=file]  
[--agent=maurl]

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

attribute-list 피연산자는 쉼표로 구분되거나 따옴표가 붙은 공백으로 구분된 속성 목록입니다. --all 옵션은 모든 속성의 값을 표시합니다. hadbm get에 대한 모든 속성의 목록은 구성 속성을 참조하십시오.

명령 옵션에 대한 설명은 일반 옵션을 참조하십시오.


예 3–4 hadbm get 사용의 예

hadbm get JdbcUrl,NumberOfSessions

구성 속성의 값 설정

구성 속성의 값을 설정하려면 hadbm set 명령을 사용합니다. 유효한 속성 목록은 구성 속성을 참조하십시오.

hadbm set [dbname] attribute
=value[,attribute=
value...]
 [--adminpassword=password | --adminpasswordfile=file]
 [--agent=maurl]

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

attribute=value 목록은 쉼표로 구분되거나 따옴표가 붙은 공백으로 구분된 속성 목록입니다.

명령 옵션에 대한 설명은 일반 옵션을 참조하십시오.

이 명령이 성공적으로 실행되면 데이터베이스가 이전 상태 또는 이전보다 향상된 상태로 다시 시작됩니다. 데이터베이스 상태에 대한 자세한 내용은 HADB 상태 가져오기를 참조하십시오. 데이터베이스 재시작에 설명된 대로 HADB를 다시 시작합니다.

hadbm set으로는 다음 속성을 설정할 수 없습니다. 대신, 데이터베이스를 만들 때 해당 속성을 설정합니다( 데이터베이스 만들기 참조).


주 –

hadbm set을 사용하여 ConnectionTrace 또는 SQLTraceMode를 제외한 구성 속성을 설정하면 HADB의 롤링이 재시작됩니다. 롤링 재시작에서 각 노드가 중지되고 한 번에 하나씩 새 구성으로 시작됩니다. HADB 서비스는 인터럽트되지 않습니다.

ConnectionTrace 또는 SQLTraceMode를 설정하면 롤링 재시작이 발생하지 않지만 변경 내용은 Application Server 인스턴스에서 만든 새 HADB에만 적용됩니다.


구성 속성

다음 표에서는 hadbm set으로 수정하고 hadbm get으로 검색할 수 있는 구성 속성을 나열합니다.

표 3–8 구성 속성

속성 

설명 

기본값 

Range 

ConnectionTrace

값이 true이면, 클라이언트 연결(JDBC, ODBC)이 초기화 또는 종료될 때 HADB 내역 파일에 메시지를 기록합니다. 

False 

True 또는 False 

CoreFile

기본값을 변경하지 마십시오. 

False 

True 또는 False 

DatabaseName

데이터베이스의 이름 

hadb 

 

DataBufferPoolSize

공유 메모리에 할당된 데이터 버퍼 풀의 크기 

200MB 

16 - 2047MB 

DataDeviceSize

노드의 장치 크기를 지정합니다. 권장하는 DataDeviceSize에 대한 자세한 내용은 장치 크기 지정을 참조하십시오.

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

(4 x LogbufferSize + 16MB) / n

여기서 n은 데이터 장치 수입니다.

1024MB 

32 - 262144MB 

PackageName 

데이터베이스에서 사용하는 HADB 소프트웨어 패키지의 이름 

V4.x.x.x 

없음 

DevicePath

장치의 위치. 장치는 다음과 같습니다. 

  • 데이터 장치(DataDevice)

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

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

Solaris 및 Linux: /var/opt/SUNWhadb

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

 

EagerSessionThreshold

일반 또는 eager 유휴 세션 만료 중 사용되는 항목을 확인합니다. 

일반 유휴 세션 만료의 경우 SessionTimeout초를 초과하여 유휴 상태인 세션이 만료됩니다.

동시 세션의 수가 최대 세션 수의 EagerSessionThreshold 퍼센트를 초과하면 EagerSessionTimeout초를 초과하여 유휴 상태인 세션이 만료됩니다.

NumberOfSessions 속성의 절반 

0 - 100 

EagerSessionTimeout

eager 세션 만료가 사용될 때 데이터베이스 연결이 만료되기 전까지 유휴 상태일 수 있는 시간(초)입니다. 

120초 

0-2147483647초 

EventBufferSize

데이터베이스 이벤트가 기록되는 이벤트 버퍼의 크기. 0으로 설정하면 이벤트 버퍼 로깅이 수행되지 않습니다.

장애 발생 시에는 이벤트 버퍼가 덤프되는데, 이는 실패의 원인에 대한 중요한 정보를 제공하며 테스트 배포 도중 유용합니다. 

이벤트를 메모리에 기록하면 성능 저하가 발생할 수 있습니다. 

0MB

0-2097152MB 

HistoryPath

정보, 경고 및 오류 메시지가 포함된 HADB 내역 파일의 위치 

읽기 전용 속성입니다. 

Solaris 및 Linux: /var/opt/SUNWhadb

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

 

InternalLogbufferSize

데이터 저장 관련 작업을 추적하는 노드 내부 로그 장치의 크기 

12MB 

4 - 128MB 

JdbcUrl

데이터베이스에 대한 JDBC 연결 URL 

읽기 전용 속성입니다. 

없음 

 

LogbufferSize

데이터 관련 작업을 추적하는 로그 버퍼의 크기 

48MB 

4 - 2048MB 

MaxTables

HADB 데이터베이스에서 허용되는 최대 테이블 수 

1100 

100 - 1100 

NumberOfDatadevices

HADB 노드에서 사용하는 데이터 장치 수 

읽기 전용 속성입니다. 

1 - 8 

NumberOfLocks

HADB 노드에서 할당된 잠금 수 

50000 

20000-1073741824 

NumberOfSessions

HADB 노드에 대해 열 수 있는 최대 세션(데이터베이스 연결) 수 

100 

1 - 10000 

PortBase

HADB 프로세스마다 서로 다른 포트 번호를 만드는 데 사용되는 기본 포트 번호 

읽기 전용 속성입니다. 

15200 

10000 - 63000 

RelalgDeviceSize

관계형 algebra 쿼리에 사용되는 장치의 크기 

128MB 

32 - 262144MB 

SessionTimeout

일반 세션 만료가 사용될 때 데이터베이스 연결이 만료되기 전까지 유휴 상태일 수 있는 시간(초)입니다. 

1800초 

0-2147483647초 

SQLTraceMode

내역 파일에 기록되어 실행된 SQL 쿼리에 대한 정보의 양 

SHORT인 경우 SQL 세션의 로그인과 로그아웃이 기록됩니다. FULL인 경우 매개 변수 값을 포함하여 준비 및 실행 중인 모든 SQL 쿼리가 기록됩니다.

NONE 

NONE/SHORT/ FULL 

StartRepairDelay

실패한 활성 노드가 노드 복원을 수행하도록 예비 노드가 허용하는 최대 시간. 실패한 노드가 이 시간 간격 내에 복원될 수 없으면 예비 노드는 실패한 노드의 미러에서 데이터를 복사하기 시작하고 활성 상태가 됩니다. 기본값은 변경하지 않는 것이 좋습니다. 

20초 

0 - 100000초 

StatInterval

HADB 노드가 처리량과 응답 시간 통계를 내역 파일에 기록하는 간격. 이 값을 비활성화하려면 0으로 설정합니다. 

통계 행의 예는 다음과 같습니다. 

Req-reply time: # 123, min= 69 avg= 1160 max= 9311 %=100.0

# 기호 뒤의 숫자는 StatInterval을 통해 서비스된 요청의 수입니다. 다음의 세 숫자는 StatInterval을 통해 완료된 트랜잭션에 걸린 최소, 평균 및 최대 시간(밀리초)입니다. % 기호 뒤의 숫자는 StatInterval을 통해 15밀리초 안에 성공적으로 완료된 트랜잭션의 수입니다.

600초 

0 - 600초 

SyslogFacility

syslog에 보고할 때 사용되는 기능syslog 데몬이 구성되어야 합니다(자세한 내용은 man syslogd.conf 참조).

동일한 시스템에서 실행 중인 다른 응용 프로그램에서 사용하지 않는 기능을 사용합니다.  

syslog 로깅을 비활성화하려면 none으로 설정합니다.

local0 

local0, local1, local2, local3, local4, local5, local6, local7, kern, user, mail, daemon, auth, syslog, lpr, news, uucp, cron, none 

SysLogging

값이 true이면, HADB 노드는 운영 체제의 syslog 파일에 정보를 기록합니다.

True 

True 또는 False 

SysLogLevel

운영 체제의 syslog 파일에 저장된 HADB 메시지의 최소 수준. 이 수준과 같거나 높은 모든 메시지가 기록됩니다. 예를 들어 “info”는 모든 메시지를 기록합니다.

warning 

none, alert, error, warning, info 

SyslogPrefix

HADB에서 기록된 모든 syslog 메시지 앞에 삽입되는 텍스트 문자열

hadb -dbname 

 

TakeoverTime

노드가 실패한 시간과 미러를 시작하는 시간 사이의 시간. 기본값을 변경하지 마십시오. 

10000(밀리초) 

500 - 16000밀리초 

JDBC 연결 풀 구성

Application Server는 JDBC(Java Database Connectivity) API를 사용하여 HADB와 통신합니다. asadmin configure-ha-cluster 명령은 cluster-name 클러스터에 대해 HADB와 함께 사용할 JDBC 연결 풀을 자동으로 만듭니다. 연결 풀의 이름은 cluster-name-hadb-pool입니다. JDBC 자원의 JNDI URL은 jdbc/cluster-name -hastore입니다.

일반적으로 연결 풀의 초기 구성이면 충분합니다. 노드를 추가할 때 각 HADB 활성 노드에 8개의 연결이 있도록 고정 풀 크기를 변경합니다. 노드 추가를 참조하십시오.

이 장은 다음 내용으로 구성되어 있습니다.

JDBC URL 가져오기

JDBC 연결 풀을 설정하려면 먼저 다음과 같이 hadbm get 명령을 사용하여 HADB의 JDBC URL을 확인해야 합니다.

hadbm get JdbcUrl [dbname]

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

hadbm get JdbcUrl

이 명령은 다음과 같은 형식의 JDBC URL을 표시합니다.

jdbc:sun:hadb:host:port,
host:port,...

jdbc:sun:hadb: 접두어를 제거하고 host:port, host:port... 부분을 표 3–10에 설명된 대로 serverList 연결 풀 등록 정보의 값으로 사용합니다.

연결 풀 만들기

다음 표에서는 HADB에 필요한 연결 풀 설정을 요약하여 설명합니다. 노드를 추가할 때 고정 풀 크기를 변경합니다. 그러나 다른 설정은 변경하지 마십시오.

표 3–9 HADB 연결 풀 설정

설정 

HADB에 필요한 값 

Name

HADB JDBC 자원의 풀 이름 설정은 이 이름을 참조해야 합니다. 

Database Vendor

HADB 4.4 

Global Transaction Support

선택하지 않음/false 

DataSource Classname

com.sun.hadb.jdbc.ds.HadbDataSource

Steady Pool Size

각 활성 HADB노드에 대해 8개의 연결을 사용합니다. 자세한 내용은 System Deployment Guide를 참조하십시오.

Connection Validation Required

선택함/true 

Validation Method

meta-data

Table Name

지정하지 않습니다. 

Fail All Connections

선택하지 않음/false 

Transaction Isolation

repeatable-read

Guarantee Isolation Level

선택함/true 

다음은 HADB에 필요한 연결 풀 등록 정보를 요약한 표입니다. 노드를 추가할 때 serverList를 변경합니다. 그러나 다른 등록 정보는 변경하지 마십시오.

표 3–10 HADB 연결 풀 등록 정보

등록 정보 

설명 

username

asadmin create-session-store 명령에 사용할 storeuser의 이름입니다.

password

asadmin create-session-store 명령에 사용할 암호(storepassword)입니다.

serverList

HADB의 JDBC URL입니다. 이 값을 확인하려면 JDBC URL 가져오기를 참조하십시오.

데이터베이스에 노드를 추가하는 경우 이 값을 변경해야 합니다. 노드 추가를 참조하십시오.

cacheDatabaseMetaData

값이 false이면, Connection.getMetaData()를 호출할 때 데이터베이스에 대한 호출이 이루어져 연결이 유효한지 확인합니다.

eliminateRedundantEndTransaction

값이 true이면, 중복되는 완결/롤백 요청을 제거하고 열려 있는 트랜잭션이 없을 때 이들 요청을 무시하여 성능을 향상시킵니다.

maxStatement

드라이버 문 풀에 캐시된 열려 있는 연결당 문의 최대 수입니다. 이 등록 정보를 20으로 설정하십시오.


예 3–5 연결 풀 만들기

HADB JDBC 연결 풀을 만드는 asadmin create-jdbc-connection-pool 명령의 예는 다음과 같습니다.

asadmin create-jdbc-connection-pool
--user adminname --password secret 
--datasourceclassname com.sun.hadb.jdbc.ds.HadbDataSource
--steadypoolsize=32
--isolationlevel=repeatable-read
--isconnectvalidatereq=true
--validationmethod=meta-data
--property username=storename:password=secret456:serverList=
host\:port,host\:port,
host\\:port,host\:port,
host\:port,host\:port
:cacheDatabaseMetaData=false:eliminateRedundantEndTransaction=true hadbpool

Solaris에서는 등록 정보 값 내의 콜론 문자(:)에 이중 백슬래시(\\)를 이스케이프 문자로 사용합니다. Windows에서는 콜론 문자(:)에 단일 백슬래시(\)를 이스케이프 문자로 사용합니다.


JDBC 자원 만들기

다음 표에서는 HADB에 필요한 JDBC 자원 설정을 요약하여 설명합니다.

표 3–11 HADB JDBC 자원 설정

설정 

설명 

JNDI Name

다음 JNDI 이름은 세션 지속성 구성의 기본값입니다. jdbc/hastore. 기본 이름을 사용하거나 다른 이름을 사용할 수 있습니다.

또한 가용성 서비스를 활성화할 때 이 JNDI 이름을 store-pool-jndi-name 지속성 저장소 등록 정보의 값으로 지정해야 합니다.

Pool Name

이 JDBC 자원에서 사용하는 HADB 연결 풀의 이름 또는 아이디를 목록에서 선택합니다. 자세한 내용은 네트워크 중복 구성을 참조하십시오.

Data Source Enabled

선택함/true