DBPATHS 管理ビューと ADMIN_LIST_DB_PATHS 表関数 - データベース・パスの検索
DBPATHS 管理ビューおよび ADMIN_LIST_DB_PATHS 表関数は、スプリット・ミラー・バックアップの作成などのタスクに必要なデータベース・パスの値を戻します。
DBPATHS 管理ビュー
スキーマは SYSIBMADM です。
許可
- DBPATHS 管理ビューに対する SELECT 特権
- DBPATHS 管理ビューに対する CONTROL 特権
- DATAACCESS 権限
- DBADM 権限
- SQLADM 権限
- ACCESSCTRL 権限
- SECADM 権限
- SYSMON
- SYSCTRL
- SYSMAINT
- SYSADM
デフォルトの PUBLIC 特権
制限のないデータベースでは、このビューが自動的に作成されると、SELECT 特権が PUBLIC に付与されます。
例
select dbpartitionnum, substr(type,1,20) as type, path from sysibmadm.dbpaths
DBPARTITIONNUM TYPE PATH
-------------- -------------------- ------------------------------------------------
0 LOGPATH /home/sun/sun/NODE0000/SQL00001/LOGSTREAM0000/
0 DB_STORAGE_PATH /home/sun/
0 LOCAL_DB_DIRECTORY /home/sun/sun/NODE0000/sqldbdir/
0 DBPATH /home/sun/sun/NODE0000/SQL00001/
0 DBPATH /home/sun/sun/NODE0000/SQL00001/MEMBER0000/
5 record(s) selected.
ADMIN_LIST_DB_PATHS 表関数
ADMIN_LIST_DB_PATHS 表関数は、スプリット・ミラー・バックアップなどのバックアップ・メカニズムに必要なファイルのリストを戻します。
構文
スキーマは SYSPROC です。
許可
- ADMIN_LIST_DB_PATHS 表関数に対する EXECUTE 特権
- DATAACCESS 権限
- SYSMON
- SYSCTRL
- SYSMAINT
- SYSADM
デフォルトの PUBLIC 特権
制限のないデータベースでは、この関数が自動的に作成されると、EXECUTE 特権が PUBLIC に付与されます。
例
SELECT DBPARTITIONNUM, TYPE, PATH FROM TABLE(ADMIN_LIST_DB_PATHS()) AS FILES
DBPARTITIONNUM TYPE
-------------- ----------------------
2 LOGPATH
2 DB_STORAGE_PATH
2 TBSP_DIRECTORY
2 TBSP_CONTAINER
2 LOCAL_DB_DIRECTORY
2 DBPATH
2 DBPATH
0 LOGPATH
0 DB_STORAGE_PATH
0 TBSP_DIRECTORY
0 TBSP_CONTAINER
0 LOCAL_DB_DIRECTORY
0 DBPATH
0 DBPATH
1 LOGPATH
1 DB_STORAGE_PATH
1 TBSP_DIRECTORY
1 TBSP_CONTAINER
1 LOCAL_DB_DIRECTORY
1 DBPATH
1 DBPATH
PATH
--------------------------------------------------
/home/sun/sun/NODE0002/SQL00001/LOGSTREAM0002/
/home/sun/
/home/sun/tablespace/sms/sms2/
/home/sun/tablespace/dms/dms2
/home/sun/sun/NODE0002/sqldbdir/
/home/sun/sun/NODE0002/SQL00001/
/home/sun/sun/NODE0002/SQL00001/MEMBER0002/
/home/sun/sun/NODE0000/SQL00001/LOGSTREAM0000/
/home/sun/
/home/sun/tablespace/sms/sms0/
/home/sun/tablespace/dms/dms0
/home/sun/sun/NODE0000/sqldbdir/
/home/sun/sun/NODE0000/SQL00001/
/home/sun/sun/NODE0000/SQL00001/MEMBER0000/
/home/sun/sun/NODE0001/SQL00001/LOGSTREAM0001/
/home/sun/
/home/sun/tablespace/sms/sms1/
/home/sun/tablespace/dms/dms1
/home/sun/sun/NODE0001/sqldbdir/
/home/sun/sun/NODE0001/SQL00001/
/home/sun/sun/NODE0001/SQL00001/MEMBER0001/
21 record(s) selected.
SELECT DBPARTITIONNUM, TYPE, PATH
FROM TABLE(ADMIN_LIST_DB_PATHS()) AS FILES
WHERE TYPE LIKE '%_DEVICE%'
SELECT DBPARTITIONNUM, TYPE, PATH
FROM TABLE(ADMIN_LIST_DB_PATHS()) AS FILES
WHERE TYPE NOT LIKE '%_DEVICE%'
戻される情報
列名 | データ・タイプ | 説明 |
---|---|---|
DBPARTITIONNUM | SMALLINT | dbpartitionnum - データベース・パーティション番号 : モニター・エレメント |
TYPE | VARCHAR(64) | パスが属するデータベース・オブジェクトのタイプを記述します。 例えば、LOGPATH データベース構成パラメーターが示すログ・ディレクトリーへのパスは、この列で LOGPATH と表示されます。 考えられる戻り値のリストについては、 表 2 を参照してください。 |
PATH | VARCHAR(5000) | データベース・マネージャーのファイルまたはディレクトリーが見つかった場所へのパス。 パスがファイル・システム区切り文字 (UNIX 環境では「/」、Windows 環境では「\」) で終わる場合、パスはディレクトリーを指します。 |
タイプ値 | 説明 |
---|---|
TBSP_DEVICE | データベース管理スペース (DMS) 表スペースのロー・デバイス。 |
TBSP_CONTAINER | DMS 表スペースのファイル・コンテナー。 |
TBSP_DIRECTORY | システム管理スペース (SMS) 表スペースのディレクトリー。 |
LOGPATH | アクティブ・ログ・パス。 |
MIRRORLOGPATH | データベース構成ミラー・ログ・パス。 |
DB_STORAGE_PATH | 自動ストレージ・パス。 |
DBPATH | データベース・ディレクトリー・パス。 |
LOCAL_DB_DIRECTORY | ローカル・データベース・ディレクトリーへのパス。 |
- 自動ストレージを使用する表スペースの場合、使用済みおよび未使用のストレージ・パスの両方が戻されます。 スプリット・ミラー・バックアップを使用してリストアする場合には、未使用の自動ストレージ・パスが必要です。
次のような例について考慮します。 実動システムでスプリット・ミラー・バックアップを取ります。 バックアップが完了すると、バックアップ前に使用されていなかった自動ストレージ・パスが実動で使用されるようになります。 ここで、スプリット・ミラー・バックアップを使用してデータベースをリストアする必要が生じるとします。 この時点で、実動データベースからログをロールフォワードする必要があります。 ログをロールフォワードするには、自動ストレージ・パスがすべて必要です。現在、すべての自動ストレージ・パスが使用中だからです。
- 自動ストレージによって管理される表スペース・コンテナーは、個別には返されません。 それらは自動ストレージ・パス列に反映されます。
- 自動ストレージ・パスはデータベース・パーティションごとに 1 回ずつ戻されます。
- logpath および mirrorlogpath 構成パラメーターに返される値は、メモリーに保管されている値です。 ディスクに保管されている、変更された値 (データベースの再始動後に初めて適用される) は、戻されません。
SELECT * FROM SYSIBMADM.DBPATHS
照会の出力を使用して db2relocatedb コマンド構成ファイル (データベースの再配置に必要な構成情報を含むファイル) を作成する場合、DBPATH 出力を構成ファイルで使用するには、その前に DBPATH 出力を適切に変更する必要があります。例えば、以下の DBPATH 出力について考えてみます。
以下のように、この出力を使用して、db2relocatedb コマンド構成ファイル内で DB_PATH パラメーターの値を指定できます。/storage/svtdbm3/svtdbm3/NODE0000/SQL00001/
DB_PATH=/storage/svtdbm3,/storage_copy2/svtdbm3
- LOCAL_DB_DIRECTORY パスには、複数のデータベースに属する情報を入れることができます。 同じディレクトリー内に作成した各データベースには独自の sqldbdir ファイルがないので、ファイルのコピー先のターゲット・システムのそのパスに、既に存在するデータベースがないことを確認してください。
- 複数のデータベースが、少なくとも 1 つの自動ストレージ・パスを共有する場合、それらのデータベースのいずれかに対してスプリット・ミラー操作を実行すると、複数のデータベースがその影響を受け、それによって、分割の予定のなかったデータベースで入出力上の問題が起きることがあります。
- DB_STORAGE_PATH タイプには、定義されたストレージ・グループすべてからのストレージ・パスがすべて含まれます。 ストレージ・パスが複数のストレージ・グループで使用されていたり、同じストレージ・グループで複数回指定されていたりする場合は、ストレージ・グループ内でのそのパスのオカレンスにつき 1 つずつレコードが戻されます。
制約事項
データベースが WRITE SUSPEND モードのときは、管理ビューを呼び出すことはできません。 また、ビューを呼び出すときと WRITE SUSPEND モードでアクティブ化するときでデータベースの物理レイアウトが変わらないようにしなければなりません。これはスプリット・ミラー操作を実行するために必要です。 例えば、その時に表スペースのレイアウトが変わっていると、スプリット・ミラー・バックアップ・イメージからリストアできない可能性があります。