aix 下 oracle 11.2 rac 把資料遷移到新儲存

pxbibm發表於2015-06-10

環境:aix主機 oracle 11.2.0.3 rac

主機不更換,只是把資料庫遷移到新的儲存
原有的dg:griddg是ocr和vote使用的dg ,datadg是資料檔案使用的dg
新的儲存dg:gridnewdg是ocr和vote使用的dg,newdatadg是資料檔案使用的dg
1.在新儲存劃分空間,然後主機識別磁碟
#cfgmgr
2.更改磁碟屬性
reserve_policy根據儲存廠家決定 ibm:no_reserve,可以去oracle support查詢各個廠家怎麼更改
3.chown grid:asmadmin /dev/rhdiskn
4.建立新的磁碟組
使用grid使用者
$asmca
5.遷移ocr file,先新增,後刪除
su - root
# /u01/11.2.0/grid/bin/ocrconfig -add '+gridnewdg'
#ocrconfig -delete +griddg
6.遷移vote檔案
su - grid
$ crsctl replace votedisk '+gridnewdg'
Successful addition of voting disk 3f4020905f184ff4bff57bd6e635331b.
Successful deletion of voting disk 8a7dd049391f4f41bf97b4414ee73bb2.
Successfully replaced voting disk group with +gridnewdg.
CRS-4266: Voting file(s) successfully replaced
7.遷移 asm使用的引數檔案
su - grid
sql> create pfile='/tmp/pfile.txt' from spfile;
sql> create spfile='+gridnewdg' from pfile='/tmp/pfile.txt'
把兩臺機器的has全部重新啟動,檢視spfile是否已經遷移過去
每臺機器都要執行
# /u01/11.2.0/grid/bin/crsctl stop has
# /u01/11.2.0/grid/bin/crsctl start has
然後關閉兩個例項
su - oracle
sqlplus / as sysdba
shutdown immediate

8.遷移控制檔案:
su - oracle
查詢正在使用的控制檔案
sql>startup nomount;
RMAN> restore controlfile to '+newdatadg' from '+DATADG/rac/controlfile/current.256.801769687';
9.更改引數檔案
alter system set control_files='+newdatadg/rac/controlfile/current.256.802020205' scope=spfile;
10.重新啟動例項到mount狀態
sql>startup mount
sql>show parameters control_file
11.遷移資料庫資料到新的dg,可以分配多個通道來增加遷移資料檔案的速度
rman >run
{allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup as copy database format '+newdatadg';
}
11.把資料庫資料檔案指向新的儲存
rman>switch database to copy;

12.開啟資料庫
sql>alter database open;
把另外一個節點起來,否則另外節點的redo不能刪除。
sql>startup

13.把redo新增新的成員,刪除老的成員,
檢視原來有多少組,就新增多少成員
alter database add logfile member '+newdatadg' to group 1;
alter database add logfile member '+newdatadg' to group 2;
alter database add logfile member '+newdatadg' to group 3;
alter database add logfile member '+newdatadg' to group 4;

使用如下方法刪除redo成員
alter database drop logfile member '+DATADG/rac/onlinelog/group_3.265.801770831'

14.更改資料庫的引數檔案
su - oracle
create pfile=/tmp/pfile.txt' from spfile;
create spfile='+newdatadg/rac/spfile' from pfile='/tmp/pfile.txt'
上邊的 在一臺主機更改,下邊的在兩臺主機都要更改
vi $ORACLE_HOME/dbs/intrac1.ora
spfile=+newdatadg/rac/spfile
重新啟動庫檢視是否更改
15 新增臨時檔案,刪除原來dg的臨時檔案
SQL> select file_name from dba_temp_files;
查詢臨時檔案位置

alter tablespace temp add tempfile '+newdatadg' size 2000M;

刪除原有dg的臨時檔案
alter database tempfile '+DATADG/rac/tempfile/temp.262.801769711' drop;
至此,一個把資料從一個儲存遷移到另外一個儲存的試驗全部完成。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12798004/viewspace-1694899/,如需轉載,請註明出處,否則將追究法律責任。

相關文章