循序漸進(jìn)講解Oracle 9i數(shù)據(jù)庫(kù)的遷移過(guò)程
需求:把原系統(tǒng)Oracle 9205數(shù)據(jù)庫(kù)遷移到一臺(tái)新的服務(wù)器和陣列上,原系統(tǒng)有250GB的數(shù)據(jù)量,需要停止原來(lái)系統(tǒng)的業(yè)務(wù),做冷備份和恢復(fù)。
解決方法如下:
◆1.在新的服務(wù)器和陣列上裝好一個(gè)oracle 9206數(shù)據(jù)庫(kù);
◆2.停止原系統(tǒng)oracle 9205;
◆3.把原系統(tǒng)的數(shù)據(jù)冷拷貝到新的服務(wù)器上,然后按照以下步驟來(lái)進(jìn)行恢復(fù):
(1)、獲取數(shù)據(jù)庫(kù)相關(guān)信息
首先要查看一下數(shù)據(jù)庫(kù)的文件內(nèi)容:
select * from v$datafile;
select * from v$controlfile
select * from v$logfile;
數(shù)據(jù)文件:
G:ORADATAWEBOASYSTEM01.DBF
G:ORADATAWEBOAUNDOTBS01.DBF
G:ORADATAWEBOACWMLITE01.DBF
G:ORADATAWEBOADRSYS01.DBF
G:ORADATAWEBOAEXAMPLE01.DBF
G:ORADATAWEBOAINDX01.DBF
G:ORADATAWEBOAODM01.DBF
G:ORADATAWEBOATOOLS01.DBF
G:ORADATAWEBOAUSERS01.DBF
G:ORADATAWEBOAXDB01.DBF
控制文件:
G:ORADATAWEBOACONTROL01.CTL
G:ORADATAWEBOACONTROL02.CTL
G:ORADATAWEBOACONTROL03.CTL
重做日志文件:
G:ORADATAWEBOAREDO03.LOG
G:ORADATAWEBOAREDO02.LOG
G:ORADATAWEBOAREDO01.LOG
(2)、移動(dòng)應(yīng)用數(shù)據(jù)文件
shutdown immediate關(guān)閉數(shù)據(jù)庫(kù),拷貝數(shù)據(jù)文件到另外一個(gè)目錄下。需要copy 的文件有:
system01.dbf
indx01.dbf
temp01.dbf
users01.dbf
應(yīng)用數(shù)據(jù)文件
(3)、修改數(shù)據(jù)庫(kù)文件的位置
啟動(dòng)MOUNT模式
startup mount;
alter database rename file 'g:oradataweboaSYSTEM01.DBF' to 'd:oradataweboaSYSTEM01.DBF';
注意只能進(jìn)行更改移動(dòng)的數(shù)據(jù)庫(kù)文件,不包括控制文件與日志文件,TEMP文件。
移動(dòng)控制文件
(1)備份SPFILE中的內(nèi)容:
再重新啟動(dòng)數(shù)據(jù)庫(kù):
startup;
create pfile=’c:init.ora’ from spfile;
(2)修改init.ora文件中的內(nèi)容:
*.control_files='oradataocpcontrol01.ctl','oradataocpcontrol02.ctl','oradataocpcontrol03.ctl'
進(jìn)行更改已經(jīng)復(fù)制的目錄位置。
Shutdown 數(shù)據(jù)庫(kù)
(3)將控制文件復(fù)制過(guò)去
將三個(gè)控制文件移動(dòng)到上面所修改的的目錄下。
(4)倒入?yún)?shù)文件
以init.ora參數(shù)方式啟動(dòng):
startup pfile=’oracleinit.ora’;
create spfile from pfile=’oracleinit.ora’;
shutdown immediate;
startup; 從spfile中進(jìn)行啟動(dòng)。
這樣控制文件移動(dòng)工作就結(jié)束了。
重建或重定位LOG文件
解決日志文件的移動(dòng)方式有兩種,一種是移動(dòng)(RENAME方式)另一種是重新創(chuàng)建。
(1)移動(dòng)LOG文件
重新移動(dòng)數(shù)據(jù)庫(kù)文件與移動(dòng)系統(tǒng)數(shù)據(jù)庫(kù)文件是一樣的方法,只是要求數(shù)據(jù)庫(kù)必須是“startup mount”方式進(jìn)行。
startup mount
alter database rename file 'g:oradataweboaREDO01.LOG' to 'd:oradataweboaREDO01.LOG';
alter database rename file 'g:oradataweboaREDO02.LOG' to 'd:oradataweboaREDO02.LOG';
alter database rename file 'g:oradataweboaREDO03.LOG' to 'd:oradataweboaREDO03.LOG';
四、重建系統(tǒng)監(jiān)時(shí)(temp)文件系統(tǒng)
在移動(dòng)數(shù)據(jù)表空間時(shí),TEMP文件是不能被移動(dòng)的,這里要求可以進(jìn)行重建一個(gè)TEMP表空間,并設(shè)置為系統(tǒng)默認(rèn)的TEMP文件系統(tǒng)。
然后再冊(cè)除原來(lái)的TEMP表空間,達(dá)到移動(dòng)表空間的過(guò)程。
遷移臨時(shí)表空間
◆1.startup --啟動(dòng)數(shù)據(jù)庫(kù)
◆2. create temporary tablespace 'temp02' tempfile 'd:oradataweboatemp02.dbf' size 500m extent management local uniform size 10m; --創(chuàng)建中轉(zhuǎn)臨時(shí)表空間
◆3.alter database default temporary tablespace temp2; --改變?nèi)笔∨R時(shí)表空間 為剛剛創(chuàng)建的新臨時(shí)表空間temp2
◆4.drop tablespace temp including contents and datafiles;--刪除原來(lái)臨時(shí)表空間
◆5 然后再刪除原來(lái)的TEMP文件就可以了。
