程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Oracle導入/導出exp/imp

Oracle導入/導出exp/imp

編輯:Oracle教程

Oracle導入/導出exp/imp


export 導出數據,dmp文件,其實就是select。
import 導入數據,其實就是insert

缺陷:導出的時候需要全表導出,速度慢,不是實時,而且是邏輯備份


1:EXP
exp導出分為一下幾種模式
表模式: 導出某個用戶下指定的表
用戶模式: 導出某個用戶下所有的對象
數據庫模式: 導出除sys以外數據庫裡所有的對象,exp_full_database權限
可傳輸表空間: 導出某個表空間所有對象

exp語句使用幫助:$ exp help=y

1.1:導出某個用戶下指定的表
$ exp doiido/doiido file=doiido.dmp tables=(doiido,boy) log=doiido.log

1.2:導出某個用戶下所有的對象
$ exp doiido/doiido@doiido file=doiido.dmp owner=doiido log=doiido.log


1.3:導出整個數據庫(除了sys用戶下的數據字典)
SQL> grant exp_full_database to doiido;
$ exp doiido/doiido file=doiido.dmp full=y log=doiido.log

1.4:導出表空間
$ exp system/doiido@orcl file=doiido.dmp tablespaces=(doiido)

1.5:在windows下遠端導出
C:\Windows\system32>exp doiido/[email protected]:1521/doiido file=d:\doiido.dmp tables=boy log=d:\doiido.log


導出的兩種方式
傳統路徑:使用SQL語句查詢方式,需要經過緩存
直接路徑:使用數據塊抽取方式,direct=y
2:IMP導入
1:導入某個用戶指定的表

$ imp doiido/doiido file=doiido.dmp tables=(doiido,boy) log=doiido.log


2:導入用戶test所有的對象到doiido
$ imp doiido/doiido file=doiido.dmp fromuser=test touser=doiido log=doiido.log

執行導入的順序
創建表結構
導入表的數據
創建相關索引
導入觸發器
對導入的表啟用完整性約束
建立所有位圖、函數以及其他索引

imp的時候如果導入的表已經存在
ignore=y ##表示導入的時候忽略同名對象,導入的操作是追加


3:其他
(1)導入導出的過程可以更換用戶,但是必須有相同的表空間在,這樣導入才能夠成功
(2)導出的時候會有wainings是正常的,因為有些索引或主外鍵之類的沒有被導出

(3)導入導出的時候還需要注意字符集的必須是相同或者是子集

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved