一、原始信息記錄及復(fù)制
1.記錄欲遷移庫的sid,是否為歸檔模式(查看方法:以sys用戶登入sqlplus后運行archive log list,建庫時默認為非歸檔模式)以及如下文件的存放位置:參數(shù)文件,密碼文件,控制文件,日志文件,數(shù)據(jù)文件 參數(shù)文件存放在C:\oracle\product\10.2.0\db_1\dbs目錄下,名為SPFILE<sid>.ORA,例如SPFILEORCL.ORA
密碼文件一般與參數(shù)文件存放C:\oracle\product\10.2.0\db_1\database,名為PWD<sid>.ora,例如PWDorcl.ora
控制文件的位置和個數(shù)可通過查看參數(shù)文件獲得,參數(shù)文件中有這樣一行文字:
C:\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL
C:\oracle\product\10.2.0\oradata\orcl\CONTROL02.CTL
C:\oracle\product\10.2.0\oradata\orcl\CONTROL03.CTL
注意:不要用記事本打開參數(shù)文件,那樣會破壞其格式,用寫字板之類的打開,并且打開前先備份一個 數(shù)據(jù)文件與日志文件存放的位置根據(jù)具體情況而定,一般在oradata\以實例名為名稱的目錄\,控制文件的位置一般也在這個目錄下
2 復(fù)制這些文件到目標主機上
二 建立新數(shù)據(jù)庫
1 在目標主機上建個與原主機位置相同的文件夾,例如pme上所有數(shù)據(jù)文件,日志文件,控制文件均存放在D:\oradata\orcl下,
則在目標主機上建D:\oradata\orcl目錄
2.在目標主機上用Database Configuration Assistant(即dbca)建立一個新的數(shù)據(jù)庫,SID與原有庫相同,其它各步可選用默認選項(注意是否歸檔模式需與原庫保持一致)
3 建好庫以后,先備份一下新庫的參數(shù)文件,密碼文件,控制文件,日志文件,數(shù)據(jù)文件,以防遷移不成功恢復(fù)這個新庫用
4 以sys用戶登入sqlplus,關(guān)閉數(shù)據(jù)庫——shutdown immediate
5 用原庫的參數(shù)文件,密碼文件,控制文件替換新庫的相應(yīng)文件
并編輯參數(shù)文件中的如下項為實際位置
*.background_dump_dest='F:\oracle\admin\orcl\bdump'
*.control_files='E:\oradata\orcl\control01.ctl','E:\oradata\orcl\control02.ctl','E:\oradata\orcl\control03.ctl'
*.core_dump_dest='F:\oracle\admin\orcl\cdump'
*.user_dump_dest='F:\oracle\admin\orcl\udump'
注意保證參數(shù)文件的格式不要被破壞
6.將原庫的所有數(shù)據(jù)文件和日志文件拷過去替換新庫的相應(yīng)文件(新庫中只有oracle初始化建的數(shù)據(jù)文件,而原庫中有我們自己建的數(shù)據(jù)文件,要將這些也拷過去,主要就是為了遷移這些數(shù)據(jù))
遷移完畢
三 啟動新庫
命令行下:
Set oracle_sid=新庫sid
Sqlplus /nolog
Conn /as sysdba
會提示已連接到空閑例程
SQL> startup nomount
ORACLE 例程已經(jīng)啟動。
Total System Global Area? 135338868 bytes
Fixed Size?????????????????? 453492 bytes
Variable Size???????????? 109051904 bytes
Database Buffers?????????? 25165824 bytes
Redo Buffers???????????????? 667648 bytes
SQL>
出現(xiàn)上面的字幕說明參數(shù)文件沒有問題
若提示ORA-600說明參數(shù)文件格式出問題了或者內(nèi)容有問題,檢查之前步驟
startup nomount成功后
運行create pfile from spfile;
創(chuàng)建后運行 alter database mount;
成功的話說明找到控制文件了
成功后運行alter database open;
成功的話說明遷移成功
|