2

2つの別々のAIXサーバーに2つのインスタンスがあります。両方のDB2データベースは、サンプルデータベースを使用しています。他のインスタンスから1つのDB2インスタンスに接続したい。

私はDB2を初めて使用するので、どうすればそれができるのか知りたいです。

次のコマンドを実行しました。

このパスはクライアントインスタンスです。

#.  /home/db2inst2/sqllib/db2profile
db2 catalog tcpip node db2serverinst remote lpar1 server 50005 remote_instance ctginst1
db2 => terminate
DB20000I  The TERMINATE command completed successfully.
# db2 connect to db2serverinst user ctginst1
Enter current password for ctginst1: SQL1031N  The database directory cannot be found on the indicated file system.
SQLSTATE=58031
4

2 に答える 2

1

「インスタンスに接続する」という用語は正しくありません。正しいものは添付することです:

Machine A
 db2inst1
  db-1
  db-2
  sample

Machine B
 db2inst2
  db-3
  db-4
  sample
 db2inst3
  sample

マシンAからマシンBにコマンドを実行する場合は、db2inst2および/またはdb2inst3をdb2inst1(カタログtcpipノード)にカタログする必要があります。カタログ化されたオブジェクトごとに異なる名前を付ける必要があることに注意してください。

リモートインスタンスをカタログ化したら、データベースコマンドを発行することもできますが、リモートデータベースをカタログ化する必要があります。リモートサンプルとローカルサンプルを使用できますが、エイリアスは異なる必要があります。

db2inst2インスタンスをマシンAのローカルノードのdb2inst2ノードとしてカタログ化し、サンプルデータベースをマシンAのローカルノードのsample-2エイリアスとしてカタログ化した場合。マシンAで実行できます。

 db2 attach to db2inst2
 db2 connect to sample-2

アタッチは、アプリケーションのリスト、データベースの作成などの「管理」用です。コネクトはデータベースを使用します。

于 2012-12-11T09:25:49.163 に答える
0

カタログ化したDB2インスタンスのみです。リモートサーバーでデータベースをカタログ化する必要があります。

db2 catalog database XXXX at node db2serverinst

XXXX明らかに、をリモートデータベースの実際の名前に置き換える必要があります。データベースをカタログ化したら、次のように接続できます。

db2 connect to XXXX user ctginst1

これは接続を定義するだけであることに注意してください。フェデレーションを構成しないと、ローカルインスタンス内の他のデータベースからこのリモートデータベース内のオブジェクトにアクセスすることはできません。

于 2012-12-10T20:52:40.410 に答える