データベース・ディレクトリーおよびファイル
データベースを作成するとき、デフォルトの情報を含むデータベースに関する情報は、 ディレクトリー階層内に保管されます。
階層ディレクトリー構造が自動的に作成されます。 CREATE DATABASE コマンドのディレクトリー・パスまたはドライブを指定することによって、構造のロケーションを指定することができます。ロケーションを指定しない場合、デフォルトのロケーションが使用されます。
CREATE DATABASE コマンドでデータベース・パスとして指定したディレクトリーに、インスタンスの名前を使用するサブディレクトリーが作成されます。
インスタンス名サブディレクトリー内に、 パーティション・グローバル・ディレクトリー が作成されます。 パーティション・グローバル・ディレクトリーには、新規データベースと関連付けられるグローバル情報が入ります。 パーティション・グローバル・ディレクトリーの名前は NODExxxx/SQLyyyyy です。ここで、xxxx はデータ・パーティション番号、yyyyy はデータベース・トークン (>=1 の数値) です。
- Db2® pureScale® 環境では、 メンバーごとに MEMBER0000、 MEMBER0001などという名前の メンバー固有のディレクトリーがあります。
- パーティション・データベース環境では、 メンバー 番号は、対応するパーティション番号と 1 対 1 のマッピングを持つため、 メンバー およびパーティションごとに 1 つの NODExxxx ディレクトリーが存在します。 メンバー固有のディレクトリーは、常に MEMBERxxxx という名前になり、常にパーティション・グローバル・ディレクトリーに置かれます。
- Enterprise Server Edition 環境は、単一の メンバー上で稼働し、 MEMBER0000という 1 つの メンバー固有のディレクトリーを持ちます。
パーティション・グローバル・ディレクトリー
パーティション・グローバル・ディレクトリーのパスは your_instance/NODExxxx/SQLxxxxx です。
- 相対パスを指定するか、パスをまったく指定しないグローバル・デッドロック・ファイル書き込みイベント・モニター・ファイル。
- 表スペース情報ファイル。
ファイル SQLSPCS.1 および SQLSPCS.2 には、表スペース情報が入ります。 これらのファイルは、バックアップのため、相互に重複しています。
- ストレージ・グループ制御ファイル。
ファイル SQLSGF.1 および SQLSGF.2 には、データベースの自動ストレージ機能に関連したストレージ・グループ情報が入ります。 これらのファイルは、保守とバックアップのため、相互に重複しています。 これらのファイルは、 CREATE DATABASE コマンドを使用してデータベースを作成するとき、または非自動ストレージ・データベースを Db2 10.1 以降にアップグレードするときに、データベース用に作成されます。
- TEMPORARY 表スペース・コンテナー・ファイル。
新規コンテナーのデフォルト・ディレクトリーは instance/NODExxxx/<db-name>です。 ファイルは、各 メンバーによってローカルに管理されます。 表スペース・ファイル名は、ファイル名に member 番号を挿入することによって、 メンバー ごとに固有になります。例えば、 /storage path/SAMPLEDB/T0000011/C0000000.TMP/SQL00002.MEMBER0001.TDA のようになります。
- グローバル構成ファイル。
グローバル構成ファイル SQLDBCONF には、データベース全体で一貫性を保つ必要がある単一の共有リソースを参照するデータベース構成パラメーターが入ります。 このファイルを編集しないでください。 構成パラメーターを変更するには、 UPDATE DATABASE CONFIGURATION コマンドと RESET DATABASE CONFIGURATION コマンドを使用します。
- 履歴ファイル。
DB2RHIST.ASC ヒストリー・ファイルとそのバックアップ DB2RHIST.BAK には、バックアップ、リストア、表のロード、表の再編成、表スペースの変更、およびデータベースに対するその他の変更に関する履歴情報が入ります。
- ロギングに関連したファイル。
グローバル・ログ制御ファイル SQLOGCTL.GLFH.1、 SQLOGCTL.GLFH.2には、データベース・レベルのリカバリー情報が含まれています。例えば、データベースがオフラインで、 メンバー間で共通のログ・チェーンを維持しているときに、新しい メンバー の追加に関連した情報などです。 ログ・ファイル自体は、パーティション・グローバル・ディレクトリー内の LOGSTREAMxxxx ディレクトリー ( メンバーごとに 1 つ) に保管されます。
- ロック・ファイル。
インスタンス・データベース・ロック・ファイル SQLINSLK および SQLTMPLK は、データベースがデータベース・マネージャーの 1 つのインスタンスでしか使われないようにします。
- 自動ストレージ・コンテナー
メンバー固有のディレクトリー
メンバー固有のディレクトリーのパスは /NODExxxx/SQLxxxx/MEMBERxxxx です。
このディレクトリーには、作成された最初のデータベースに関連付けられたオブジェクトが入ります。後続のデータベースには、より大きな番号 (SQL00002 など) が付けられます。 これらのサブディレクトリーは、 CREATE DATABASE コマンドで指定したディレクトリー上のこのインスタンスで作成されたデータベースを区別します。
- バッファー・プール情報ファイル。
ファイル SQLBP.1 および SQLBP.2 には、バッファー・プール情報が入ります。 これらのファイルは、バックアップのため、相互に重複しています。
- 履歴ファイル。
DB2TSCHG.HIS ファイルには、ログ・ファイル・レベルでの表スペース変更の履歴が入っています。 ログ・ファイルごとに、DB2TSCHG.HIS には、ログ・ファイルの影響を受ける表スペースを識別するのに役立つ情報が入っています。 表スペース・リカバリーは、このファイルからの情報を使用して、 表スペース・リカバリー中に処理するログ・ファイルを判別します。 テキスト・エディターで、履歴ファイルの内容を調べることができます。
- ローカル・イベント・モニター・ファイル。
- ロギングに関連したファイル。
ログ制御ファイル SQLOGCTL.LFH.1 とそのミラー・コピーである SQLOGCTL.LFH.2、および SQLOGMIR.LFH には、アクティブ・ログに関する情報が入ります。 Db2 pureScale 環境では、各 メンバー には独自のログ・ストリームとローカル LFH ファイルのセットがあり、それらは各 メンバー固有のディレクトリーに保管されます。
ヒント: データに使用していないディスクにログ・サブディレクトリーをマップしてください。 そうすることで、ディスクの問題がデータとログの両方ではなく、そのどちらかのみに制限できる場合があります。 データ用に使用していないディスクにログ・サブディレクトリーをマップすると、ログ・ファイルおよびデータベース・コンテナーは、同じディスク・ヘッドの移動で競合することがないため、パフォーマンスにも大きな利点となります。 ログ・サブディレクトリーのロケーションを変更するには、newlogpath データベース構成パラメーターを使用します。 - ローカル構成ファイル。
ローカル SQLDBCONF ファイルには、データベース構成情報が入ります。 このファイルを編集しないでください。 構成パラメーターを変更するには、 UPDATE DATABASE CONFIGURATION コマンドと RESET DATABASE CONFIGURATION コマンドを使用します。
- WLM アドミッション制御の永続データ・ファイル。
Db2 バージョン 11.5.6以降、 SQLWLMADMDAT バイナリー・ファイルには、前のデータベース・アクティベーションからの WLM アドミッション制御関連情報 (照会のリソース使用量履歴を含む) が含まれます。
データベースが作成されると同時に、詳細デッドロック・イベント・モニターも作成されます。 Enterprise Server Edition 環境およびパーティション・データベース環境では、詳細デッドロック・イベント・モニター・ファイルは、カタログ・ノードのデータベース・ディレクトリーに保管されています。 Db2 pureScale 環境では、詳細デッドロック・イベント・モニター・ファイルはパーティション・グローバル・ディレクトリーに保管されます。 イベント・モニターが、 出力するファイルの最大数に達した場合、イベント・モニターは非アクティブ化され、 メッセージが通知ログに書き込まれます。 これにより、イベント・モニターによるディスク・スペースの過度の使用を防ぎます。 必要のない出力ファイルを除去すると、イベント・モニターは次のデータベースの活動化時に再びアクティブになります。
非自動ストレージ・データベースの SMS データベース・ディレクトリーについての追加情報
- SQLT0000.0 サブディレクトリーには、システム・カタログ表の CATALOG 表スペースが入ります。
- SQLT0001.0 サブディレクトリーには、デフォルトの TEMPORARY 表スペースが入ります。
- SQLT0002.0 サブディレクトリーには、デフォルトのユーザー・データ表スペースが入ります。
各サブディレクトリーまたはコンテナーには、SQLTAG.NAM という名前のファイルが作成されます。 このファイルは、サブディレクトリーに使用中のマークを付け、 後続の表スペース作成で、これらのサブディレクトリーが使用されないようにします。
- SQL*.BKM (MDC 表または ITC 表の場合は、ブロック割り振り情報が入る)
- SQL*.LF (LONG VARCHAR または LONG VARGRAPHIC データが入る)
- SQL*.LB (BLOB、CLOB、または DBCLOB データが入る)
- SQL*.XDA (XML データが入る)
- SQL*.LBA (SQL*.LB ファイルに関する割り振りおよびフリー・スペース情報が入る)
- SQL*.INX (索引表データが入る)
- SQL*.IN1 (索引表データが入る)
- SQL*.DTR (SQL*.DAT ファイルの再編成についての一時データが入る)
- SQL*.LFR (SQL*.LF ファイルの再編成についての一時データが入る)
- SQL*.RLB (SQL*.LB ファイルの再編成についての一時データが入る)
- SQL*.RBA (SQL*.LBA ファイルの再編成についての一時データが入る)
冗長性を高めるための ctrl_file_recov_path の構成
Db2 11.5.7のリリースでは、重要な制御ファイルのコピーが維持される冗長パスを指定することができます。これは、制御ファイルが誤って削除されたり、破損したり、データベース・パス内でアクセスできなくなったりした場合のリカバリーに役立ちます。 詳しくは、 ctrl_file_recov_path-データベース制御ファイル・リカバリー・パス構成パラメーターを参照してください。