天天看點

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

導入資料庫

    在預設情況下,當導入資料庫時,會導入所有對象結構和資料,案例如下:

imp userid=system/system賬戶的密碼full=y file=d:\xxx.dmp