程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle 數據庫(表)的邏輯備份與恢復

Oracle 數據庫(表)的邏輯備份與恢復

編輯:Oracle數據庫基礎
 

邏輯備份是指使用工具export將數據對象的結構和數據導出到文件的過程,邏輯恢復是指當數據庫對象被誤操作而損壞後使用工具import利用備份的文件把數據對象導入到數據庫的過程。
物理備份即可在數據庫open的狀態下進行也可在關閉數據庫後進行,但是邏輯備份和恢復只能在open的狀態下進行。
一、導出 
     導出具體的分為:導出表,導出方案,導出數據庫三種方式。
     導出使用exp命令來完成的,該命令常用的選項有:
  userid: 用於指定執行導出操作的用戶名,口令,連接字符串
  tables: 用於指定執行導出操作的表
  owner:         用於指定執行導出操作的方案
  full=y: 用於指定執行導出操作的數據庫
          inctype: 用於指定執行導出操作的增量類型
          rows: 用於指定執行導出操作是否要導出表中的數據
          file: 用於指定導出文件名
導出表
1.導出自己的表
exp userid=scott/tiger@oral tables=(emp,dept) file=d:\e1.dmp
2.導出其它方案的表
如果用戶要導出其它方案的表,則需要dba的權限或是exp_full_database的權限,比如system就可以導出scott的表
exp userid=system/manager@oral tables=(scott.emp) file=d:\e2.emp
特別說明:在導入和導出的時候,要到oracle目錄的bin目錄下。
3. 導出表的結構
exp userid=scott/tiger@oral  tables=(emp) file=d:\e3.dmp  rows=n
4. 使用直接導出方式
exp userid=scott/tiger@oral  tables=(emp) file=d:\e4.dmp  direct=y
這種方式比默認的常規方式速度要快,當數據量大時,可以考慮使用這樣的方法。
這時需要數據庫的字符集要與客戶端字符集完全一致,否則會報錯...
導出方案 (用戶)
    導出方案是指使用export工具導出一個方案或是多個方案中的所有對象(表,索引,約束...)和數據。並存放到文件中。
1. 導出自己的方案
exp userid=scott/tiger@orcl owner=scott file=d:\scott.dmp
2. 導出其它方案
如果用戶要導出其它方案,則需要dba的權限或是exp_full_database的權限,比如system用戶就可以導出任何方案
exp userid=system/manager@orcl owner=(system,scott) file=d:\system.dmp
導出數據庫
    導出數據庫是指利用export導出所有數據庫中的對象及數據,要求該用戶具有dba的權限或者是exp_full_database權限
    增量備份(好處是第一次備份後,第二次備份就快很多了)
exp userid=system/manager@orcl full=y inctype=complete file=d:\all.dmp
二、導入
    導入就是使用工具import將文件中的對象和數據導入到數據庫中,但是導入要使用的文件必須是export所導出的文件。與導出相似,導入也分為導入表,導入方案,導入數據庫三種方式。
imp常用的選項有
userid: 用於指定執行導入操作的用戶名,口令,連接字符串
tables: 用於指定執行導入操作的表
formuser: 用於指定源用戶
touser: 用於指定目標用戶

file: 用於指定導入文件名
full=y: 用於指定執行導入整個文件
inctype: 用於指定執行導入操作的增量類型
rows: 指定是否要導入表行(數據)
ignore: 如果表存在,則只導入數據
導入表
1. 導入自己的表
imp userid=scott/tiger@orcl tables=(emp) file=d:\xx.dmp
2. 導入表到其它用戶
要求該用戶具有dba的權限,或是imp_full_database
imp userid=system/system賬戶的密碼@orcl tables=(emp) file=d:\xx.dmp touser=scott
3. 導入表的結構
只導入表的結構而不導入數據
imp userid=scott/tiger@orcl tables=(emp) file=d:\xx.dmp  rows=n
4. 導入數據
如果對象(如比表)已經存在可以只導入表的數據
imp userid=scott/tiger@orcl tables=(emp) file=d:\xx.dmp  ignore=y
導入方案 (用戶)
    導入方案是指使用import工具將文件中的對象和數據導入到一個或是多個方案中。如果要導入其它方案,要求該用戶具有dba的權限,或者imp_full_database
1. 導入自身的方案
imp userid=scott/tiger file=d:\xxx.dmp
2. 導入其它方案
要求該用戶具有dba的權限
imp userid=system/system賬戶的密碼  file=d:\xxx.dmp fromuser=導出dmp文件的用名戶 touser=要導入dmp文件的用戶名 ignore=y

小注:當“fromuser=導出dmp文件的用名AA”在本地沒有的的時候(即要導入dmp文件的數據庫中沒有這個用戶名)==》需要新建這個用戶AA,新建過程:Oracle創建表空間、創建用戶以及授權

導入數據庫
    在默認情況下,當導入數據庫時,會導入所有對象結構和數據,案例如下:
imp userid=system/system賬戶的密碼full=y file=d:\xxx.dmp

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved