Oracle導入導出 imp/exp 命令


轉載:http://www.javacui.com/DB/461.html


1.備份和恢復的概述 

1.邏輯備份:採用 export工具將數據庫對象的結構和數據導出到文件的過程。

2.邏輯恢復:值數據庫對象被誤操作而損壞後使用工具import利用備份文件將數據對象導入到數據庫的過程,

3.物理備份:指的是對各種數據文件的拷貝,即可在數據open的狀態下進行也可以在關閉數據庫後進行。但是邏輯備份和恢復只能在open的狀態下進行


2.導出的分類 和 語法

1.分爲三種  導出表(T),導出方案(U),導出數據庫(Full)

2.導出表:將表導出到磁盤

3.導出方案:如果將一個用戶所有的東西,表,數據,視圖... 導出到磁盤(個用戶的所有都導出了)

4.導出數據庫:將多個方案 導出到一個磁盤

5.語法:

exp 命令 這命令 的選項有 

userid:用於指定執行導出操作的用戶名,口令,連接字符串

tables:用於指定執行導出操作的表

owner:用於指定執行導出操作的方案

full=y:用於指定導出操作的數據庫

inctype:(complete,cumulative,incremental) 用於指定導出操作的增量類型

rows:用於指定導出操作是否需要導出表中的數據

file:用於指定導出的文件名

direct=y:直接導出方式速度快

buffer:取數據行的緩衝區大小

compress:導出是否應該壓縮有碎片的段成一個範圍,這樣將會影響storeage子句

grant=y:表示導出時是否導出數據庫對象上的權限

indexes:是否導出表上的索引

constraints:是否導出表上的約束條件

recordlength:轉存導出文件日誌的長度(字節爲單位),通常都用作缺省,除非要在兩個不通的操作系統中傳遞導出文件

record:增量導出類型中的一個標記,標記是否將日誌存儲到數據庫字典日誌導出表中

ralfile:要傳遞給導出的參數文件的名字。這個文件包含所有參數文件的入口項

analyze:表明是否將移對象的統計信息寫入到轉存文件中去

consistent:標明是否保留所有導出對象讀取一致複製

log:導出日誌將要寫入的文件名字

MLS:(多語言選項)表明是否要導出MLS標號

MLS_LABEL:規定MLS標號的格式


3.導入的分類和語法 

1.導入也分爲三種  導出表(T),導出方案(U),導出數據庫(Full)

2.語法:

imp 命令 這命令 的選項有

userid:用於指定執行導出操作的用戶名,口令,連接字符串

tables:用於指定執行導出操作的表

formuser:用於指定原用戶

touser:用於指定目標用戶

file:用於指定導入的文件名

inctype:用於指定執行導入操作的增量類型

rows:用於指定導出操作是否需要導入表中的數據

direct=y:直接導出方式速度快

ignore:如果表存在,則只導入數據

show:規定文件內容是否被顯示,而不是被執行

egnore:標明在執行‘CREATE’命令時,是否忽略遇到的錯誤。如果正在導入的對象已經存在時,應使用這個參數

grants:導入時否要導入數據庫對象上的授權

indexes:是否要導入表上的索引

recordlength:轉儲導入文件日誌的長度(以字節爲單位),通常都使用缺省,除非要在兩個不同操作系統中傳遞導入文件

inctype:正在執行的導入操作的類型(有效值有COMPLETE(缺省值),CUMULATIVE和IVCREMENTAL

prafile:要傳遞給導入的參數文件的名字。這個文件將包含所有參數的入口項

analyze:標明是否將移對象的統計信息寫入導入轉儲文件中

log:導入日誌將要寫入的文件的名字

mls:(多語言選項)標明是否要導入MLS 標號

indexfile:不執行導入動作,只將表/索引信息寫入指定的文件


準備:

1.不需要登錄sqlplus,直接在DOS命令下 (win+r-->cmd) 

2.在導入和導出的時候,要到oracle目錄的主目錄下面的bin目錄下去導(cd D:\app\Admin\product\11.1.0\db_1\BIN) 


4.案例: 導出scott 的emp,emp2表 

exp userid=scott/tiger@orcl tables=(emp,emp2) file=d:\e1.dmp


5.案例:只導表的結構 不要表的數據  就是隻要表的定義 

exp userid=sysytem/manager@orcl tables=(scott.emp)  file=d:\sysytem_scott_emp.dmp rows=n


6.案例:如果導出的表的數據量比較大 採用 直接導出方式 

exp userid=scott/tiger@oracl tables=(emp) file=d:\scott_emp.dmp direct=y


7.案例:導出其他用戶方案的表,比如 system導出scott的表--需要dba的權限或者 exp_full_database 的權限

exp userid=sysytem/manager@orcl tables=(scott.emp)  file=d:\sysytem_scott_emp.dmp


8.案例:導出方案 指導出一個方案中的所有 視圖,表

exp userid=scott/tiger@orcl owner=scott file=d:\kk.dmp


9.案例:導出其他方案,需要dba 權限,或者是 exp_full_database 權限 --例如system用戶可以導出任何方案

exp userid=system/manager@orcl owner=scott file=d:\system_scott.dmp


10.導出數據庫:是指利用export導出所有的數據庫中的對象和數據,要求該用戶具有dba和 exp_full_database 權限

exp  userid=system/manager@oracl full=y inctype=complete file=d:\orcl.dmp


11.導入自己的表

imp userid=scott/tiger@orcl tables=(emp) file=d:\my_emp.dmp


12.導入其他用戶的表

imp userid=system/manager@orcl tables=(emp) file=d:\my_emp.dmp


13.導入表到其他用戶,要求有 dba權限或者 imp_full_database權限

imp useri=system/manager@orcl tables=(scott.emp) file=d:\my_emp.dmp touser=scott fromuser=scott


14.導入表結構   不導入數據

imp userid=scott/tiger@orcl tables=(emp) file=d:\my_emp.dmp rows=n


15.導入數據 如果對象已經存在

imp userid=scott/tiger@orcl tables=(emp) file=d:\my_emp.dmp ignore=y


16.導入自己的方案

imp userid=scott/tiger@orcl file=d:\xx.dmp


17.導入其他方案 要求用戶具有dba的權限

imp userid=system/manager@orcl file=d:\xx.dmp fromuser=system touser=scott


18.導入數據庫

imp userid=system/manager full=y file=d:\xxx.dmp

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