1. Connection Pool 제어 및 모니터링 명령어
JDBC나 JCA Connection Pool에 대한 모니터링 및 제어 기능을 제공한다. 명령어들의 목록은 다음과 같다.
명령어 | 설명 |
---|---|
JDBC나 JCA Connection Pool을 모니터링한다. 특정 Connection Pool의 ID를 명시할 경우 해당 Connection Pool의 정보를 자세히 조회한다. |
|
JDBC나 JCA Connection Pool을 제어한다. Connection Pool 생성, Connection Pool 활성화, Connection Pool 비활성화, Connection Pool refresh, Connection Pool shrink가 가능하다. |
|
클러스터 데이터소스를 제어한다. 클러스터 데이터소스에 속한 컴포넌트 데이터소스의 목록을 보여주거나 failback을 수행할 수 있다. |
|
JDBC Connection Pool을 생성한다. JCA Connection Pool에 대해서는 동작하지 않는다. |
|
Active 상태의 커넥션의 연결을 강제로 끊는다. |
|
JDBC Connection Pool을 비활성화한다. JCA Connection Pool에 대해서는 동작하지 않는다. |
|
JDBC Connection Pool을 활성화한다. JCA Connection Pool에 대해서는 동작하지 않는다. |
|
JDBC Connection Pool의 커넥션들을 새로운 커넥션으로 교체한다. JCA Connection Pool에 대해서는 동작하지 않는다. |
|
Active 상태의 커넥션을 Connection Pool로 반환한다. |
|
JDBC Connection Pool의 커넥션 개수를 설정된 커넥션 최솟값으로 조정한다. JCA Connection Pool에 대해서는 동작하지 않는다. |
1.1. connection-pool-info
JDBC나 JCA Connection Pool을 모니터링한다. 특정 Connection Pool의 ID를 명시할 경우 해당 Connection Pool의 정보를 자세히 조회한다.
-
alias
cpinfo
-
사용법
connection-pool-info -server <server-name> [-id <connection-pool-id>] [-jca | -jdbc] [-jndi] [-active] [-t] [-stmt]
-
파라미터
파라미터 설명 -server <server-name>
서버 이름이다.
[-id <connection-pool-id>]
Connection Pool ID이다.
[-jca]
JCA Connection Pool의 정보만 표시한다.
[-jdbc]
JDBC Connection Pool의 정보만 표시한다.
[-jndi]
Connection Pool의 JNDI 이름을 표시한다.
[-active]
현재 서버에 생성된 Connection Pool만 표시한다.
[-t]
커넥션을 가장 최근에 사용한 Thread의 이름을 표시한다.
-id 옵션이 설정된 경우에만 유효하다.
[-stmt]
각 커넥션별 Statement Cache의 정보를 표시한다.
-
예제
[MASTER]domain1.adminServer>connection-pool-info -server server1 -jndi -jdbc The connection pool information on the server [server1]. ================================================================================ +------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ | Connection |JNDI | Min | Max | Act | Act | Act | Idle| Dis | Tot | Wait| Ena | | Pool ID |Expo | | | ive | ive | ive | |posa | al | |bled | | | rt | | | Max | |Aver | | ble | | | | | |Name | | | | | age | | | | | | +------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ | ds1 | ds1 | 2 | 30 | 0 | 0 | 0.0 | 2 | 0 | 2 | fal | true| | | | | | | | | | | |se | | +------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ | ds2 * | ds2 | 2 | 30 | 0 | 0 | 0.0 | 0 | 0 | 0 | fal | fal | | | | | | | | | | | |se |se | +------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+ * : has not been created, total = active + idle + disposable ================================================================================ [MASTER]domain1.adminServer>connection-pool-info -server server1 -id ds1 -t -jdbc Information about connections in the server [server1]'s connection pool [ds1]. ================================================================================ +---------------+-------+-------------------+-----------+--------+-------------+ | Connection ID | State | State time(sec.) | Use count | Type | Thread name | +---------------+-------+-------------------+-----------+--------+-------------+ | ds1-1 | active| 1105.954 | 1 | pooled | http-w1 | | ds1-2 | idle | 1105.923 | 0 | pooled | | +---------------+-------+-------------------+-----------+--------+-------------+ ================================================================================ [MASTER]domain1.adminServer>connection-pool-info -server server1 -id ds1 -stmt -jdbc Information about statement caches in the server [server1]'s connection pool [ds1]. ================================================================================ +--------------+-----------+--------+---------+--------+-----------+-----------+ | Connection ID| Access | Hit | Miss | Add | Remove | Current | | | Count | Count | Count | Count | Count | Size | +--------------+-----------+--------+---------+--------+-----------+-----------+ | ds1-1 | 5 | 0 | 5 | 5 | 0 | 5 | +--------------+-----------+--------+---------+--------+-----------+-----------+ | ds1-2 | 5 | 2 | 3 | 3 | 0 | 3 | +--------------+-----------+--------+---------+--------+-----------+-----------+ ================================================================================
1.2. control-connection-pool
JDBC나 JCA Connection Pool을 제어한다. Connection Pool 생성, Connection Pool 활성화, Connection Pool 비활성화, Connection Pool refresh, Connection Pool shrink가 가능하다.
-
alias
controlcp, ctrlcp
-
사용법
control-connection-pool -id <connection-pool-id> [-server <server-name>] [-enable | -shrink | -disable | -refresh | -create]
-
파라미터
파라미터 설명 -id <connection-pool-id>
Connection Pool ID이다.
[-server <server-name>]
서버 이름이다.
[-enable]
Connection Pool을 활성화한다.
[-shrink]
Connection Pool의 커넥션 개수를 설정된 커넥션 최솟값으로 조정한다.
[-disable]
Connection Pool을 비활성화한다.
[-refresh]
Connection Pool의 커넥션들을 새로운 커넥션으로 교체한다.
[-create]
Connection Pool을 생성한다.
-
예제
[MASTER]domain1.adminServer>control-connection-pool -id ds1 -server server1 -enable Servers that successfully enabled a connection pool : server1 Servers that failed to enable a connection pool : none. [MASTER]domain1.adminServer>control-connection-pool -id ds1 -server server1 -shrink Servers that successfully shrank a connection pool : server1 Servers that failed to shrink a connection pool : none. [MASTER]domain1.adminServer>control-connection-pool -id ds1 -server server1 -disable Servers that successfully disabled a connection pool : server1 Servers that failed to disable a connection pool : none. [MASTER]domain1.adminServer>control-connection-pool -id ds1 -server server1 -refresh Servers that successfully refreshed a connection pool : server1 Servers that failed to refresh a connection pool : none. [MASTER]domain1.adminServer>control-connection-pool -id ds1 -server server1 -create Servers that successfully created a connection pool : server1 Servers that failed to create a connection pool : none.
1.3. control-cluster-data-source
클러스터 데이터소스를 제어한다. 클러스터 데이터소스에 속한 컴포넌트 데이터소스의 목록을 보여주거나 failback을 수행한다.
-
alias
controlcds, ctrlcds
-
사용법
control-cluster-data-source -server <server-name> -id <data-source-id> [-failback]
-
파라미터
파라미터 설명 -server <server-name>
서버 이름이다.
-id <data-source-id>
클러스터 데이터소스 ID이다.
[-failback]
클러스터 데이터소스에 대하여 failback을 수행한다.
-
예제
[MASTER]domain1.adminServer>control-cluster-data-source -server server1 -id cds1 Component data sources of the cluster data source [cds1] : ds1, ds2 [MASTER]domain1.adminServer>control-cluster-data-source -server server1 -id cds1 -failback The failback for the cluster data source [cds1] succeeded.
1.4. create-connection-pool
JDBC Connection Pool을 생성한다. JCA Connection Pool에 대해서는 동작하지 않는다.
-
alias
createcp
-
사용법
create-connection-pool -id <connection-pool-id> [-server <server-name>]
-
파라미터
파라미터 설명 -id <connection-pool-id>
JDBC Connection Pool ID이다.
[-server <server-name>]
서버 이름이다.
-
예제
[MASTER]domain1.adminServer>create-connection-pool -id ds1 -server server1 Servers that successfully created a connection pool : server1 Servers that failed to create a connection pool : none.
1.5. destroy-connection
Active 상태의 커넥션의 연결을 강제로 끊는다.
애플리케이션에서 커넥션을 요청하여 커넥션이 현재 Active 상태인데 이 커넥션에 문제가 있다고 판단되는 경우 해당 커넥션을 중도에 강제로 파기하기 위해 이 명령어를 사용할 수 있다. 이 명령어는 Active 상태의 커넥션에 대해서만 동작한다. 단, 이 기능은 실제로 물리적 연결을 강제로 끊는 것이므로 사용에 주의를 해야 한다.
-
alias
destroyconnection
-
사용법
destroy-connection -server <server-name> [-cpid <connection-pool-id> | -cid <connection-id>]
-
파라미터
파라미터 설명 -server <server-name>
연결을 강제로 끊고자 하는 커넥션을 가지고 있는 Connection Pool이 있는 서버의 이름이다.
[-cpid <connection-pool-id>]
Connection Pool에 존재하는 모든 커넥션들에 대해 연결 끊기를 시도할 때 입력하는 Connection Pool의 ID이다.
[-cid <connection-id>]
Connection Pool에 존재하는 특정 커넥션의 연결을 강제로 끊을 때 입력하는 Connection ID이다. Connection ID는 connection-pool-info 명령에 -id 옵션을 주어 확인할 수 있다. 한번에 여러 개의 커넥션을 강제로 연결 끊고자 할 땐 여러 개의 Connection ID 값을 콤마(,)로 구분하여 입력한다.
-
예제
[MASTER]domain1.adminServer>destroy-connection -server server1 -cpid ds1 Successfully destroyed the connections from the connection pool. [MASTER]domain1.adminServer>return-connection -server server1 -cid ds1-1,ds1-2 Successfully destroyed the connections from the connection pool.
1.6. disable-connection-pool
JDBC Connection Pool을 비활성화한다. JCA Connection Pool에 대해서는 동작하지 않는다.
-
alias
disablecp
-
사용법
disable-connection-pool -id <connection-pool-id> [-server <server-name>]
-
파라미터
파라미터 설명 -id <connection-pool-id>
JDBC Connection Pool ID이다.
[-server <server-name>]
서버 이름이다.
-
예제
[MASTER]domain1.adminServer>disable-connection-pool -id ds1 -server server1 Servers that successfully disabled a connection pool : server1 Servers that failed to disable a connection pool : none.
1.7. enable-connection-pool
JDBC Connection Pool을 활성화한다. JCA Connection Pool에 대해서는 동작하지 않는다.
-
alias
enablecp
-
사용법
enable-connection-pool -id <connection-pool-id> [-server <server-name>]
-
파라미터
파라미터 설명 -id <connection-pool-id>
JDBC Connection Pool ID이다.
[-server <server-name>]
서버 이름이다.
-
예제
[MASTER]domain1.adminServer>enable-connection-pool -id ds1 -server server1 Servers that successfully enabled a connection pool : server1 Servers that failed to enable a connection pool : none.
1.8. refresh-connection-pool
JDBC Connection Pool의 커넥션들을 새로운 커넥션으로 교체한다. JCA Connection Pool에 대해서는 동작하지 않는다.
-
alias
refreshcp
-
사용법
refresh-connection-pool -id <connection-pool-id > [-server <server-name>]
-
파라미터
파라미터 설명 -id <connection-pool-id>
JDBC Connection Pool ID이다.
[-server <server-name>]
서버 이름이다.
-
예제
[MASTER]domain1.adminServer>refresh-connection-pool -id ds1 -server server1 Servers that successfully refreshed a connection pool : server1 Servers that failed to refresh a connection pool : none.
1.9. return-connection
Active 상태의 커넥션을 Connection Pool로 반환한다.
애플리케이션에서 커넥션을 close해주지 않았을 때 데이터소스 설정에서 Action On Connection Leak 설정값이 AutoClose로 되어있지 않으면 지속적으로 커넥션이 Active 상태로 남아 있게 되는 Leak이 발생하는데, 이러한 경우에 이 명령어를 사용할 수 있다. 이 명령어는 Active 상태의 커넥션에 대해서만 동작한다. 단, 반환하려는 커넥션이 현재 진행 중인 트랜잭션에 작업 중인 경우 반환되지 않는다. 그리고 명령어가 수행되어 커넥션 반환하는 중에 에러가 발생하면 해당 커넥션은 destroy 된다.
-
alias
returnconnection
-
사용법
return-connection -server <server-name> [-cpid <connection-pool-id> | -cid <connection-id>]
-
파라미터
파라미터 설명 -server <server-name>
연결 반환하고자 하는 커넥션을 가지고 있는 Connection Pool이 있는 서버의 이름이다.
[-cpid <connection-pool-id>]
Connection Pool에 존재하는 모든 커넥션들에 대해 연결 반환을 시도할 때 입력하는 Connection Pool의 ID이다.
[-cid <connection-id>]
Connection Pool에 존재하는 특정 커넥션의 연결을 Connection Pool로 반환할 때 입력하는 Connection ID이다. Connection ID는 connection-pool-info 명령에 -id 옵션을 주어 확인할 수 있다. 한번에 여러 개의 커넥션을 Connection Pool로 연결 반환하고자 할 땐 여러 개의 Connection ID 값을 콤마(,)로 구분하여 입력한다.
-
예제
[MASTER]domain1.adminServer>return-connection -server server1 -cpid ds1 Successfully returned the connections to the connection pool. [MASTER]domain1.adminServer>return-connection -server server1 -cid ds1-1,ds1-2 Successfully returned the connections to the connection pool.
1.10. shrink-connection-pool
JDBC Connection Pool의 커넥션 개수를 설정된 커넥션 최솟값으로 조정한다. JCA Connection Pool에 대해서는 동작하지 않는다.
-
alias
shrinkcp
-
사용법
shrink-connection-pool -id <connection-pool-id****> [-server <server-name>]
-
파라미터
파라미터 설명 -id <connection-pool-id>
JDBC Connection Pool ID이다.
[-server <server-name>]
서버 이름이다.
-
예제
[MASTER]domain1.adminServer>shrink-connection-pool -id ds1 -server server1 Servers that successfully shrank a connection pool : server1 Servers that failed to shrink a connection pool : none.