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 表関数は、スプリット・ミラー・バックアップなどのバックアップ・メカニズムに必要なファイルのリストを戻します。

構文

Read syntax diagramSkip visual syntax diagramADMIN_LIST_DB_PATHS()

スキーマは SYSPROC です。

許可

以下のいずれかの権限が必要です。
  • ADMIN_LIST_DB_PATHS 表関数に対する EXECUTE 特権
  • DATAACCESS 権限
さらに、以下のいずれかの権限も必要です。
  • SYSMON
  • SYSCTRL
  • SYSMAINT
  • SYSADM

デフォルトの PUBLIC 特権

制限のないデータベースでは、この関数が自動的に作成されると、EXECUTE 特権が PUBLIC に付与されます。

次のようにして ADMIN_LIST_DB_PATHS 表関数を呼び出すことができます。
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%'

戻される情報

表 1. DBPATHS 管理ビューおよび ADMIN_LIST_DB_PATHS 表関数によって戻される情報
列名 データ・タイプ 説明
DBPARTITIONNUM SMALLINT dbpartitionnum - データベース・パーティション番号 : モニター・エレメント
TYPE VARCHAR(64) パスが属するデータベース・オブジェクトのタイプを記述します。 例えば、LOGPATH データベース構成パラメーターが示すログ・ディレクトリーへのパスは、この列で LOGPATH と表示されます。 考えられる戻り値のリストについては、 表 2 を参照してください。
PATH VARCHAR(5000) データベース・マネージャーのファイルまたはディレクトリーが見つかった場所へのパス。 パスがファイル・システム区切り文字 (UNIX 環境では「/」、Windows 環境では「\」) で終わる場合、パスはディレクトリーを指します。
表 2. TYPE 列の値
タイプ値 説明
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 出力について考えてみます。
    /storage/svtdbm3/svtdbm3/NODE0000/SQL00001/
    以下のように、この出力を使用して、db2relocatedb コマンド構成ファイル内で DB_PATH パラメーターの値を指定できます。
    DB_PATH=/storage/svtdbm3,/storage_copy2/svtdbm3
  • LOCAL_DB_DIRECTORY パスには、複数のデータベースに属する情報を入れることができます。 同じディレクトリー内に作成した各データベースには独自の sqldbdir ファイルがないので、ファイルのコピー先のターゲット・システムのそのパスに、既に存在するデータベースがないことを確認してください。
  • 複数のデータベースが、少なくとも 1 つの自動ストレージ・パスを共有する場合、それらのデータベースのいずれかに対してスプリット・ミラー操作を実行すると、複数のデータベースがその影響を受け、それによって、分割の予定のなかったデータベースで入出力上の問題が起きることがあります。
  • DB_STORAGE_PATH タイプには、定義されたストレージ・グループすべてからのストレージ・パスがすべて含まれます。 ストレージ・パスが複数のストレージ・グループで使用されていたり、同じストレージ・グループで複数回指定されていたりする場合は、ストレージ・グループ内でのそのパスのオカレンスにつき 1 つずつレコードが戻されます。

制約事項

データベースが WRITE SUSPEND モードのときは、管理ビューを呼び出すことはできません。 また、ビューを呼び出すときと WRITE SUSPEND モードでアクティブ化するときでデータベースの物理レイアウトが変わらないようにしなければなりません。これはスプリット・ミラー操作を実行するために必要です。 例えば、その時に表スペースのレイアウトが変わっていると、スプリット・ミラー・バックアップ・イメージからリストアできない可能性があります。