一、ASM檔案遷移說明
ASM檔案遷移指的是將位於檔案系統上的資料庫檔案遷移到ASM磁碟組裡;或者是將位於ASM磁碟組上的資料庫檔案遷移到檔案系統上。如所示:
二、從檔案系統遷移到ASM磁碟組
第一步:修改spfile
sql>alter system set control_files=’+dgdata1’,’+dgdata1’ scope=spfile;
第二步:備份控制檔案
$rman target /
rman>backup current controlfile format ‘/home/oracle/controlfile.ctl’;
第三步:啟動資料庫到NOMOUNT
rman>shutdown immediate
rman>startup nomount
備忘:因為修改了spfile中控制檔案的位置,所以資料庫啟動的時候會出現找不到控
制檔案的問題,所以將資料庫啟動到NOMOUNT狀態,然後再恢複控制檔案。
第四步:恢複控制檔案
rman>resotore controlfile from ‘/home/oracle/controlfile.ctl’;
備忘:RMAN根據spfile檔案中control_files的值將控制檔案恢複到指定路徑下。
第五步:啟動資料庫到MOUNT
rman>alter database mount;
備忘:因為控制檔案已經恢複,系統可以順利讀取控制檔案,所以將資料庫啟動到MOUNT
以便進行下一步資料庫檔案的遷移。
第六步:複製資料庫檔案到ASM磁碟組
rman>backup as copy database format ‘+dgdata1’;
備忘:backup as copy 命令是以副本的方式備份資料庫,其作用和作業系統的COPY
命令是一樣的,只是二者的執行者不同而已。至於資料庫檔案複製過去的名字則
無需指定,它由ASM自動產生。而且backup as copy 命令只備份資料檔案,不備
份記錄檔,也不備份臨時檔案。
第七步:修改控制檔案內部資料檔案指標
rman>switch database to copy;
備忘:因為控制檔案內部對資料檔案的指向依然是檔案系統的目錄路徑。我們的目的
是讓它的指向修改為ASM磁碟組的ASM檔案。該命令的功能正是如此。
注意】此處不能使用alter database rename file 命令修改控制檔案內部資料檔案
的指標。因為alter database rename file命令不能跨越系統進行操作。所
不能使用其將檔案系統的資料檔案路徑改為ASM系統的ASM檔案路徑。
第八步:修複資料庫檔案
rman>recover database;
備忘:應用日誌到恢複後的資料檔案上,以實現對其的修複。
第九步:以RESETLOGS方式開啟資料庫
rman>alter database open resetlogs;
第十步:修改聯機記錄檔組
sql>alter database add logfile group 3 ‘+dgdata1’,’+dgdata1’) size 10m;
sql>alter database add logfile group 4 ‘+dgdata1’,’+dgdata1’) size 10m;
sql>alter system switch logfile;
sql>alter system switch logfile;
sql>alter system checkpoint;
sql>alter database drop logfile group 1;
sql>alter database drop logfile group 2;
備忘】因為backup as copy database 命令只複製資料檔案不複製聯機記錄檔,所
以需要手工添加聯機記錄檔,刪除位元於檔案系統的記錄檔。在刪除過程中,
記錄檔可能處於當前使用狀態或者是活動狀態,故分別使用如下命令進行解決:
alter system switch logfile;日誌切換)
alter system checkpoint;將髒資料寫入資料檔案,以使記錄檔狀態變為非活動)
第十一步:添加暫存資料表空間檔案
sql>alter tablespace temp add tempfile ‘+dgdata1’ size 50m;
sql>alter tablespace temp drop tempfile ‘/u01/oradata/info/temp01.dbf’;
備忘】因為backup as copy database 命令只複製資料檔案不複製臨時檔案,所
以需要手工添加臨時檔案。
三、從ASM磁碟組遷移到檔案系統
第一步:修改spfile
sql>alter system set control_files=’/u01/info/control_01.ctl’ scope=spfile;
第二步:備份控制檔案
$rman target /
rman>backup current controlfile format ‘/home/oracle/controlfile.ctl’;
第三步:啟動資料庫到NOMOUNT
rman>shutdown immediate
rman>startup nomount
備忘:因為修改了spfile中控制檔案的位置,所以資料庫啟動的時候會出現找不到控
制檔案的問題,所以將資料庫啟動到NOMOUNT狀態,然後再恢複控制檔案。
第四步:恢複控制檔案
rman>resotore controlfile from ‘/home/oracle/controlfile.ctl’;
備忘:RMAN根據spfile檔案中control_files的值將控制檔案恢複到指定路徑下。
第五步:啟動資料庫到MOUNT
rman>alter database mount;
備忘:因為控制檔案已經恢複,系統可以順利讀取控制檔案,所以將資料庫啟動到MOUNT
以便進行下一步資料庫檔案的遷移。
第六步:複製ASM磁碟組資料檔案到檔案系統
rman>backup as copy datafile ‘+dgdata1/info/datafile/system.256.344545’ format ‘/u01/info/system_01.dbf’;
rman>backup as copy datafile ‘+dgdata1/info/datafile/sysaux.257.344545’ fromat ‘/u01/info/sysaux_01.dbf’;
… …
備忘:backup as copy 命令是以副本的方式備份資料庫,其作用和作業系統的COPY
命令是一樣的,只是二者的執行者不同而已。這裡必須同時制定ASM檔案的名字和
副本的名字。而且backup as copy 命令只備份資料檔案,不備份記錄檔,也不
備份臨時檔案。
第七步:修改控制檔案內部資料檔案指標
rman>switch database to copy;
備忘:因為控制檔案內部對資料檔案的指向依然是ASM檔案的目錄路徑。我們的目的
是讓它的指向修改為檔案系統的資料庫檔案。該命令的功能正是如此。
注意】此處不能使用alter database rename file 命令修改控制檔案內部資料檔案
的指標。因為alter database rename file命令不能跨越系統進行操作。所
不能使用其將ASM系統的ASM檔案路徑改為檔案系統的資料檔案路徑。
第八步:修複資料庫檔案
rman>recover database;
備忘:應用日誌到恢複後的資料檔案上,以實現對其的修複。
第九步:以RESETLOGS方式開啟資料庫
rman>alter database open resetlogs;
第十步:修改聯機記錄檔組
sql>alter database add logfile group 3 ‘/u01/info/redo_03_01.log’) size 10m;
sql>alter database add logfile group 4 ‘/u01/info/redo_04_01.log’) size 10m;
sql>alter system switch logfile;
sql>alter system switch logfile;
sql>alter system checkpoint;
sql>alter database drop logfile group 1;
sql>alter database drop logfile group 2;
備忘】因為backup as copy database 命令只複製資料檔案不複製聯機記錄檔,所
以需要手工添加聯機記錄檔,刪除位元於ASM磁碟組的記錄檔。在刪除過程中,
記錄檔可能處於當前使用狀態或者是活動狀態,故分別使用如下命令進行解決:
alter system switch logfile;日誌切換)
alter system checkpoint;將髒資料寫入資料檔案,以使記錄檔狀態變為非活動)
第十一步:添加暫存資料表空間檔案
sql>alter tablespace temp add tempfile ‘/u01/oradata/info/temp01.dbf’ size 10m;
sql>alter tablespace temp drop tempfile ‘+dgdata1/info/tempfile/temp.259.34344’;
備忘】因為backup as copy database 命令只複製資料檔案不複製臨時檔案,所
以需要手工添加臨時檔案。
oracle視頻教程請關注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html