溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle用戶管理的備份與恢復(fù)介紹

發(fā)布時間:2020-05-20 09:39:23 來源:網(wǎng)絡(luò) 閱讀:1596 作者:PengChonggui 欄目:關(guān)系型數(shù)據(jù)庫

數(shù)據(jù)庫維護中,備份或恢復(fù)是重中之重的問題。盡管很多時候數(shù)據(jù)庫系統(tǒng)運行緩慢,

但對數(shù)據(jù)庫數(shù)據(jù)的丟失而言,顯然后者損失的代價是不言而喻的,DBA首要的工作就

是盡一切可能地做好數(shù)據(jù)的備份工作。

 

1.1、物理備份與邏輯備份

01、物理備份是所有物理文件的一個副本,比如數(shù)據(jù)文件,控制文件,歸檔日志等。該副本能被存儲在本地磁盤或磁帶等等。

物理備份是備份或恢復(fù)的基礎(chǔ)

包括冷備份(非歸檔模式)或熱備份(歸檔模式)

 

02、邏輯備份

將表、存儲過程等數(shù)據(jù)使用Oracleexport等工具導(dǎo)出到二進制文件,后續(xù)根據(jù)需要再使用import工具導(dǎo)入數(shù)據(jù)庫。

邏輯備份則是對物理備份的方式的一種補充,多用于數(shù)據(jù)遷移。

 

1.2、備份恢復(fù)工具

01、用戶托管的備份與恢復(fù),是一種手動備份恢復(fù)的方式。使用操作系統(tǒng)命令和SQL*plus來完成相關(guān)的備份與恢復(fù)。

02、使用RMAN來備份恢復(fù),支持命令行及GUI接口,支持第三方磁帶庫備份,功能比較強大。

支持備份數(shù)據(jù)庫、表空間、數(shù)據(jù)文件、控制文件、歸檔日志等

可以保存頻繁使用備份恢復(fù)腳本

支持增量備份,跳過未使用的塊,以及控制備份速度

在備份期間偵測損壞的數(shù)據(jù)

通過自動并發(fā)、限制I/O等提高備份性能

 

03、使用exp/impexpdp/impdp之類的邏輯導(dǎo)出與導(dǎo)入工具。 支持全庫、用戶、表、帶條件級別的導(dǎo)出與導(dǎo)入可以導(dǎo)到結(jié)構(gòu),也只可以只導(dǎo)出數(shù)據(jù)是跨平臺遷移的最佳工具

 

1.3、常見的備份類型

聯(lián)機數(shù)據(jù)庫備份 -->使用archivelog模式,SCN不一致

脫機數(shù)據(jù)庫備份 -->使用noarchivelog模式,SCN保持一致

整個數(shù)據(jù)庫-->可以在不同的時間段來備份,減輕I/O壓力,從而構(gòu)建整個數(shù)據(jù)庫

表空間-->archivelog模式下,當(dāng)處于noarchivelog模式下,則該表空間必須為只讀或脫機

數(shù)據(jù)文件 -->同表空間備份

控制文件 -->可以使用SQL語句或RMAN來備份

歸檔日志

參數(shù)文件

 

 

1.4、備份的分類

(1) 備份策略:

a.整體:備份屬于數(shù)據(jù)庫的控制文件和所有數(shù)據(jù)文件

b.部分:備份數(shù)據(jù)庫的一部分

 

(2) 備份類型:

a.完全:非增量RMAN備份

b.增量:只備份以前某次備份以來更改的信息

 

(3) 備份模式:

a.脫機:一致性備份,也稱為冷備份

b.聯(lián)機:非一致性備份,也稱為熱備份

 

1.5、恢復(fù)的分類

何時需要使用備份進行恢復(fù):

發(fā)生以下類型的錯誤時,通常需要使用備份執(zhí)行恢復(fù):

(1) 介質(zhì)故障:因數(shù)據(jù)庫文件的物理問題而導(dǎo)致無法讀寫該文件

(2) 用戶錯誤:數(shù)據(jù)庫中的數(shù)據(jù)被誤更改或誤刪除

 

數(shù)據(jù)恢復(fù)概覽:

崩潰恢復(fù):發(fā)生實例錯誤后自動恢復(fù)

介質(zhì)恢復(fù):恢復(fù)當(dāng)前數(shù)據(jù)文件、控制文件

 

Oracle數(shù)據(jù)庫體系結(jié)構(gòu):崩潰恢復(fù)

(1) 使用聯(lián)機重做日志文件前滾數(shù)據(jù)庫

(2) 回退未提交的更改Oracle數(shù)據(jù)庫體系結(jié)構(gòu):在介質(zhì)故障后恢復(fù)(1) 使用備份還原數(shù)據(jù)文件

(2) 使用歸檔和聯(lián)機重做日志文件前滾數(shù)據(jù)庫

 

