轉載: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