① exp/imp邏輯備份與恢復
這是最常用最簡單的方法,一般是基於應用的owner級做導入導出。
操作方法:
在新庫建立好owner和表空間,停老庫的應用,在老庫運行以下命令:
$ exp SIEBEL/BYDUAT#SIE owner=SIEBEL grants=y file=/home/oracle/imp/siebel.dmp log=/home/oracle/imp/siebel.log
導入dmp文件到新庫,在新庫執行以下命令:
$ imp SIEBEL/BYDUAT#SIE ignore=y grants=y fromuser=SIEBEL touser=SIEBEL file=/home/oracle/imp/siebel.dmp log=/home/oracle/imp/siebel.log
優缺點:優點是可以跨平台使用,缺點是停機時間長,停機時間為從exp到網絡傳輸到新庫,再加上imp的時間。
② storage存儲遷移
這種情況下,數據文件、控制文件、日志文件、spfile都在存儲上(一般情況下是裸設備),我們可以直接把存儲掛到新機器上,然后在新機器上啟動數據庫。
操作方法:將老庫的pfile(因為里面有指向裸設備的spfile鏈接),tnsnames.ora,listener.ora,密碼文件傳到新庫的對應位置。將存儲切至新機,或者用文件拷貝或dd的方式復制數據文件,啟動數據庫。
優缺點:優點是該遷移方式非常簡單,主要的工作是主機工程師的工作,dba只需配合即可,停機時間為停庫、切存儲、起庫的時間;缺點是要求新老庫都是同一平台,是相同的數據庫版本。
③ 用rman做遷移
rman比較適合於跨文件系統的遷移,如同平台下的不同文件系統。
操作方法:備份還原、rman duplicate
④ 利用dataguard遷移
用dg我們不僅可以用來做容災,物理的dg我們還可以作為遷移的方式。
操作方法:
優缺點:優點是停機時間短,停機時間為switch over的時間;缺點是主機必須雙份、存儲必須雙份。