ORACLE數據庫遷移有多種,今天先從物理遷移實驗做起。
物理遷移比較簡單,但是要求兩個庫的版本必須一樣,且必須事先記錄要遷移的庫的SID、歸檔模式、數據文件、日志文件、控制文件、參數文件和密碼文件。
遷移過程大致分為以下四步:
1、用遷移的參數文件啟庫到nomount狀態。
數據庫默認情況下是用$ORACLE_HOME/dbs/spfile<SID>.ora文件來啟動的,如果要用pfile啟動的話
就制定pfile文件就可以啟動,nomount狀態也就是加載參數文件的過程,如果可以成功啟動,那么就說明參數文件沒有問題
2、啟到mount狀態,mount狀態是加載控制文件的過程。
3、如果可以啟到mount狀態了,那么就可以進行開庫操作了。
4、開庫成功之后,就說明遷移成功,可以看看數據丟失沒,然后啟動監聽和配置文件等。
下面進行試驗:
說明:如果兩個庫的目錄建的一模一樣的話,遷移相對簡單,這里演示目錄不一樣的情況。
查看原庫的SID 、數據文件、控制文件、密碼文件、參數文件、重做日志文件。
這里就不貼過程了
下面開始正式的步驟:
1、用pfile起到nomount狀態
SQL> startup nomount pfile='/u01/app/oracle/product/10.2.0/db_1/dbs/initorcl.ora' ORACLE instance started. Total System Global Area 432013312 bytes Fixed Size 2021344 bytes Variable Size 121636896 bytes Database Buffers 306184192 bytes Redo Buffers 2170880 bytes |
成功之后趕緊用pfile生成spfile文件,方便后面對參數的修改
2、起到mount狀態
SQL> alter database mount;
Database altered.
加載控制文件
如果出現錯誤,就說明控制文件所在的路徑和參數文件中的路徑不一致,就要修改初始化參數文件中控制文件的參數,然后重新加載
3、起到open狀態
SQL> alter database open;
Database altered.
這里出現錯誤的話,就是數據文件或其他文件找不到
通過
alter database rename file 'home/oracle/1.dbf' /home/oracle/oradata/1.dbf';
來解決。
4 遷移成功,開啟監聽
ID
----------
1
說明成功了