完全恢復(fù):將數(shù)據(jù)庫恢復(fù)到最近的時間點

不完全恢復(fù)(時間點恢復(fù)):將數(shù)據(jù)庫恢復(fù)到在特定時間或待定系統(tǒng)scn時的狀態(tài)

 

完全恢復(fù)

使用數(shù)據(jù)庫,表空間或數(shù)據(jù)文件的備份進行還原,再使用歸檔,重做日志或增量備份將數(shù)據(jù)更新到當(dāng)前時間點

用戶可以實現(xiàn)基于對數(shù)據(jù)庫、表空間、數(shù)據(jù)文件執(zhí)行完全恢復(fù)

 

可以分為在非歸檔模式下和歸檔模式下的完全恢復(fù),完全恢復(fù)主要是針對歸檔模式下的,在非歸檔模式下很難做到完全恢復(fù),除非是在做恢復(fù)時,聯(lián)機重做日志還沒有被重寫。

 

不完全恢復(fù)

與完全恢復(fù)是同樣的步驟,只不過不完全恢復(fù)僅僅是將數(shù)據(jù)恢復(fù)到某一個特定的時間點或特定的SCN,而不是當(dāng)前時間點。

 

下列情況通常需要進行不完全恢復(fù):

介質(zhì)故障(media failure)導(dǎo)致部分或全部聯(lián)機重做日志(online redo log)損壞

用戶操作失誤(user error)導(dǎo)致數(shù)據(jù)丟失,例如,用戶由于疏忽而移除了表,提交了無效的數(shù)據(jù)到表

由于歸檔重做日志(archived redo log)丟失而無法進行完全恢復(fù)(complete recovery)

當(dāng)前控制文件(control file)丟失,必須使用備份的控制文件打開(open)數(shù)據(jù)庫

 

關(guān)于非歸檔的恢復(fù)說明

1.在非歸檔模式下,在丟失數(shù)據(jù)文件后唯一的選擇是執(zhí)行完整的數(shù)據(jù)庫還原,而不能進行恢復(fù);

2.還原完整的數(shù)據(jù)庫是還原所用的數(shù)據(jù)文件和控制文件;

3.還原前提是要備份,因為是非歸檔模式所以只能進行冷備份,主要備份所有的數(shù)據(jù)文件和控制文件。對于聯(lián)機重做日志文件,在正常關(guān)閉數(shù)據(jù)庫的情況下,可以不備份它,但是在不正常關(guān)閉數(shù)據(jù)庫的情況下要進行備份,建議備份下來,這樣就可以不用重建了。

 

非歸檔模式下的恢復(fù)。

1.如果放數(shù)據(jù)文件的磁盤沒有損壞,只是某種原因?qū)е履承?shù)據(jù)文件的丟失,那么只要把備份的數(shù)據(jù)庫(所有數(shù)據(jù)文件和控制文件),復(fù)制到原來的地方即可。

2.如果是磁盤損壞,則不能放到原來的位置了,必須放到新的磁盤下。這樣就要修改參數(shù)文件和控制文件的信息, 才能正常打開數(shù)據(jù)庫。

3.現(xiàn)在模擬第二種情況(即磁盤損壞),首先對數(shù)據(jù)庫進行冷備份,新建個目錄/oracle/ubackup,在/oracle/oradata/itpux下的所有文件(數(shù)據(jù)文件,控制文件和聯(lián)機重做日志文件)復(fù)制到ubackup目錄下。

 

不完全介質(zhì)恢復(fù)的幾種類型:

基于時間的恢復(fù)(Time-based recovery) 將數(shù)據(jù)恢復(fù)到指定的時間點。

用戶控制的恢復(fù)(Cancel-based recovery) 當(dāng)用戶提交CANCEL后停止恢復(fù)(此選項在使用RMAN時無效)

基于SCN 的恢復(fù)(Change-based recovery) 將數(shù)據(jù)恢復(fù)到指定的SCN按重做日志序號恢復(fù)(Log sequence recovery)將數(shù)據(jù)恢復(fù)到指定的重做日志序號(僅使用RMAN時有效)。

表空間按時間點恢復(fù)(tablespace point-in-time recoveryTSPITR) 可以將一個或多個表空間恢復(fù)到與數(shù)據(jù)庫中其他表空間不同的時間點,但是SYSTEM表空間,UNDO表空間,或任何包含回滾段(rollback segment)的表空間無法使用TSPITR功能與其它表空間有依賴性的表空間應(yīng)當(dāng)同時恢復(fù)被依賴的表空間,如兩張表存在依賴性且位于不同的表空間。


恢復(fù)的相關(guān)視圖

v$reover_file --查詢需要恢復(fù)的文件,該視圖信息來自控制文件,如控制文件來自備份或重建過則信息會不準。

v$archived_log--查詢所有歸檔日志列表。

v$recovery_log--查詢所有需要用于恢復(fù)的日志。


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI