サーバーへのフィックスパック・インストールの一環として、データベース・ユーティリティー (IMPORT、 EXPORT、 REORG、コマンド行プロセッサー) および CLI バインド・ファイルのバインドが自動的に行われます。 ただし、クライアントにフィックスパックをインストールした場合、またはエラーが発生した場合は、データベース・ユーティリティーおよび CLI バインド・ファイルを手動でバインドすることができます。 Db2® およびホストまたは System i ® データベース・サーバーに対して、異なるバインド・ファイルのサブセットをバインドする必要があります。
始める前に
BIND コマンドを実行するのに必要な権限を持っていることを確認します。
このタスクについて
RESTRICTIVE モードを指定して作成されたデータベースに対してすべてのユーザーがアクセス権限を持つことにならないように、RESTRICTIVE モードを指定して作成されたデータベースについては、PUBLIC に特権を付与しないでください。既存のフェデレーテッド・データベースがある場合は、
Db2 フィックスパックのインストール後に、
db2dsproc.bnd および
db2stats.bnd バインド・ファイルをバインドする必要があります。 バインド・ファイルをバインドするには、次のような権限の 1 つを持っている必要があります。
- DBADM 権限
- スキーマに対する ALTERIN 特権
- パッケージに対する BIND 特権
プロシージャー
バインド・ファイルをバインドするには、次のようにします。
- 既存のデータベースがある Db2 データベース製品にフィックスパックをインストールした場合は、データベースごとに以下のコマンドを 1 回ずつ実行します。
db2 terminate
db2 CONNECT TO dbname user USERID using PASSWORD
db2 BIND path\db2schema.bnd BLOCKING ALL GRANT PUBLIC SQLERROR CONTINUE
db2 BIND path\@db2ubind.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 BIND path\@db2cli.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 terminate
ここで、
dbname はファイルのバインド先のデータベースの名前を表し、
path はバインド・ファイルが置かれているディレクトリーの絶対パス名 (
INSTHOME\sqllib\bnd など) です。ここで、
INSTHOME は
Db2 インスタンスのホーム・ディレクトリーを表します。
db2ubind.lst および
db2cli.lst には、
Db2 データベース製品で使用される必須のバインド・ファイルのリストが入っています。 パッケージが既にバインド済みであると、SQL0719N エラーが戻されます。 これは想定内です。
- オプション: 既存のデータベースがある Db2 データベース製品にフィックスパックをインストールした場合は、 REBIND または db2rbind コマンドを実行してパッケージを再バインドします。
フィックスパックをインストールした後、一部のパッケージには無効のマークが付けられます。 無効のマークを付けられたパッケージは、アプリケーションでの初回の使用時に暗黙で再バインドされます。 このようなオーバーヘッドを排除し、再バインドを確実に正常に完了するには、すべてのパッケージを手動で再バインドします。 例えば、次のように、db2rbind コマンドを発行します。
db2rbind dbname -l logfile all
dbname は、パッケージの再検証を行うデータベースの名前を表し、
logfile は、パッケージの再検証時にエラーを記録するのに使用されるファイルの名前です。
- 既存の Spatial 対応データベースがある Db2 データベース製品にフィックスパックをインストールした場合は、データベースごとに以下のコマンドを 1 回ずつ実行してください。
db2 terminate
db2 CONNECT TO dbname
db2 BIND path\BND\@db2gse.lst
db2 terminate
ここで、
dbname はファイルのバインド先のデータベースの名前を表し、
path はバインド・ファイルが置かれているディレクトリーの絶対パス名 (
INSTHOME\sqllib\bnd など) です。ここで、
INSTHOME は
Db2 インスタンスのホーム・ディレクトリーを表します。
db2gse.lst には、
Db2 Spatial Extender が提供するストアード・プロシージャー用のバインド・ファイルの名前が入っています。
- ホストまたは System I サーバー上の Db2 データベースに接続する場合は、以下のアクションを実行します。
- Db2 for z/OS® または OS/390®の場合:
db2 terminate
db2 CONNECT TO dbname user USERID using PASSWORD
db2 BIND path\@ddcsmvs.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD
db2 terminate
- VM 上の Db2 データベースの場合:
db2 terminate
db2 CONNECT TO dbname user USERID using PASSWORD
db2 BIND path\@ddcsvm.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD
db2 terminate
- VSE 上の Db2 データベースの場合:
db2 terminate
db2 CONNECT TO dbname user USERID using PASSWORD
db2 BIND path\@ddcsvse.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD
db2 terminate
- System I 上の Db2 データベースの場合:
db2 terminate
db2 CONNECT TO dbname user USERID using PASSWORD
db2 BIND path\@ddcs400.lst BLOCKING ALL SQLERROR CONTINUE GRANT PUBLIC ACTION ADD
db2 terminate
ここで、 dbname は、ファイルのバインド先のホストまたは System i データベースの名前を表します。ここで、 path は、バインド・ファイルが置かれているディレクトリーの絶対パス名です ( INSTHOME\sqllib\bnd など)。ここで、 INSTHOME は、 Db2 インスタンスのホーム・ディレクトリーを表します。
- 異なるオペレーティング・システム (Linux®、UNIX または Windows) 上で実行されているデータベース、または異なる Db2 バージョンまたはサービス・レベルで実行されているデータベースに接続する場合は、データベース・ユーティリティーおよび CLI バインド・ファイルをそれらのデータベースにバインドします。
注:
- 別の Db2 データベース・システム上のデータベースまたは、同じマシン上の別の Db2 コピーのどちらに接続するかに関係なく、それに必要なアクションは同じです。
- フィックスパックを複数の場所にインストールした場合、オペレーティング・システムと Db2 のバージョンまたはサービス・レベルの固有の組み合わせごとに、このアクションを 1 回ずつ実行します。
以下のアクションを実行してください。
db2 terminate
db2 CONNECT TO dbname user USERID using PASSWORD
db2 BIND path\@db2ubind.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 BIND path\@db2cli.lst BLOCKING ALL GRANT PUBLIC ACTION ADD
db2 terminate
ここで、
dbname は、ファイルのバインド先となるデータベースの名前を表します。
パス は、バインド・ファイルが配置されているディレクトリーのフルパス名 (
INSTHOME\sqllib\bnd など) です。ここで、
INSTHOME は、コマンドを発行するインスタンスのホーム・ディレクトリーを表します。
db2ubind.lst および
db2cli.lst には、
Db2 データベース製品で使用される必須のバインド・ファイルのリストが入っています。 パッケージが既にバインド済みであると、SQL0719N エラーが戻されます。 これは想定内です。
- フェデレーテッド・データベースを使用している場合は、データベースに接続し、 db2dsproc.bnd および db2stats.bnd バインド・ファイルに対して BIND コマンドを実行します。
以下のアクションを実行してください。
db2 CONNECT TO dbname user USERID using PASSWORD
db2 bind path/db2dsproc.bnd blocking all grant public
db2 bind path/db2stats.bnd blocking all grant public
db2 terminate
dbname は、フェデレーテッド・データベースの名前を表し、
path は、
$HOME/sqllib/bnd などの、バインド・ファイルが置かれるディレクトリーの絶対パス名を表します。
$HOME は、
Db2 インスタンスのホーム・ディレクトリーを表します。