windows下oracle數據庫備份還原操作(注:從一台服務器轉移至另一台服務器)


1.exp和imp備份還原數據庫操作命令(cmd下操作)

  exp username/password@ip地址/實例名 file=磁盤:/目錄/備份文件名.dmp owner=username log=磁盤:/目錄/exp備份文件名.log

  imp 新用戶名/密碼@ip地址/ip地址 file=磁盤:/備份文件名.dmp full=y log=磁盤:/imp備份文件名.log

  授予新用戶權限最后執行sql腳本

2.expdp和impdp備份還原數據庫操作命令(cmd下操作)

2.1創建自己的備份文件expdp導出安放的邏輯目錄(個人習慣)

  create directory DBDIR as 'E:\dbdir';(需要手動建立該文件夾)

  根據select * from dba_directories;查詢DBDIR映射的邏輯目錄即'E:\dbdir'

2.2執行expdp命令

  expdp 導出的用戶名/密碼@ip地址/實例名 schemas=導出的用戶名 dumpfile=備份文件名.dmp DIRECTORY=DBDIR(ip地址可替換為localhost,下同)

2.3創建新用戶名及密碼

  create user 導入的用戶名 identified by 密碼;

2.4創建自己的impdp導入的備份文件的邏輯目錄(個人習慣)

  create directory DBDIR as 'E:\dbdir';(手動建立文件夾,注意文章標題這是另一台服務器)

2.5授予新建的導入用戶權限

  如果有表空間先賦予表空間權限;

  grant read,write on directory DBDIR to 導入的用戶名;

  grant resource,connect to 導入的用戶名;

  后面impdp導入命令執行完,執行sql腳本可能還需要其它權限比如創建視圖權限

2.6執行impdp命令

  impdp 導入的用戶名/密碼@ip地址/實例名 directory=DBDIR dumpfile=備份的文件名.dmp logfile=impdp備份的文件名.log remap_schema=導出時的用戶名:導入的用戶名

  有時候這一條命令可能執行不成功,嘗試執行:

  impdp 導入的用戶名/密碼@實例名 directory=DBDIR dumpfile=備份的文名.dmp logfile=impdp備份的文件名.log remap_schema=導出時的用戶名:導入的用戶名

2.7最后一步執行sql腳本

  

3.exp/imp與expdp/impdp個人經驗總結

  對於小表處理效果exp/imp效果更好,當備份文件較大時推薦expdp/impdp,如果是整個數據庫遷移可以用冷遷移或者熱遷移,這時候遷移的注意數據庫配置文件的一致性。一般imp或impdp導出操作時間都比較短,5g的dmp文件導出只需要十幾分鍾,但是導入的時候需要2個小時左右,而且導入的磁盤得二三十g大小容納,最后推薦一本書《Oracle DBA 工作筆記 運維、數據遷移與性能調優》,可以學習Oracle運維、數據遷移與性能調優。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM