Oracle資料庫從A伺服器到B伺服器的轉移

來源:互聯網
上載者:User

Oracle資料庫從A伺服器到B伺服器的轉移

有時候我們會遇到這樣的情況,現有的資料庫要從一個機器轉移到另外一個機器上,一般我們會使用匯出,匯入。但是如果資料庫的資料非常多,資料檔案尺寸很大,那麼在匯出匯入的過程就很可能會出現問題,並且漫長的過程也是我們無法容忍的。 在這種情況下,我們可以簡單地使用作業系統的copy命令,直接進行資料庫的轉移。以下樣本均在RedHat Fedora Core 1上的Oracle9.2.0.1中操作,其它作業系統和Oracle版本同樣適用。假設我們的資料庫在伺服器A上,$ORACLE_BASE是/oracle,$ORACLE_HOME是 /oracle/product/9.2.0。現在我們要將此資料庫轉移到伺服器B上,並且新的$ORACLE_BASE是/u01/oracle,$ ORACLE_HOME是/u01/oracle/product/9.2.0。SID是oralinux。

操作步驟如下:

一. 在伺服器B上安裝Oracle,安裝過程中不要建立資料庫。
使用者的profile直接從伺服器A上copy過來即可,注意需要修改原先的$ORACLE_HOME到現在的位置。

二. 如果伺服器A上的Oracle使用的是spfile,那麼根據此spfile建立pfile:
create pfile from spfile;

三. 關閉伺服器A上的資料庫,shutdown immediate。如果資料庫不允許關閉,
那麼可以使用聯機備份,這種情況資料庫必須處於archivelog模式,
轉移的原理和允許關閉的情況一樣,此處不作討論。

四. 備份伺服器A上的所有資料檔案,包括以下:
a) 所有的datafile(臨時檔案可以不copy,比如temp01.dbf)
b) 所有的online redo log
c) 所有的archive redo log
d) 所有的control file
e) $ORACLE_HOME/dbs/init.ora(此檔案是在上面第二步中建立的)
f) $ORACLE_HOME/dbs/orapw(這是password file)
g) $ORACLE_HOME/network/listener.ora(這步可以省略,以後重建也可以)
h) $ORACLE_BASE/admin//下的所有目錄,一般是udump, cdump,
bdump(這步可以省略,以後手工建立目錄也可以)

五.通過FTP或者別的工具將上述的備份檔案,全部上傳到伺服器B的相應目錄中。比如說原來在伺服器A上$ORACLE_BASE/oradata/< SID>/system01.dbf,現在就上傳到伺服器B上$ORACLE_BASE/oradata/ /system01.dbf,保證目錄的邏輯結構一樣,實際上物理結構已經發生了變化(A上$ORACLE_BASE是/oracle,而B上是 /u01/oracle)。其它的檔案均作相同處理,如果伺服器B上還沒有相應的目錄,那麼就手工建立。

六. 編輯上傳到伺服器B上的init.ora檔案,將其中涉及的目錄結構全部改為B中目前的目錄結構,比如本例中就是將/oracle改為/u01/oracle。

七. 在伺服器B上,sqlplus “/ as sysdba”,提示進入空閑進程。

八. 根據修改過的pfile建立spfile,create spfile from pfile;

九. 啟動資料庫到mount狀態,startup mount;

十. 修改control file中所有資料檔案的位置,可以通過spool產生所有的SQL:
SQL> alter database rename file '/oracle/oradata/oralinux/system01.dbf'
2 to '/u01/oracle/oradata/oralinux/system01.dbf';
按照以上文法修改所有的資料檔案位置。

十一. 此時資料庫已經可以使用了,alter database open;

十二. 將臨時檔案添加到TEMP資料表空間中:
alter tablespace TEMP add tempfile
‘'/u01/oracle/oradata/oralinux/temp01.dbf’ size 20M;

十三.還有一些後續工作,包括更新資料庫B上的監聽設定檔(其實可以不用管,因為9i的執行個體已經可以自動註冊到監聽程式上了,如果是先起監聽再起資料庫,那麼立刻就會註冊,如果是先起資料庫再起監聽,那麼會稍微有些延時才註冊),修改/etc/oratab檔案,以能夠使用dbstart和dbshut指令碼。 這樣資料庫就算完全轉移了。 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.