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ディスク・グループから別のディスク・グループにデータファイルを移動するには、次の手順を実行します。
RMANを起動し、ターゲット・データベースに接続します。
次に例を示します。
$ rman
RMAN> CONNECT TARGET SYS@orcl
target database Password: XXXXXXXXX
connected to target database: ORCL (DBID=1217369048)
データファイルの名前を示すレポートを生成します。
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
データファイルを新しい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";
新しいディスク・グループに移動するデータファイルをオフラインにします。
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
制御ファイルを新規に作成したデータファイルのコピーに指定します。
RMANクライアントでSWITCH...TO COPY
コマンドを実行します。SWITCH
のTO
COPY
オプションにより、データファイルをその最新コピーに切り替えます。
次に例を示します。
RMAN> SWITCH DATAFILE "+DATA/orcl/datafile/users.261.689589837" TO COPY; datafile 4 switched to datafile copy "+USERDATA/orcl/datafile/users.256.689682663"
このコマンドの出力には、データファイルの新しい名前が表示されます。
名前を変更したデータファイルをリカバリします。
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
データファイルをオンラインにします。
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
元のOracle ASMディスク・グループからデータファイル・コピーを削除します。
ここでは、+DATA/orcl/datafile/users.261.689589837
がDATA
にある元のデータファイルです。このデータファイルに対して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