近日,我想把oracle數據庫從我的電腦上遷移到機房的電腦上,一開始采用dmp/imp方式,但是發現需要導出很多用戶,太麻煩。所以決定采用冷備份/冷恢復的方式。
過程如下:
通過v$controlfile查看控制文件,通過v$logfile查看重做日志文件,通過V$DATAFILE查看數據文件,發現他們都處於同一文件夾中i:oracleoradata est中,索性都復制到另一台機器的e:oracleoradata est中,復制之前shutdown系統。還復制了inittest.ora後來發現他指向另一個init.ora,又復制了這個init.ora,還復制了一個口令文件PWDtest.ora到機房電腦的相應位置。startup後,發現無法運行,我想應該是兩個oracle安裝路徑不同的原因,首先修改了init.ora中的控制文件的路徑,還是不行,我想應該修改控制文件中的數據文件路徑信息,如何修改呢?網上一頓查找,終於找到了如下方法:
首先,在原電腦上:
1. 備份數據庫中的數據,以防不測。
2. svrmgrl
3. svrmgrl>connect internal/oracle
4. svrmgrl>alter database backup controlfile to trace; 備份控制文件
5. 在/home/oracle//admin/ora7/udump下可找到最新生成的TRACE文件,假設為ora_15269.trc,此文件就包含了當前控制文件的參數及生成語法。
6. 提取ora_15269.trc中有關控制文件生成的語句另存為creatctl.sql。
7. 修改creatctl.sql中的路徑信息;
8.然後,復制到目標電腦上,並且在目標電腦上
9. svrmgrl
10. svrmgrl>connect internal
11. svrmgrl>shutdown immediate
12. svrmgrl>@creatctl.sql
13. svrmgrl>alter database open;數據庫遷移成功.]
總結:
冷備份需要在oracle shutdown的情況下,拷貝如下文件:1.數據文件;2.控制文件;3。日志文件;4。init數據庫實例名.ora文件,及其內部指向的init.ora文件;5 口令文件PWD數據庫實例名.ora;然後,安裝oracle,實例名和以前相同,安裝路徑等最好也相同,shutdown,拷貝上述文件到相應位置,如果安裝位置和以前不同,需要修改init*.ora,和控制文件中的路徑信息。