環(huán)境介紹:
oradg:主機F4800 存儲SUN 6140
oradgsb:主機M4000 存儲SUN 6120
數據庫為oracle 9i數據量大概500GB,過(guò)程僅僅就是將oradg上的數據遷移到oradgsb主機的數據庫上;
1.備機上安裝好oracle 9i的數據庫server軟件
2.配置listener.ora和tnsnames.ora文件,采用netmgr工具最易
例如:
listener.ora:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = oradgsb)
(ORACLE_HOME = /opt/rac/database)
(SID_NAME = oradgsb)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradgsb-host)(PORT = 1521))
)
tnsnames.ora:
ORADGSB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = oradgsb-host)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oradgsb)
)
)
確保主機兩邊都能夠互相tnsping通對方。
3.創(chuàng )建目錄
%mkdir -p /opt/app/oracle/admin/oradgsb/bdump
%mkdir -p /opt/app/oracle/admin/oradgsb/cdump
%mkdir -p /opt/app/oracle/admin/oradgsb/adump
%mkdir -p /opt/app/oracle/admin/oradgsb/udump
%mkdir -p /opt/app/oracle/admin/oradgsb/spfile
4.創(chuàng )建pfile啟動(dòng)文件
SQL>create pfile from spfile;
5.將initxxdb.ora ftp傳輸到oradgsb對應目錄下,然后需要修改如下目錄路徑為現在的路徑即可:
*.background_dump_dest=’/opt/app/oracle/admin/oradgsb/bdump’
*.control_files=’/oradata1/sysdata/control01.ctl’,'/oradata1/sysdata/control02.ctl’,'/oradata1/sysdata/control03.ctl’
*.core_dump_dest=’/opt/app/oracle/admin/oradgsb/cdump’
*.remote_login_passwordfile=’EXCLUSIVE’
*.user_dump_dest=’/opt/app/oracle/admin/oradgsb/udump’
6.創(chuàng )建sys登錄口令文件
%orapwd file=$ORACLE_HOME/dbs/orapworadg.ora password=system entries=10
7.啟動(dòng)備機上的實(shí)例
$sqlplus “/as sysdba”
SQL>startup nomount pfile=’$ORACLE_HOME/dbs/initoradg.ora’
由于考慮到空間問(wèn)題所以借助了對方的磁盤(pán)空間:
#share -F nfs -o rw=oradg /oradata3
#mount oradgsb:/oradata3 /oradata3
8.通過(guò)RMAM全庫備份,以便于恢復到備機上。
%rman target /
rman> @backup_oradg.rman
其中backup_oradg.rman腳本內容如下:
run
{allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup full database format ‘/oradata3/oradg/full_back_oradg_%U’;
backup archivelog all format ‘/oradata3/oradg/arch_%U.arc’;
copy current controlfile to ‘/oradata3/oradg/control_bak.ctl’;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
}
其實(shí)這個(gè)需要將備份數據傳送到備用的輔助數據庫對應的歸檔目錄,而本次由于是采用NFS功能,所以沒(méi)做哪些操作:
在此運行archive log list記下日志序列號;
連接到目標數據庫
%rman target /
rman>connect auxiliary sys/system@oradgsb
rman>@duplicate_oradg.rman
其中duplicate_oradg.rman腳本內容如下:
run
{ set until logseq n thread 1;
allocate auxiliary channel c1 type disk;
allocate auxiliary channel c2 type disk;
allocate auxiliary channel c3 type disk;
allocate auxiliary channel c4 dype disk;
set newname for datafile 1 to ‘/oradata1/sysdata/system_ln10_1.dbf;’
… … … …
set newname for datafile 200 to ‘/oradata1/userdata/perfdbs03.dbf;’
duplicate target database to “oradg”
logfile
‘/oradata1/sysdata/redo01a.log’ size 256m,
‘/oradata1/sysdata/redo02a.log’ size 256m,
‘/oradata1/sysdata/redo03a.log’ size 256m;
‘/oradata1/sysdata/redo04a.log’ size 256m;
}
文件比較多,所以當時(shí)只能根據空間分散后后期調整;
最后再oradgsb主機上執行:
%sqlplus “/as sysdba”
SQL>alter database open resetlogs;
最后需要手工增加temp tablespace空間,還要檢查索引是否有實(shí)效需要進(jìn)行重建的。
聯(lián)系客服