# 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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.