9.7.9 テスト・マスターに関連付けられているすべてのスナップショットの特定

この問合せを使用して、テスト・マスターに関連付けられているすべての子を検出します。

複数の子があるテスト・マスターについて次の構成を考えます。



各データベースに関連するSYSTEMデータ・ファイルの問合せを使用して、同じツリー内のすべての子をリストできます。この問合せにより、各データベースまたはPDBのSYSTEMデータ・ファイルのみが選択されます。データ・ファイルは、すべてのクローンおよび親に存在する必要があり、それぞれに1つのデータ・ファイルのみが存在する必要があります。START WITH句は、元のテスト・マスターの親である、クローン・ファイルではないファイルの開始点になります。

Oracle ASMインスタンスに接続し、このコマンドをSYSASMユーザーとして実行します。

SELECT clonefilename "Child", snapshotfilename "Parent"
FROM v$clonedfile
WHERE LOWER(snapshotfilename) LIKE '%system.%'  
START WITH snapshotfilename NOT IN (SELECT clonefilename FROM v$clonedfile)  
CONNECT BY LOWER(clonefilename) = PRIOR (snapshotfilename);

データベース・ベースのスナップショットのこの問合せの結果は、次のようになります。

Child                                      
  Parent
-----------------------------------------------------------
  -----------------------------------------------------------------
+SPARSE/SNAP001/DATAFILE/SYSTEM.256.1011532891           
  +DATA/TESTMASTER/DATAFILE/system.270.1011530981 
+SPARSE/SNAP002/DATAFILE/SYSTEM.265.1011532969           
  +DATA/TESTMASTER/DATAFILE/system.270.1011530981
+SPARSE/SNAP1011/DATAFILE/SYSTEM.270.1011533005           
  +SPARSE/SNAP001/DATAFILE/system.256.1011532891
+SPARSE/SNAP1012/DATAFILE/SYSTEM.275.1011780925           
  +SPARSE/SNAP001/DATAFILE/system.256.1011532891
+SPARSE/SNAP2011/DATAFILE/SYSTEM.281.1011781103           
  +SPARSE/SNAP1011/DATAFILE/system.270.1011533005

前述の結果で示すように、データベース名を含むフォルダをOracle ASMで作成した場合、CLONEFILENAME文字列のデータベース名はスナップショットで、SNAPSHOTFILENAME文字列のデータベース名はそのスナップショットのマスターになります。

PDBベースのスナップショットのこの問合せの結果は、次のようになります。

CLONEFILENAME                                                           
  SNAPSHOTFILENAME
---------------------------------------------------------------------------------
  ---------------------------------------------------------------------------------
+SPARSEC1/CDB001/8BDBC355D43721F5E053412E850AB5D1/DATAFILE/SYSTEM.256.1011532891  
  +DATAC1/CDB001/8BDBC355D42D21F5E053412E850AB5D1/DATAFILE/system.270.1011530981 
+SPARSEC1/CDB001/8BDBC355D43E21F5E053412E850AB5D1/DATAFILE/SYSTEM.265.1011532969  
  +DATAC1/CDB001/8BDBC355D42D21F5E053412E850AB5D1/DATAFILE/system.270.1011530981 
+SPARSEC1/CDB001/8BDBC355D44021F5E053412E850AB5D1/DATAFILE/SYSTEM.270.1011533005   
  +SPARSEC1/CDB001/8BDBC355D43721F5E053412E850AB5D1/DATAFILE/system.256.1011532891 
+SPARSEC1/CDB001/8BDBC355D44821F5E053412E850AB5D1/DATAFILE/SYSTEM.275.1011780925   
  +SPARSEC1/CDB001/8BDBC355D43721F5E053412E850AB5D1/DATAFILE/system.256.1011532891 
+SPARSEC1/CDB001/8BDBC355D44D21F5E053412E850AB5D1/DATAFILE/SYSTEM.281.1011781103   
  +SPARSEC1/CDB001/8BDBC355D44021F5E053412E850AB5D1/DATAFILE/system.270.1011533005 

この場合、Oracle ASMでのフォルダ名は、PDBに関連付けられたGUIDです。教育スナップショットPDBおよびそのマスターの名前を特定するには、次のことを行う必要があります。

  1. 結果に表示されている名前(たとえば、CDB001)が含まれているCDBにログインします。

  2. 次に示すように、CDB_PDBSビューに対する問合せを実行して、GUIDをPDB名に変換します。

    SELECT pdb_name, guid FROM CDB_PDBS 
    WHERE guid IN ('8BDBC355D42D21F5E053412E850AB5D1','8BDBC355D43721F5E053412E850AB5D1'
    '8BDBC355D44821F5E053412E850AB5D1','8BDBC355D43E21F5E053412E850AB5D1', 
    '8BDBC355D44021F5E053412E850AB5D1','8BDBC355D44D21F5E053412E850AB5D1');
    
    PDB_NAME                GUID   
    ----------------------- -----------------------------------
    TESTMASTER              8BDBC355D42D21F5E053412E850AB5D1
    SNAP001                 8BDBC355D43721F5E053412E850AB5D1
    SNAP1012                8BDBC355D44821F5E053412E850AB5D1
    SNAP02                  8BDBC355D43E21F5E053412E850AB5D1
    SNAP1011                8BDBC355D44021F5E053412E850AB5D1
    SNAP2011                8BDBC355D44D21F5E053412E850AB5D1

次に、この情報を使用して元の問合せ結果のPDB間の親/子関係を特定します。