imp和exp命令詳解
Export 和 Import 是一對讀寫 Oracle 資料的工具。Export 將 Oracle 資料庫
中的資料輸出到作業系統檔案中, Import 把這些檔案中的資料讀到Oracle 資料
庫中。
1. Export/Import
export分三種模式匯出資料,分別為:表模式,使用者模式,完全模式。下面對這三種模式進行詳解:
(1) 表模式
表模式,顧名思義,就是備份某個使用者模式下指定的物件(表):
例子:exp test/test rows=y indexes=n compress=n buffer=65536 feedback=100000
volsize=0 file=exp.dmp log=exp.log tables=table1, table2,table3
(2) 使用者模式
使用者模式,即備份某個使用者下的所有物件:
例子:exp test/test owner=user rows=y indexes=n compress=n buffer=65536
feedback=100000 file=exp.dmp log=exp.log
(3) 完全模式
完全模式,即備份完整的資料庫
例子:exp system/manager rows=y indexes=n compress=n buffer=65536 feedback=100000 full=y
同樣,import也分三種模式導如資料,分別為:表模式,使用者模式,完全模式。下面對這三種模式進行詳解:
(1) 表模式
表模式,即匯入某個使用者模式下指定的物件(表):
例子:imp test/test fromuser=icdmain touser=icdmain rows=y indexes=n commit=y buffer=65536 ignore=n file=exp.dmp log=imp.log tables=t1,t2,t3;
(2) 使用者模式
使用者模式,即匯入某個使用者下的所有物件:
例子:imp test/test fromuser= test touser= test rows=y indexes=n commit=y buffer=65536 ignore=n file=exp.dmp log=imp.log
(3) 完全模式
完全模式,即匯入某個使用者下的所有物件:
例子:imp system/manager rows=y indexes=n commit=y buffer=65536 feedback=100000 ignore=y full=y file=exp.dmp log=imp.log
2. 引數說明
Ignore:
Oracle 在恢復資料的過程中,當恢復某個表時,該表已經存在,就要根據
ignore 引數的設定來決定如何操作。
若 ignore=y,Oracle 不執行 CREATE TABLE 語句,直接將資料插入到表中,
如果插入的記錄違背了約束條件,比如主鍵約束,則出錯的記錄不會插入,但合
法的記錄會新增到表中。
若 ignore=n,Oracle 不執行 CREATE TABLE 語句,同時也不會將資料插入
到表中,而是忽略該表的錯誤,繼續恢復下一個表。
Indexes:
在恢復資料的過程中,若 indexes=n,則表上的索引不會被恢復,但是主鍵
對應的唯一索引將無條件恢復,這是為了保證資料的完整性。
Constraints:
constraints為Y的時候,將匯入約束,如主鍵,外來鍵,check,否則不匯入.
Rows:
該引數為Y的時候將匯入資料,預設是匯入資料.但出於某種原因可以將該引數設定成N即不匯入資料行。
Tables:
匯入/匯出表名列表,多個表名,逗號分隔。
data_only:
該引數跟rows的區別在於rows=Y的時候即建立表也匯入資料,而dat_only='Y'時,僅僅匯入資料,若表不存在,則會報錯
Full:
匯入整個檔案.
Buffer:
指定資料緩衝區大小
Fromuser:
具體指定那個使用者下的物件需要匯入
Touser:
具體指定匯入那個使用者,該引數必須跟fromuser一起使用。
Grants:
匯入許可權
Show:
在螢幕顯示檔案內容,具體不會做匯入操作
Commit:
該引數為Y時,匯入的過程會提交資料行,若buffer設定得太小,則會過去頻繁的提交資料,對效能有一定的影響.
Recordlength:
IO 記錄的長度,最大值為65535
Feedback:
顯示每 x 行 (0) 的進度
Destroy:
覆蓋表空間資料檔案 (N)
Rows:
匯入資料行 (Y)
Inctype:
增量匯入型別(inctype)