oracle之備份詳解

2022-05-31 19:03:09 字數 3609 閱讀 3512

1.冷備份(執行冷備份前必須關閉資料庫)

物理備份(備份物理資料庫檔案)

2.熱備份(熱備份是當資料庫正在執行時進行資料備份的過程。執行熱備份的前提是:資料庫執行在可歸檔日誌模式。適用於24x7不間斷執行的關鍵應用系統)

冷備份資料庫的步驟

(1)關閉資料庫; 

(2)備份所有相關的資料庫檔案:初始化引數檔案、控制檔案(可用select name from v$controlfile;列出所有控制檔案)、資料檔案(可用select name from v$datafile;列出所有資料檔案)、redo日誌(可用select member from v$logfile;列出所有redo日誌檔案)、歸檔的redo日誌(可用select sequence#,first_time from v$loghist;列出所有歸檔redo日誌檔案的順序號和產生時間)。

冷備份資料庫的指令碼檔案coldbackup.bat 

熱備份資料庫的前提條件:資料庫執行在歸檔模式 

oracle資料庫安裝預設執行在非歸檔模式

從非歸檔模式轉換為歸檔模式(

(1)設定資料庫自動歸檔 

log_archive_start = true 

# 設定歸檔日誌檔案的目錄,該目錄必須事先已建立,並有大量可利用的空間 

log_archive_dest_1="location=%oracle_base%\ oradata\%oracle_sid%\archive" 

# 設定歸檔日誌檔名的格式。%s表示順序號,%t表示執行緒號。 

log_archive_format = "%oracle_sid%%t%s.arc" 

(2)在sqlplus上執行以下命令 

sqlplus>;connect sys/qazwsx as sysdba 

sqlplus>;shutdown immediate; 

sqlplus>;startup mount exclusive; 

sqlplus>;alter database archivelog; 

sqlplus>;alter database open; 

sqlplus>;shutdown immediate; 

(3)執行資料庫冷備份 

當資料庫執行在歸檔模式下,資料庫恢復過程要求使用冷備份時,歸檔日誌是必需的。 

(4)正常啟動資料庫,並確認資料庫執行在歸檔模式 

sqlplus >; startup; 

sqlplus >; select * from v$database; 其log_mode會顯示資料庫是否歸檔模式 

sqlplus >; archive log list; 也會顯示資料庫是否歸檔模式 

如果oracle資料庫執行在歸檔模式,當進行資料庫維護時,可能需要暫停資料庫的歸檔,在完成維護後,再重新啟動歸檔模式。通過以下步驟可以從歸檔模式轉換為非歸檔模式: 

sqlplus>;connect sys/qazwsx as sysdba 

sqlplus>;shutdown immediate; 

sqlplus>;startup mount exclusive; 

sqlplus>;alter database noarchivelog; 

sqlplus>;alter database open; 

sqlplus >; select * from v$database; 其log_mode會顯示資料庫是否歸檔模式 

sqlplus >; archive log list; 也會顯示資料庫是否歸檔模式 )

邏輯備份(備份的資料庫物件)                       export

優點:能執行物件或者行恢復。備份和恢復速度更快。能夠跨作業系統平台遷移資料庫。資料庫可一直執行。 

缺點:export並不是冷備份和熱備份的替代工具。冷、熱備份可保護介質失效。export備份可保護使用者或應用錯誤。 

oracle資料庫的redo日誌記錄在資料庫上進行的所有活動。lgwr(log writer)後台程序以一種迴圈方式寫這些日誌檔案,從第乙個redo日誌到下乙個,直到該組的最後乙個,然後又從第乙個日誌寫起。 

在非歸檔模式下,當迴圈寫到最後乙個日誌檔案後,就重寫第乙個日誌。因此,非歸檔模式下唯一的資料庫恢復辦法就是使用冷備份。 

在歸檔模式下,當redo日誌滿時,乙個arch(歸檔程式 arcn)後台程序就讀取全部redo日誌,然後將其寫到歸檔日誌。因此,可以使用熱備份和點恢復。在歸檔日誌模式下,如果歸檔日誌目的空間已滿,資料庫活動將暫時停止,只有釋放一些空間後,資料庫才能繼續執行。通常background_dump_destination將產生乙個跟蹤檔案來顯示歸檔方面的問題。 

各種備份策略的自動執行方法 

不管是冷備份、熱備份,還是export備份;不管是unix平台,還是windows平台,都可以利用at命令來定時、自動執行上述備份策略。at 命令安排在特定日期和時間執行命令和程式,在windows nt平台上必須首先執行排程服務(schedule),才能使用at命令。 

在oracle資料庫中,預設情況下,至少會有兩個重做日誌組,而且每個組裡面至少包含了乙個重做日誌檔案。日誌組不會自動增加,在乙個寫滿之後,會自動去寫下乙個。在下乙個被寫滿之後會又從第乙個開始寫起。

歸檔日誌

2.lgwr(log writer)是oracle的後台程序之一。

lgwr的作用是把日誌快取區的資料從記憶體寫到磁碟的redo檔案裡,完成資料庫物件建立、更新資料等操作過程的記錄

歸檔模式(archivelog mode)及非歸檔模式(noarchive mode)的最重要的區別就是當前的重做日誌切換以後會不會被歸檔程序(archive process)copy到歸檔目的地(log_archive_dest)

4.後台程序和恢復:檢查點(dbwr)

dbwr程序是將data buffer中的資料寫入,磁碟資料檔案,在這個過程中,首先保證安全,所謂安全,就是在寫過程中,一旦發生例項崩潰,要有一套完整的機制能夠保證使用者以及提交的資料不丟失。最直觀,簡單的方法就是,只要使用者提交的時候將所改變的記憶體資料給dbwr,寫入到資料檔案,這樣的話,一定能保證提交的資料不丟失,但是這種方式效率最低,在高併發環境中,頻繁離散寫效率最低。

6.後台程序和恢復:歸檔程式 (arcn)

arcn是乙個可選的後台程序。但是,在丟失磁碟後恢復資料庫時,這個程序的作用至關重要。聯機重做日誌檔案填滿後,oracle例項開始寫入下乙個聯機重做日誌檔案。從乙個聯機重做日誌檔案切換到另乙個聯機重做日誌檔案的過程稱為日誌切換。

arcn程序在每次進行日誌切換時都會開始對已填滿的日誌組進行備份或歸檔。它會在可以重新使用日誌之前自動歸檔重做日誌檔案,因此會保留對資料庫所做的所有更改。這樣,即使磁碟驅動器損壞,也可以將資料庫恢復到故障點。

dba 必須做出的乙個重要決策是,配置資料庫在archivelog模式下執行,還是在noarchivelog模式下執行。

· 在noarchivelog模式下,每次發生日誌切換時,都會件覆蓋聯機重做日誌檔案。

· 在archivelog模式下,必須先歸檔非活動的已填滿聯機重做日誌檔案組,才可以再次使用這些組。

注:archivelog 模式對大多數備份策略而言是必須選擇的模式(並且極易配置)。

乙個可選的後台程序

為資料庫設定了archivelog模式後自動歸檔聯機重做日誌檔案

保留對資料庫進行的所有更改的記錄

oracle 備份技術詳解(二) 離線備份

離線備份 冷備份 是資料庫檔案的物理備份,他是在使用shutdown normal shutdown immediate或者shutdown transactional關閉資料庫後進行的。在關閉資料庫時,為資料庫所使用的每個活躍檔案都進行了備份。這些檔案提供了資料庫在關閉時的完整映像。要注意的是不能...

oracle 備份技術詳解(二) 聯機備份

聯機備份 熱備份 可以對正以archivelog方式執行的任何資料庫進行聯機備份,在此方法中,將歸檔聯機重做日誌,建立資料庫內的所有事務處理的全部日誌。oracle以迴圈方式寫聯機重做日誌。在寫滿第乙個日誌檔案後開始寫第二個 第三個直到寫滿為止,一旦最後乙個聯機重做日誌也寫滿,lgwr log wr...

oracle自動備份 Oracle遠端備份

1.在tnsnames.ora新增要遠端備份的主機 如 67 description address list address protocol ipc key extproc0 connect data sid pl tproc presentation ro 2.開啟oracle目錄,拷貝exp...