IBM Db2 CLP を使用して Amazon RDS for Db2 DB インスタンスに接続する
IBM Db2 CLP などのコマンドラインユーティリティを使用して、Amazon RDS for Db2 DB インスタンスに接続できます。このユーティリティは IBM Data Server Runtime Client の一部です。IBM Fix Central からクライアントをダウンロードするには、IBM サポートの「IBM Data Server Client Packages Version 11.5 Mod 8 Fix Pack 0
用語
次の用語は、RDS for Db2 DB インスタンス に接続する際に使用するコマンドの説明として役立ちます。
- catalog tcpip node
-
このコマンドは、リモートデータベースノードをローカル Db2 クライアントに登録し、クライアントアプリケーションがノードにアクセスできるようにします。ノードをカタログ化するには、サーバーのホスト名、ポート番号、通信プロトコルなどの情報を指定します。カタログ化されたノードは、1 つ以上のリモートデータベースが存在するターゲットサーバーを表します。詳細については、IBM Db2 ドキュメントの「CATALOG TCPIP/TCPIP4/TCPIP6 NODE command
」を参照してください。 - catalog database
-
このコマンドは、リモートデータベースをローカル Db2 クライアントに登録し、クライアントアプリケーションがデータベースにアクセスできるようにします。データベースをカタログ化するには、データベースのエイリアス、データベースが存在するノード、データベースへの接続に必要な認証タイプなどの情報を提供します。詳細については、IBM Db2 ドキュメントの「CATALOG DATABASE command
」を参照してください。
クライアントをインストールする
downloading the package for Linux の後に、ルート権限または管理者権限を使用してクライアントをインストールします。
注記
クライアントを AIX または Windows にインストールするには、同じ手順に従いますが、オペレーティングシステムに応じてコマンドを変更します。
Linux にクライアントをインストールするには
-
./db2_install -f sysreqを実行し、yesを選択してライセンス契約に同意します。 -
クライアントをインストールする場所を選択します。
-
clientInstallDir/instance/db2icrt -s clientinstance_nameを実行します。instance_nameは、Linux の有効なオペレーティングシステムユーザーに置き換えます。Linux では、Db2 DB インスタンス名はオペレーティングシステムのユーザー名に関連付けられます。このコマンドは、Linux の指定ユーザーのホームディレクトリに
sqllibディレクトリを作成します。
DB インスタンスに接続する
RDS for Db2 DB インスタンスに接続するには、DNS 名とポート番号が必要です。これを確認する方法の詳細については、「エンドポイントの検索」を参照してください。また、RDS for Db2 DB インスタンスの作成時に定義したデータベース名、マスターユーザー名、マスターパスワードも把握しておく必要があります。これを確認する方法の詳細については、「DB インスタンスの作成」を参照してください。
IBM Db2 CLP を使用して RDS for Db2 DB インスタンスに接続するには
-
IBM Db2 CLP クライアントのインストール時に指定したユーザー名でサインインします。
-
RDS for Db2 DB インスタンスをカタログ化します。次の例では、
node_name、dns_name、portをローカルカタログ内のノード名、DB インスタンスの DNS 名、ポート番号に置き換えます。db2 catalog TCPIP nodenode_nameremotedns_nameserverport例
db2 catalog TCPIP node remnode remote database-1.123456789012.us-east-1.amazonaws.com server 50000 -
rdsadminデータベースと自身のデータベースをカタログ化します。これにより、Amazon RDS ストアドプロシージャを使用してrdsadminデータベースに接続し、一部の管理タスクを実行できるようになります。詳細については、「RDS for Db2 DB インスタンスの管理」を参照してください。次の例では、
database_alias、node_name、database_nameをこのデータベースのエイリアス、前のステップで定義したノード名、データベースの名前に置き換えます。server_encryptは、ネットワーク経由でユーザー名とパスワードを暗号化します。db2 catalog database rdsadmin [ asdatabase_alias] at nodenode_nameauthentication server_encrypt db2 catalog databasedatabase_name[ asdatabase_alias] at nodenode_nameauthentication server_encrypt例
db2 catalog database rdsadmin at node remnode authentication server_encrypt db2 catalog database testdb as rdsdb2 at node remnode authentication server_encrypt -
RDS for Db2 データベースに接続します。次の例では、
rds_database_alias、master_username、master_passwordを、データベース名、RDS for Db2 DB インスタンスのマスターユーザー名、マスターパスワードに置き換えます。db2 connect tords_database_aliasusermaster_usernameusingmaster_passwordこのコマンドでは、次の例のような出力が生成されます。
Database Connection Information Database server = DB2/LINUXX8664 11.5.9.0 SQL authorization ID = ADMIN Local database alias = TESTDB -
クエリを実行し、結果を表示します。次の例は、作成したデータベースを選択する SQL ステートメントを示しています。
db2 "select current server from sysibm.dual"このコマンドでは、次の例のような出力が生成されます。
1 ------------------ TESTDB 1 record(s) selected.
RDS for Db2 DB インスタンスへの接続のトラブルシューティング
次の NULLID エラーが表示される場合は、通常、クライアントと RDS for Db2 サーバーのバージョンが一致していないことを示しています。サポートされている Db2 クライアントバージョンについては、IBM Db2 ドキュメントの「Supported combinations of clients, drivers and server levels
db2 "select * from syscat.tables"
SQL0805N Package "NULLID.SQLC2O29 0X4141414141454A69" was not found.
SQLSTATE=51002
このエラーが表示された場合は、古い Db2 クライアントから RDS for Db2 でサポートされている Db2 サーバーバージョンにパッケージをバインドする必要があります。
古い Db2 クライアントから新しい Db2 サーバーにパッケージをバインドするには
-
クライアントマシン上のバインドファイルを見つけます。通常、これらのファイルは Db2 クライアントのインストールパスの bnd ディレクトリにあり、.bnd という拡張子が付いています。
-
Db2 サーバーに接続します。次の例では、
database_nameを Db2 サーバーの名前に置き換えます。master_usernameとmaster_passwordをユーザー自身の情報に置き換えます。このユーザーにはDBADM権限があります。db2 connect todatabase_nameusermaster_usernameusingmaster_password -
bindコマンドを実行して、パッケージをバインドします。-
クライアントマシン上のバインドファイルが存在するディレクトリに移動します。
-
各ファイルに対して
bindコマンドを実行します。以下のオプションは必須です。
-
blocking all- バインドファイル内のすべてのパッケージを 1 つのデータベースリクエストにバインドします。 -
grant public- パッケージを実行するアクセス許可をpublicに付与します。 -
sqlerror continue- エラーが発生した場合でもbindプロセスが継続するよう指定します。
bindコマンドの詳細については、IBM Db2 ドキュメントの「BIND command」を参照してください。 -
-
-
syscat.packageカタログビューにクエリを実行するか、bindコマンドの後に返されたメッセージを確認して、正常にバインドされたことを確認します。
詳細については、IBM サポートの「DB2 v11.5 Bind File and Package Name List