Oracle import命令使用淺解

2021-08-31 22:24:31 字數 2546 閱讀 2272

命令使用淺解

的文章中介紹了 oracle 的 exp 命令用來匯出資料,匯出的二進位制檔案如何使用,怎樣才能匯入到資料庫中呢?答案就是通過 oracle 的 imp 命令。

1.認識 imp命令

imp 命令可以通過輸入各種引數來控制匯出的執行方式,執行引數時格式如下:

imp keyword=value 或 keyword=(value1,value2,...,valuen) ,例如 imp scott/tiger ignore=y tables=(emp,dept) full=n 。要想檢視 imp 支援的所有引數,可以通過執行

imp help=y 來檢視引數的詳細情況。雖說是詳細情況,但是等你檢視了就知道了,其實一點都不詳細,要不然我也就沒必要再寫這邊筆記博文了。

2.引數詳解

userid使用者名稱/ 口令。該引數在imp 命令中位置必須是第乙個, 使用者名稱 / 口令。格式為 使用者名稱 / 密碼 @ 待連線的資料庫。具體參考第三節中示例。

buffer資料緩衝區大小。定義了插入資料的緩衝區的大小,單位是byte, 該值越大, import 程序執行插入次數就越少,從而提高匯入效率。buffer 的大小取決於系統應用、資料庫規模,通常來說,設為百兆就足夠了。

fromuser所有者使用者名稱列表。待匯入的二進位制檔案的中的shcema 資訊,如果匯出的檔案包含多個使用者,那麼該引數設定時為多個使用者的子集,或者全集。如果指定了檔案包含使用者中的一部分,則本次匯入操作只會匯入已經指定的部分使用者的資料。

touser:使用者名稱列表。與fromuser 對應的引數,指定匯入的目標使用者列表。因為這個引數的存在,可以使我們輕鬆的把乙個使用者下的資料匯入到另乙個使用者下,只需執行乙個相應的touser 就可以了。前提是該使用者確實存在。

file輸入檔案。待匯入的二進位制檔案,如果不指定的話,預設採用expdat.dmp 。如果匯出時設定了最大轉儲檔案大小的話,我們得到的可能是多個檔案,這時候可以指定多個檔名,如:file= (file1.dmp,file2.dmp ……)。

tables表名列表。指定要匯入的表名。可以是多個表名,多個表名時採用如下格式:tables=(test_tab_1,test_tab_2) 。如果是在linux 或者unix 下的話,括號需要進行轉義。如:tables=\(test_tab_1,test_tab_2\) 。

ignore忽略建立錯誤。預設為n ,及不會忽略建立時的錯誤。比如在匯入乙個表時,目標表已經存在,那樣就會匯入失敗,並提示錯誤。如果我們將ignore=y ,這樣就不會出現該錯誤了,但是你就得做好表被追加資料的心理準備了。即使重複了,也不會報錯,會直接匯入到表中。

recordlength:io 記錄的長度。指定檔案的byte 長度。

indexes:是否匯入索引。

commit提交陣列插入。預設值是n ,表示導完一張表之後進行提交。如果設定為y ,則每次緩衝區滿了之後就進行提交一次。這樣可以減少占用的回滾段大小。建議設定為y.

rows:匯入資料行。預設為y ,即匯入表中的記錄。設定為n 的話,則只會匯入表結構。

log螢幕輸出的日誌檔案。

constraints:是否匯入檔案中包含的表的constraint 內容。

grants是否匯入許可權。

statistics:統計資訊。統計匯入過程的相關資訊,可選項包括 always , none , safe , recalculate 。

以上只是列舉了imp 的基本常用引數。要午休了,就寫這些吧,基本也就夠了。

3.舉例

下面是乙個匯入命令的示例,可以參考一下。如下:

imp scott/scottpwd@mydb file=/data/test.dmp.tmp buffer=100000 fromuser=user1 touser=user1 commit=y tables=\(etl_test_0,etl_test_1\)  ignore=y indexes=n rows=y grants=y  constraints=y log=/data/imp.log

scaffold dbcontext 命令使用說明

工具的scaffold dbcontext 資料庫上下文腳手架 指令來生成models和context。指令詳細介紹 scaffold dbcontext connection provider outputdir context schemas tables dataannotations for...

scaffold dbcontext 命令使用說明

scaffold dbcontext 命令使用說明 工具的scaffold dbcontext 資料庫上下文腳手架 指令來生成models和context。指令詳細介紹 scaffold dbcontext connection provider outputdir context schemas ...

scaffold dbcontext 命令使用說明

工具的scaffold dbcontext 資料庫上下文腳手架 指令來生成models和context。指令詳細介紹 scaffold dbcontext connection provider outputdir context schemas tables dataannotations for...