1. Connection Pool 제어 및 모니터링 명령어

JDBC나 JCA Connection Pool에 대한 모니터링 및 제어 기능을 제공한다. 명령어들의 목록은 다음과 같다.

명령어 설명

connection-pool-info

JDBC나 JCA Connection Pool을 모니터링한다.

특정 Connection Pool의 ID를 명시할 경우 해당 Connection Pool의 정보를 자세히 조회한다.

control-connection-pool

JDBC나 JCA Connection Pool을 제어한다.

Connection Pool 생성, Connection Pool 활성화, Connection Pool 비활성화, Connection Pool refresh, Connection Pool shrink가 가능하다.

control-cluster-data-source

클러스터 데이터소스를 제어한다. 클러스터 데이터소스에 속한 컴포넌트 데이터소스의 목록을 보여주거나 failback을 수행할 수 있다.

create-connection-pool

JDBC Connection Pool을 생성한다.

JCA Connection Pool에 대해서는 동작하지 않는다.

destroy-connection

Active 상태의 커넥션의 연결을 강제로 끊는다.

disable-connection-pool

JDBC Connection Pool을 비활성화한다.

JCA Connection Pool에 대해서는 동작하지 않는다.

enable-connection-pool

JDBC Connection Pool을 활성화한다.

JCA Connection Pool에 대해서는 동작하지 않는다.

refresh-connection-pool

JDBC Connection Pool의 커넥션들을 새로운 커넥션으로 교체한다. JCA Connection Pool에 대해서는 동작하지 않는다.

return-connection

Active 상태의 커넥션을 Connection Pool로 반환한다.

shrink-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.