最近公司的所有的操作系統都統一升級到Win7系統。我們公司有一個做工程計劃的ORACLE 的一個產品軟件叫Primavera Six(簡稱P6). 所以我需要把P6 的數據庫從XP遷移到Win7系統。因為以前也做過從XP 到 XP系統的P6數據庫的遷移成功過,而且是一次成功,沒有出什麼問題的。這次就沒有在做遷移之前做測試。呵呵,有點自信過度了,以後一定要先做測試,否則如果是限制時間做數據庫遷移的話,尤其是幫客戶做項目的話,那可就被領導和客戶批評了,還好我這次是自己公司的數據庫,而且對時間要求不限制。我可以有幾天的時間去查找回復不成功的原因。下面我來說說這個遷移的故事吧。
上周四早上就寫郵件給相關用P6系統的同事,告訴他們,我從周四到周五做服務器的數據庫遷移,所以在此其間數據庫用不了。其實要不了這麼長時間,主要是我們公司安裝卸載程序還需要專門的人員授權才可以操作軟件,所有的軟件都不能在沒有授權的情況下安裝或者卸載,有點變態哦,哈哈。這也好,我就吧遷移時間說長點。我周四就和IT說,我周五要升級OS到WIN7,我今天把數據庫和相關的軟件做好備份,當然這個服務器裡還有MYSQL數據庫等信息。今天重點是說ORACLE的數據庫的備份。MYSQL我自己寫了個每天自動備份的小批處理,基本遷移到WIN7沒有問題。於是我就把數據庫做了幾下日志切換:alter system switch logfile。我還是做兩手准備吧,因為數據庫比較小。
1,所以做一個全庫冷備
a, 把數據庫關閉 shutdown immediate 。
b,把所有的數據文件都拷貝下了, 包括tempfile,datafile,redo logile,controlfile等等
2,在數據庫mount下用RMAN做一個全庫熱備份。
a, RMAN的配置如下:
RMAN> configure channel device type disk format 'd:\bak\backupset\%U';
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP on;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:\bak\ctrlbak\%F';
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 5;
RMAN> CONFIGURE RETENTION POLICY TO recovery window of 5 days;
RMAN> backup as compressed backupset database plus archivelog;
b,從上面可以看出我備份的文件路徑分別是:
控制文件自動備份的配置給設置好:CONFIGURE CONTROLFILE AUTOBACKUP on;
控制文件路徑:d:\bak\ctrlbak
數據文件路徑:d:\bak\backupset
C, 開始用RMAN做備份
RMAN〉BACKUP DATABASE;
備份完畢後,把d:\bak下的文件拷貝起來,同時把online redo log文件也拷貝下來,這個到後面,回復的時候我會告訴你的用處。再把其他的要備份的備份到移動硬盤上去。
周四就這樣結束了,等待周五IT給吧XP的系統給抹掉,裝上WIN7 系統再做回復。