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運維、數據遷移與性能調優。