前回こちらで設定したDB2クライアントのインストール から、対象のデータベースに接続するための設定について今回はメモしました。
今回は、db2クライアントから、192.168.0.22に存在するdb2サーバに接続するための環境設定と接続の方法までになります。
db2に接続設定は、ターゲットのノード情報(データベースはどんな名前か、接続先のホストはどこか・・等)をカタログすることから始まります。カタログ登録の基本的な流れは
- 接続先情報のカタログ
- 接続先のデータベース情報のカタログ
の順で登録します。
ノード情報のカタログ
$ db2 CATALOG TCPIP NODE NDALIAS_NAME REMOTE 192.168.0.22 SERVER 3700 OSTYPE LINUX
DB20000I The CATALOG TCPIP NODE command completed successfully.
DB21056W Directory changes may not be effective until the directory cache is
refreshed.
説明
上記の例は、こんな感じです。
db2 CATALOG TCPIP NODE [ノード名(任意の名前)] REMOTE [接続先のホスト名] SERVER [接続先のDB2サービスポート番号] OSTYPE [接続先のOS]
データベース情報のカタログ
$ db2 CATALOG DATABASE DB_NAME AS ALIAS_NAME AT NODE NDALIAS_NAME AUTHENTICATION SERVER
DB20000I The CATALOG DATABASE command completed successfully.
DB21056W Directory changes may not be effective until the directory cache is
refreshed.
説明
上記の例は、こんな感じです。
db2 CATALOG DATABASE [データベースの物理名(本当のDB名))] AS [クライアントから接続する際の別名] AT NODE [上記で作成したノード名] AUTHENTICATION [認証タイプ]
設定情報の反映
DB21056W Directory changes may not be effective until the directory cache is
refreshed.
と出ているように一度、設定を反映させるために一旦、切断する必要があります。
$ db2 TERMINATE
DB20000I The TERMINATE command completed successfully.
さあ、接続!!
接続の際は、上記で設定した、データベースの別名、とdb2のログインIDを入れます。
ちなみに、db2のログインIDは、基本的には、OSのログインIDと同じになります。(厳密に言うと違います)
$ db2 CONNECT TO ALIAS_NAME USER DB2INST1
Enter current password for db2inst1:
Database Connection Information
Database server = DB2/LINUX 8.2.9
SQL authorization ID = DB2INST1
Local database alias = ALIAS_NAME
$ db2 LIST TABLES
Table/View Schema Type Creation time
------------------------------- --------------- ----- --------------------------
ADVISE_INDEX DB2INST1 T 2013-10-10-23.44.35.083012
ADVISE_INSTANCE DB2INST1 T 2013-10-10-23.44.35.065454
ADVISE_MQT DB2INST1 T 2013-10-10-23.44.35.136632
ADVISE_PARTITION DB2INST1 T 2013-10-10-23.44.35.171292
ADVISE_TABLE DB2INST1 T 2013-10-10-23.44.35.212616
ADVISE_WORKLOAD DB2INST1 T 2013-10-10-23.44.35.118451
以上、クライアントからの接続方法でした。(ほぼ備忘録です)