EXP、IMP、EXPDP、IMPDP命令
1.EXP、IMP和EXPDP、IMPDP命令的介紹和區別
1.1、EXP、IMP命令的介紹
exp/imp是oracle提供的一個對數據庫進行邏輯備份的客戶端工具。利用這個工具可以把數據庫按表空間、用戶或某些表保存到操作系統下的一個二進制文件里。這個二進制文件與平臺無關,利用這個特性可以完成數據的跨平臺的遷移。
1.2、EXPDP、IMPDP命令的介紹
數據泵導出使用工具EXPDP將數據庫對象的元數據(對象結構)或數據導出到轉儲文件中。而數據泵導入則是使用工具IMPDP將轉儲元件中的元數據及其數據導入Oracle數據庫中。假設emp表被意外刪除,那么可以使用IMPDP工具導入emp的結構信息和數據。
數據泵包括導出表、導出模式、導出表空間和導出全數據庫四種模式,需要注意的是EXPDP工具只能將導出的轉儲文件放在directory對象對應的OS目錄中,而不能直接指定轉儲文件躲在的OS目錄。
1.3、兩者的區別
-
exp和imp是屬于客戶端工具,expdp和impdp 屬于服務端工具
-
數據泵工具運行于服務器端,相比客戶端的exp/imp其性能更好,并能實現exp/imp的全部功能
-
通過使用exclude,include,content等參數,數據泵可以為數據及數據對象提供更細微級別的選擇性
-
通過設定數據庫版本號,數據泵expdp/impdp可以兼容老版本的數據庫系統
-
通過estimate_only參數,數據泵可以預估導出作業所需的磁盤空間
-
支持導入時重新映射功能(即將對象導入到新的目標數據文件、架構及表空間等)
2.EXP、IMP命令的使用
2.1exp命令的使用
-- 本地數據庫 exp 用戶名/密碼 file=路徑\文件名.dmp full=y ignore=y--遠程數據庫數據導出 exp 用戶名/密碼@ip:port\數據庫實例名 file=路徑\文件名.dmp full=y有三種主要的方式(完全、用戶、表)
2. 用戶
方式一:直接用QC用戶登錄、導出
?方式二:使用system用戶登錄,但是要指定用戶名
?3.表
full=y:表示導出完全的數據庫。當然如果要執行完全導出,必須具有特殊的權限,比如dba或sys
注意:如果是在linux中,要在密碼后面加上數據庫的ip:port/數據庫實例,如下:
exp 用戶名/密碼@192.168.2.214:1521/orcl file=路徑地址 full=y2.2imp命令的使用
imp 用戶名/密碼 FILE=D:\oracle_test\文件名.dmp full=y ignore=y加上ignore=y選項,如果表數據沒有主鍵沖突,會追加進去。如果表數據有主鍵沖突,則導入報錯。但是加上ignore=y后,導入的速度就會變慢,因為如果導入的數據和已存在的數據存在大量相同,每有一個相同就會報一次錯誤,但是這個錯誤不影響導入數據這個過程。
同樣也是有三種導入方式,具體命令內容如下
1.完全
imp system/123456 ignore=y full=y file=exp_table.dmp log=exp_table.log2.用戶
imp QC/123456 ignore=y full=y file=exp_table.dmp log=exp_table.log3.表
這里的test用戶是指被導入的用戶,意味著將QC用戶中的某個表的dmp文件導入test用戶中
imp test/123456 ignore=y full=y file=exp_table.dmp log=exp_table.log3.EXPDP、IMPDP命令的使用
數據泵導出包括四種模式:
1、導出表
2、導出模式。將一個或多個模式中的所有對象結構及數據存儲到轉儲文件中。要求用戶必須具有·? ? ?DBA角色或EXP_FULL_DATABASE角色
3、導出表空間
4、導出全數據庫
注意:EXPDP工具只能將導出的轉儲文件存放在directory對象對應的OS目錄中,而不能直接指定轉儲文件所在的OS目錄。
首先,建立directory對象。directory對象可以讓用戶在Oracle數據庫中靈活地對文件進行讀寫操作,極大地提高了Oracle的易用性和可擴展性。
4.使用中遇到的錯誤及解決方式
總結
以上是生活随笔為你收集整理的EXP、IMP、EXPDP、IMPDP命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mes java_MES项目简单总结(技
- 下一篇: 【趣谈】| 编程的尽头是玄学?