IBM Db2 CLP を使用して RDS for Db2 DB インスタンスに接続する - Amazon Relational Database Service

IBM Db2 CLP を使用して 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 にクライアントをインストールするには
  1. ./db2_install -f sysreq を実行し、yes を選択してライセンス契約に同意します。

  2. クライアントをインストールする場所を選択します。

  3. clientInstallDir/instance/db2icrt -s client instance_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 インスタンスに接続するには
  1. IBM Db2 CLP クライアントのインストール時に指定したユーザー名でサインインします。

  2. RDS for Db2 DB インスタンスをカタログ化します。次の例では、node_namedns_nameport をローカルカタログ内のノード名、DB インスタンスの DNS 名、ポート番号に置き換えます。

    db2 catalog TCPIP node node_name remote dns_name server port

    db2 catalog TCPIP node remnode remote database-1.123456789012.us-east-1.amazonaws.com server 50000
  3. rdsadmin データベースと自身のデータベースをカタログ化します。これにより、Amazon RDS ストアドプロシージャを使用して rdsadmin データベースに接続し、一部の管理タスクを実行できるようになります。詳細については、「RDS for Db2 DB インスタンスの管理」を参照してください。

    次の例では、database_aliasnode_namedatabase_name をこのデータベースのエイリアス、前のステップで定義したノード名、データベースの名前に置き換えます。server_encrypt は、ネットワーク経由でユーザー名とパスワードを暗号化します。

    db2 catalog database rdsadmin [ as database_alias ] at node node_name authentication server_encrypt db2 catalog database database_name [ as database_alias ] at node node_name authentication server_encrypt

    db2 catalog database rdsadmin at node remnode authentication server_encrypt db2 catalog database testdb as rdsdb2 at node remnode authentication server_encrypt
  4. RDS for Db2 データベースに接続します。次の例では、rds_database_aliasmaster_usernamemaster_password を、データベース名、RDS for Db2 DB インスタンスのマスターユーザー名、マスターパスワードに置き換えます。

    db2 connect to rds_database_alias user master_username using master_password

    このコマンドでは、次の例のような出力が生成されます。

    Database Connection Information Database server = DB2/LINUXX8664 11.5.9.0 SQL authorization ID = ADMIN Local database alias = TESTDB
  5. クエリを実行し、結果を表示します。次の例は、作成したデータベースを選択する 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 サーバーにパッケージをバインドするには
  1. クライアントマシン上のバインドファイルを見つけます。通常、これらのファイルは Db2 クライアントのインストールパスの bnd ディレクトリにあり、.bnd という拡張子が付いています。

  2. Db2 サーバーに接続します。次の例では、database_name を Db2 サーバーの名前に置き換えます。master_usernamemaster_password をユーザー自身の情報に置き換えます。このユーザーには DBADM 権限があります。

    db2 connect to database_name user master_username using master_password
  3. bind コマンドを実行して、パッケージをバインドします。

    1. クライアントマシン上のバインドファイルが存在するディレクトリに移動します。

    2. 各ファイルに対して bind コマンドを実行します。

      以下のオプションは必須です。

      • blocking all - バインドファイル内のすべてのパッケージを 1 つのデータベースリクエストにバインドします。

      • grant public - パッケージを実行するアクセス許可を public に付与します。

      • sqlerror continue - エラーが発生した場合でも bind プロセスが継続するよう指定します。

      bind コマンドの詳細については、IBM Db2 ドキュメントの「BIND command」を参照してください。

  4. syscat.package カタログビューにクエリを実行するか、bind コマンドの後に返されたメッセージを確認して、正常にバインドされたことを確認します。

詳細については、IBM サポートの「DB2 v11.5 Bind File and Package Name List」を参照してください。