プライマリ・コンテンツに移動
Oracle® Automatic Storage Management管理者ガイド
12cリリース1 (12.1)
B71290-10
目次へ移動
目次
索引へ移動
索引

前
次

RMANを使用したOracle ASMディスク・グループ間でのデータファイルの移動

ARCHIVELOGモード・データベースのアクティブ・データファイルをOracle ASMディスク・グループ間で移動できます。RMANのBACKUP AS COPYを使用してデータファイルを新規ディスク・グループにコピーし、SET NEWNAMEコマンドとSWITCHコマンドを使用して制御ファイルでデータファイルの名前を変更できます。

ALTER DATABASE MOVE DATAFILEを使用することもできます。データファイルを移動するためのSQL文です。ALTER DATABASE MOVE DATAFILEを使用したオンラインでのデータファイルの移動の詳細は、ALTER DATABASEを使用したディスク・グループ間のデータファイルの移動を参照してください。

RMANを使用したこのシナリオでは、ディスク・グループDATAおよびUSERDATAを使用し、データファイルusers.261.689589837をディスク・グループUSERDATAに移動することを前提としています。データファイルの移動手順を始める前に、データベースに対してARCHIVELOGモードが有効になっていることを確認します。

RMANのBACKUP AS COPYプロシージャをSET NEWNAMEおよびSWITCHコマンドとともに使用して、あるOracle ASMディスク・グループから別のディスク・グループにデータファイルを移動するには、次の手順を実行します。

  1. RMANを起動し、ターゲット・データベースに接続します。

    次に例を示します。

    $ rman
    RMAN> CONNECT TARGET SYS@orcl
    target database Password: XXXXXXXXX
    connected to target database: ORCL (DBID=1217369048)
    
  2. データファイルの名前を示すレポートを生成します。

    RMANをターゲット・データベースに接続した後、次のREPORTコマンドを実行します。移動するファイルのデータファイル名を書き留めます。

    次に例を示します。

    RMAN> REPORT SCHEMA;
    
    Report of database schema for database with db_unique_name ORCL
     
    List of Permanent Datafiles
    ===========================
    File Size(MB) Tablespace           RB segs Datafile Name
    ---- -------- -------------- ------- ------------------------
    1    740      SYSTEM         ***     +DATA/orcl/datafile/system.258.689589737
    2    570      SYSAUX         ***     +DATA/orcl/datafile/sysaux.259.689589785
    3    55       UNDOTBS1       ***     +DATA/orcl/datafile/undotbs1.260.689589831
    4    5        USERS          ***     +DATA/orcl/datafile/users.261.689589837
    
    List of Temporary Files
    =======================
    File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
    ---- -------- -------------- ----------- --------------------
    1    20       TEMP           32767       +DATA/orcl/tempfile/temp.262.689589851
    
  3. データファイルを新しいOracle ASMディスク・グループにバックアップします。

    BACKUP AS COPYコマンドを実行して、DATA上のデータファイルをUSERDATAにバックアップします。

    次に例を示します。

    RMAN> BACKUP AS COPY
            DATAFILE "+DATA/orcl/datafile/users.261.689589837"
            FORMAT   "+USERDATA";
    
    Starting backup at 16-JUN-09
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=51 device type=DISK
    channel ORA_DISK_1: starting datafile copy
    input datafile file number=00004 name=+DATA/orcl/datafile/users.261.689589837
    output file name=+USERDATA/orcl/datafile/users.256.689682663
      tag=TAG20090616T103101 RECID=13 STAMP=689682663
    channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
    Finished backup at 16-JUN-09
    

    データファイル番号およびデータファイル・タイプによってデータファイルを指定することもできます。

    次に例を示します。

    BACKUP AS COPY
      DATAFILE 4
      FORMAT   "+USERDATA";
    
  4. 新しいディスク・グループに移動するデータファイルをオフラインにします。

    RMANクライアントで次のSQLコマンドを実行します。データファイルの名前を、二重引用符ではなく、2つの一重引用符で囲みます。

    次に例を示します。

    RMAN> SQL "ALTER DATABASE DATAFILE 
           ''+DATA/orcl/datafile/users.261.689589837'' OFFLINE";
    
    sql statement: ALTER DATABASE DATAFILE
         ''+DATA/orcl/datafile/users.261.689589837''  OFFLINE
    
  5. 制御ファイルを新規に作成したデータファイルのコピーに指定します。

    RMANクライアントでSWITCH...TO COPYコマンドを実行します。SWITCHTO COPYオプションにより、データファイルをその最新コピーに切り替えます。

    次に例を示します。

    RMAN> SWITCH DATAFILE "+DATA/orcl/datafile/users.261.689589837" TO COPY;
    
    datafile 4 switched to datafile copy
        "+USERDATA/orcl/datafile/users.256.689682663"
    

    このコマンドの出力には、データファイルの新しい名前が表示されます。

  6. 名前を変更したデータファイルをリカバリします。

    RMANクライアントでRECOVERコマンドを実行します。

    次に例を示します。

    RMAN> RECOVER DATAFILE "+USERDATA/orcl/datafile/users.256.689682663";
    
    Starting recover at 16-JUN-09
    using channel ORA_DISK_1
    starting media recovery
    media recovery complete, elapsed time: 00:00:01
    Finished recover at 16-JUN-09
    
  7. データファイルをオンラインにします。

    RMANクライアントで次のSQLコマンドを実行します。データファイルの名前を、二重引用符ではなく、2つの一重引用符で囲みます。

    次に例を示します。

    RMAN> SQL "ALTER DATABASE DATAFILE
          ''+USERDATA/orcl/datafile/users.256.689682663'' ONLINE";
    
    sql statement: ALTER DATABASE DATAFILE
       ''+USERDATA/orcl/datafile/users.256.689682663'' ONLINE
    
  8. 元のOracle ASMディスク・グループからデータファイル・コピーを削除します。

    ここでは、+DATA/orcl/datafile/users.261.689589837DATAにある元のデータファイルです。このデータファイルに対してSET NEWNAMEコマンドとSWITCHコマンドを発行したため、元のファイルがRMANリポジトリにデータファイル・コピーとして記録されています。RMANクライアントでDELETEコマンドを実行し、このファイルを削除します。

    次に例を示します。

    RMAN> DELETE DATAFILECOPY "+DATA/orcl/datafile/users.261.689589837";
    
    released channel: ORA_DISK_1
    allocated channel: ORA_DISK_1
    channel ORA_DISK_1: SID=51 device type=DISK
    List of Datafile Copies
    =======================
    Key     File S Completion Time Ckp SCN    Ckp Time       
    ------- ---- - --------------- ---------- ---------------
    14      4    A 16-JUN-09       864471     16-JUN-09      
            Name: +DATA/orcl/datafile/users.261.689589837
            Tag: TAG20090615T084217
    
    Do you really want to delete the above objects (enter YES or NO)? y
    deleted datafile copy
    datafile copy file name=+DATA/orcl/datafile/users.261.689589837 RECID=14 STAMP=689683255
    Deleted 1 objects