# Oracle 資料庫使用 EXPDP 與 IMPDP 備份與還原 ###### tags: `資料庫` 在一台可以連到Oracle資料庫的PC操作。 要有DBA的帳號與密碼。 開啟DOS命令提示字元。 評估全部匯出的匯出檔案大小。 輸入指令: ``` EXPDP dba_account/dba_pwd@service_name FULL=Y ESTIMATE_ONLY=Y ```   實際匯出大小可能只有評估結果的60%。所以只要評估大小不會大到無法複製,就可以使用全部匯出。 匯出步驟: 先確認目的資料庫與來源資料庫的檔案位置相同,作業上會簡單許多。 例如:來源資料庫檔案  目的資料庫檔案也要相同,但是如果安裝的時候,Oracle目錄就不一樣,那麼也可以在備份電腦上,先建立相同的資料夾。 備份指令: ``` EXPDP dba_account/dba_pwd@service_name FULL=Y DUMPFILE=FULL.DMP ```  備份成功之後,FULL.DMP會放在Oracle資料庫所在的電腦(不是下指令的電腦):  如果不在,請連上ORACLE下指令: ``` SELECT * FROM ALL_DIRECTORIES ```  DATA_PUMP_DIR的DIRECTORY_PATH就是dump檔的位置。 把FULL.DMP複製到備份電腦的DATA_PUMP_DIR的DIRECTORY_PATH,再下指令還原資料庫: 還原資料庫時,目的資料庫可能是剛安裝好的資料庫,應該沒有來源資料庫的東西,包括USER,所以DBA帳號應該是使用SYS或SYSTEM,密碼則是在安裝時設定。 還原指令: ``` IMPDP system/system_pwd@service_name FULL=Y DUMPFILE=FULL.DMP ```  檢查錯誤:EXPORT.LOG  檢查還原後的資料庫,基本上如果 TABLESPACE、SCHEMA、USER、TABLE、STORED PROCEDURE、PACKAGE、MATERIALIZED VIEW、SEQUENCE 都有還原,應該就沒問題了。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up