Oracle 20資料庫恢復與備份

2021-06-26 14:43:34 字數 3275 閱讀 1368

備份是將資料庫中的資料資訊儲存起來,而恢復則是將已經備份的資料庫資訊還原到資料庫系統中。

一、資料庫的備份型別

oracle資料庫的備份有3種標準形式:匯出、離線備份和聯機備份。

匯出方式是資料庫的邏輯備份,離線備份和聯機備份都是物理備份。

1、邏輯備份

匯出有以下3種模式:

(1)使用者(user)模式:匯出使用者所有物件以及物件中的資料。

(2)表(table)模式:匯出使用者的所有表或者使用者指定的表。

(3)全域性(full)模式:匯出資料庫中的所有物件,包括資料、資料定義和用於重建資料庫的儲存物件。

在匯出期間,可以選擇是否匯出與表相關的資料字典的資訊,如許可權、索引和約束條件等。匯出備份有3種型別:

(1)完全型(complete export):對所有表執行全資料庫匯出,或僅對上次匯出後修改過的表執行全資料庫匯出。

(2)積累型(cumulative):備份上一次積累型備份所改變的資料。

(3)增量型(incremental):備份上一次備份後改變的資料。

2、物理備份

物理備份是複製資料庫檔案而不是其邏輯內容。

(1)離線備份。離線備份是在資料庫正常關閉的情況下進行。資料庫正常關閉後會提供給使用者乙個完整的資料庫。當資料庫處於離線備份狀態時,備份的檔案包括所有資料檔案、控制檔案、聯機重做日誌和伺服器引數檔案。

(2)聯機備份。聯機備份可以在資料庫開啟的情況下進行。進行聯機備份時要求資料庫必須在歸檔方式下操作,在資料庫不使用或者使用率低的情況下,同時要有大量的儲存空間。資料庫可從乙個聯機備份中完全恢復,並且可以通過歸檔的重做日誌,前滾到任一時刻。聯機備份的主要檔案包括所有資料檔案、歸檔的重做日誌檔案和乙個控制檔案。

c:\users\andy>exp /*在命令提示符下輸入exp命令,接下來按提示操作*/

export: release 11.1.0.6.0 - production on 星期五 6月 1 10:48:19 2012

使用者名稱: andy /*輸入登入資料庫的使用者名稱*/

口令:    /*輸入登入口令*/

連線到: oracle database 11g release 11.1.0.6.0 - production

輸入陣列提取緩衝區大小: 4096 > /*這裡選擇預設值,直接回車*/

匯出檔案: expdat.dmp > d:\andy.dmp /*輸入匯出檔案的位置*/

(1)e(完整的資料庫), (2)u(使用者) 或 (3)t(表): (2)u > t /*選擇匯出型別,這裡選錶(t)*/

匯出表資料 (yes/no): yes > /*這裡選擇預設值,直接回車*/

壓縮區 (yes/no): yes > /*這裡選擇預設值,直接回車*/

已匯出 zhs16gbk 字符集和 al16utf16 nchar 字符集

即將匯出指定的表通過常規路徑...

要匯出的表 (t) 或分割槽 (t: p): (按 return 退出) > t_module /*輸入要匯出的表名*/

. . 正在匯出表                        t_module匯出了          47 行

要匯出的表 (t) 或分割槽 (t: p): (按 return 退出) > t_employee /*輸入要匯出的表名*/

. . 正在匯出表                      t_employee匯出了           1 行

要匯出的表 (t) 或分割槽 (t: p): (按 return 退出) > t_sysauthority /*輸入要匯出的表名*/

. . 正在匯出表                  t_sysauthority匯出了         137 行

要匯出的表 (t) 或分割槽 (t: p): (按 return 退出) > /*導完之後可以直接按回車退出*/

命令列模式:

exp username/password@host:port/service file=exportfilepath
當匯出資料庫是本地資料庫,或者在本地的network中配置了對應的別名後可以講host和port省略,如:

exp abc/abc@orcl file=d:\oracle\abc.dmp
下列關鍵字僅用於可傳輸的表空間

transport_tablespace 匯入可傳輸的表空間元資料 (n)

tablespaces 將要傳輸到資料庫的表空間

datafiles 將要傳輸到資料庫的資料檔案

tts_owners 擁有可傳輸表空間集中資料的使用者

匯入常用如下指令:

imp username/password@host:port/service fromuser=fromuser touser=touser file=importfilepath
當匯入資料庫是本地資料庫,或者在本地的network中配置了對應的別名後可以講host和port省略,如:

imp abc/abc@orcl fromuser=def touser=abc file=d:\oracle\def.dmp

三、離線備份

離線備份是一種物理備份,通常在資料庫通過乙個shutdown normal或shutdown immediate命令正常關閉後進行。當資料庫關閉時,其使用的各個檔案都可以

進行備份。離線備份一般在sql/plus中進行。步驟如下:

(1)正常關閉要備份的例項,在登入資料庫後,使用shutdown normal命令關閉資料庫

(2)備份資料庫。關閉資料庫後可以使用各種備份工具備份所有的資料檔案、重做日誌檔案、控制檔案和引數檔案。

(3)啟動資料庫。備份完成後可以使用startup mount命令啟動資料庫。

四、聯機備份

聯機備份又稱為archivelog備份,它要求資料庫執行在archivelog方式下。

1、以archivelog方式執行資料庫

步驟如下:

(1)首先以管理員身份連線資料庫

(2)在sql/plus中執行如下語句:

shutdown immediate;

startup mount;

alter database archivelog;

alter database open;

注:利用archive log list語句可以檢視資料庫的archive log狀態。

2、執行資料庫備份

一旦資料庫在archivelog方式下開啟並對使用者可用時就可以進行備份。儘管聯機備份可以在工作期間進行,但最好安排在使用者活動比較少的時間進行。

資料庫的備份可以方便的通過企業管理器進行,開啟企業管理器,選擇排程備份開始備份操作。

Oracle資料庫備份與恢復的方法 (2) 冷備份

二 冷備份 冷備份發生在資料庫已經正常關閉的情況下,當正常關閉時會提供給我們乙個完整的資料庫。冷備份時將關鍵性檔案拷貝到另外的位置的一種說法。對於備份oracle資訊而言,冷備份時最快和最安全的方法。冷備份的優點是 是非常快速的備份方法 只需拷檔案 容易歸檔 簡單拷貝即可 容易恢復到某個時間點上 只...

oracle資料庫恢復與備份

一 oracle資料庫恢復 1.恢復剛才刪除的一條資料 delete from emp e where e.empname smith select from flashback transaction query f where f.table name emp undo sql下面的語句為剛才刪...

oracle資料庫備份與恢復

一 使用資料幫浦備份資料 1.建立目錄物件並授權 connect sys password as sysdba create directory dir1 as e dump1 create directory dir2 as e dump2 grant read,write on director...