Oracle數據庫dmp文件Dos命令下導入導出

數據導出:

一.  導出工具exp

他是操作系統下一個可執行的文件,存放目錄/Oracle_Home/bin.

exp導出工具將數據庫中數據備份壓縮成一個二進制系統文件,可以在不同的OS間遷移.

 

他有三種模式:

a. 用戶模式:導出用戶所有對象以及對象中的數據.

b.表模式: 導出用戶所有表或者指定表.

c.整個數據庫: 導出數據庫中所有對象.

例子(用戶名system,密碼manager):

1. 將數據庫test完全導出,導出到D:tianma.dmp

          exp system/manager@test  file=d:\tianma.dmp full=y

2. 將數據庫中的system用戶與sys用戶的表導出

exp system/manager@orcl file=d:\tianma.dmp owner=(system,sys)

3. 將數據庫中的表student,class導出

exp system/manager@orcl file=d:\tianma.dmp tables(student,class)

4.將數據庫中student表中filed字段以”00”打鬥的數據導出

exp system/manager@test file=d:\tianma.dmp tables(student) query=”where filed like ‘00%’”

 

關鍵字       說明(默認)

-----------------------------------------

UserId    用戶名/口令

Full      導出整個文件(N)

Buffer  數據緩衝區的大小

Owner 所有者用戶名列表

File    輸出文件(ExpDat.dmp)

Tables    表名列表

Compress  導入一個範圍(Y),實現壓縮,相當於用winzip把dmp文件很好的壓縮。

Recordlength IO   記錄的長度

Grants   導出權限(Y)

Inctype   增量導出類型

Indexs   導出索引(Y)

Record 跟蹤增量導出(Y)

Rows    導出數據行(Y)

Parfile   參數文件名

Constraints  導出約束(Y)

Consistent  交叉表一致性

Log  屏幕輸出的 日誌文件

Statistics  分析對象(Estimate)

Direct  直接路徑(N)

Triggers  導出觸發器(Y)

FeedBack  顯示每x行(0) 的進度

FileSize   各轉出文件的最大尺寸

Query  選定導出表子集的子句

 

下列關鍵字僅用於可傳輸的表空

Transport_Tablespace    導出可傳輸的表空間元數據(N)

Tablespace      將傳輸的表空間列表

數據導入:

二.   導入工具 imp

他是操作系統下一個可執行的文件,存放目錄/Oracle_Home/Bin

imp 導入工具將exp形成的二級制系統文件導入到數據庫中.

他有三種模式:

a. 用戶模式: 導入用戶所有對象以及對象中的數據庫

b. 表模式: 導入用戶所有表或者指定的表.

c. 整個數據庫: 導入數據庫中所有對象

只有擁有 IMP_FULL_DATABASE 和DBA  權限的用戶才能做整個數據庫導入

例子(用戶名admin,密碼sa):

1. 將d:\tianma.dmp 中的數據導入 @orcl 數據庫中

imp admin/sa@orcl file=d:\tianma.dmp.

imp admin/sa@orcl file=d:\tianma.dmp full=y  ignore=y

上面可能有點問題,以爲有的表已經存在,然後他就報錯,對該表就不進行倒入.在後面加上Ignore=y就可以了

2. 將d:\tianma.dmp中的表student導入

imp admin/sa@orcl file=d:\tianma.dmp tables(student)

3.導入params.dat,tianma.dmp內容

imp admin/sa  parfile=params.dat  file=tianma.dmp show=n  ignore=n  grants=y  fromuser=sott tables=(student,classs)

 

關鍵字 說明(默認)

-----------------------------------------

UserId 用戶名/口令

Full     導入整個文件(N)

Buffer 數據緩衝區的大小

Fromuser   所有人用戶名列表

File    輸入文件(ExpDat.dmp)

Touser  用戶名列表

Show  只列出文件內容(N)

Tables   表名列表

Ignore    忽略創建錯誤(N)

RecordLength IO  記錄的長度

Grants  導入權限(Y)

Inctype  增量導入類型

Indexs  導入索引(Y)

Commit    提交數組插入

Rows 導入數據行(Y)

Parfile   參數文件名

Constraints  導入約束(Y)

Log 屏幕輸出的 日誌文件

Destroy  覆蓋表空間數據文件(N)

IndexFile  將表索引信息寫入指定的文件

Skip_Unusable_Indexes  跳過不可用索引的維護(N)

Analyze   執行轉出文件中的Analyze語句

Toid_Novalidate 跳過指定類型Id的校驗

FileSize  各轉儲文件的最大尺寸

Recalculate_Statistics 重新計算統計值(N)

         下列關鍵字僅用於可傳輸的表空間:

         Transport_Tablespace 導入可傳輸的表空間元數據(N)

          TableSpace   將要傳輸的數據庫的表空間

         DataFiles   將要傳輸的數據庫的數據文件

          TTS_Ownsers  擁有可傳輸表空間集中數據的用戶

注意:
 操作者要有足夠的權限,權限不夠它會提示。
 數據庫時可以連上的。可以用tnsping TEST 來獲得數據庫TEST能否連上。
 
 
附錄………
 Oracle 不允許直接改變表的擁有者, 利用Export/Import可以達到這一目的.
  先建立import9.par,
  然後,使用時命令如下:imp parfile=/filepath/import9.par
  例 import9.par 內容如下:
        FROMUSER=TGPMS        
        TOUSER=TGPMS2     (注:把表的擁有者由FROMUSER改爲TOUSER,FROMUSER和TOUSER的用戶可以不同)           
        ROWS=Y
        INDEXES=Y
        GRANTS=Y
        CONSTRAINTS=Y
        BUFFER=409600
        file==/backup/ctgpc_20030623.dmp

截圖00

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章