最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

oracle日志操作模式(歸檔模式和非歸檔模式的利與弊)

 更新時間:2013年01月12日 18:07:31   作者:  
在Oracle數(shù)據庫中,主要有兩種日志操作模式,分別為非歸檔模式與歸檔模式。默認情況下,數(shù)據庫采用的是非歸檔模式。作為一個合格的數(shù)據庫管理員,應當深入了解這兩種日志操作模式的特點,并且在數(shù)據庫建立時,選擇合適的操作模式
筆者今天就談談自己對這兩種操作模式的理解,并且給出一些可行的建議,跟大家一起來提高Oracle數(shù)據庫的安全性。

一、非歸檔模式的利與弊。

  非歸檔模式是指不保留重做歷史的日志操作模式,只能夠用于保護例程失敗,而不能夠保護介質損壞。如果數(shù)據庫采用的是日志操作模式的話,則進行日志切換時,新的日志會直接覆蓋原有日志文件的內容,不會保留原有日志文件中的數(shù)據。
  這么說聽起來可能比較難理解。筆者舉一個簡單的例子,就會清楚許多。如現(xiàn)在Oracle數(shù)據庫中有四個日志組,日志序列號分別為11、 12、13、14。當數(shù)據庫事務變化寫滿第一個日志組文件(序列號為11)時,Oracle數(shù)據庫就會自動切換到第二個日志組文件(序列號為12)中。依次類推。當?shù)谌齻€日志組文件(序列號為13)寫滿時,就會切換到第四個日志組(序列號為14)。當?shù)谒膫€日志組(序列號為14)滿時,其就會切換到第一個日志組(序列號為15)。這里,序列號雖然與剛才第一個日志文件組不同,但是日志組仍然是同一個。此時,由于數(shù)據庫的操作模式選擇為非歸檔模式,所以第一組日志文件(序列號為11)中的內容并沒有歸檔。新的日志文件的內容將直接覆蓋第一個日志組文件中的內容。若第一個日志組文件(序列號為15)滿時,切換到第二個日志文件組時,新的內容又會在第二個日志文件組沒有歸檔的情況下,直接覆蓋日志文件12中的原有數(shù)據。

  通過以上的分析,我們可以歸納出非歸檔操作日志模式的一些特點。

  一是當檢查點完成之后,后臺進程可以覆蓋原有重做日志的內容。也就是說,在日志切換時,后來的日志文件內容可以在以前的日志文件內容沒有歸檔的情況下,覆蓋原有日志文件的內容。如此的話,當出現(xiàn)數(shù)據文件損壞時,數(shù)據庫管理員只能夠恢復到過去的完全被分點。如數(shù)據庫有四個日志組。如果在日志組序列號為16的時候數(shù)據庫管理員進行了完全備份。而在日志組序列號為28的時候數(shù)據文件出現(xiàn)了損壞。此時,由于中間的日志文件內容被覆蓋掉了。所以,此時數(shù)據庫管理員只能夠恢復到完全備份的那個點,而不能夠恢復數(shù)據庫文件損壞時的點的數(shù)據(即序列號為28)的數(shù)據。如果在序列號為18的時候出現(xiàn)了數(shù)據文件損壞的事故,則可以先對數(shù)據庫進行還原(還原點為序列號為16時的數(shù)據),然后再利用重做日志文件(序列號為17、18),即可以把數(shù)據恢復到故障發(fā)生時的數(shù)據。故雖然不用對重做日志文件進行歸檔,節(jié)省磁盤空間。但是,卻給后續(xù)數(shù)據庫的恢復帶來的麻煩,降低了數(shù)據庫的安全性。為此,如何取舍,還是需要數(shù)據庫管理員根據自己企業(yè)的情況,作出選擇。

  二是執(zhí)行數(shù)據庫備份時,必須要備份所有數(shù)據文件和控制文件。根據上面筆者所講述的,因為重做日志會被后來的所覆蓋,所以,基本上數(shù)據庫管理員不能夠通過重做日志文件來恢復數(shù)據庫的數(shù)據,或者說,通過重做日志文件不能夠恢復全部的數(shù)據。為此,在執(zhí)行數(shù)據庫備份時,就必須備份所有的數(shù)據文件和控制文件。同時,還必須使用SHUTDOWNNORMAL等命令關閉數(shù)據庫。
  
二、歸檔日志模式。


  歸檔日志模式與非歸檔日志模式相對應,是指保留重做日志歷史的日志操作模式。這種日志操作模式不僅可用于保護例程失敗,還可以用于保護介質損壞的情況。如果數(shù)據庫管理員把日志設置為歸檔日志模式,則當后臺進程在進行日志切換時,后臺進程會自動將重做日志的內容復制到歸檔日志中。歸檔日志就是非活動重做日志的備份。

  如現(xiàn)在Oracle數(shù)據庫中有四個日志組,日志序列號分別為11、12、13、14。當數(shù)據庫事務變化寫滿第一個日志組文件(序列號為11) 時,后臺進程就會切換到第二個日志組中(序列號為12)。不過在這個切換之前,數(shù)據庫有一個進程,會負責將第一個日志組中的文件內容復制到歸檔日志中去。依次類推。這就是歸檔日志模式與非歸檔日志模式最本質的區(qū)別。不過這個區(qū)別卻給數(shù)據庫安全性帶來了很大的變化。

  如當日志序列號為28時出現(xiàn)了數(shù)據文件的錯誤或者服務器硬盤損壞的事故時,因為日志文件中記錄了從數(shù)據庫備份以來所有的數(shù)據變化情況。而且這些日志文件與數(shù)據庫備份文件存儲在其他媒體中,那么數(shù)據庫管理員就可以通過這些資料,把數(shù)據庫恢復到介質損壞時(即日志文件序列號為28)的數(shù)據。從保護數(shù)據庫數(shù)據的角度講,這是一個接近于比較理想的狀態(tài)了。

  若把非歸檔模式與歸檔模式進行對比的話,可以發(fā)現(xiàn)歸檔模式有如下的特點。
一是當出現(xiàn)介質損壞(如硬盤損壞或者意外刪除數(shù)據文件)或者出現(xiàn)例程失敗(如服務器突然斷電)時,數(shù)據庫管理員可以憑借歸檔日志文件來防止丟失數(shù)據。而非歸檔模式則往往只能夠應對例程失敗的情況。所以,其應用范圍要比非歸檔模式大的多。

  二是數(shù)據備份的限制條件。正如上面所說的,如果數(shù)據庫處于非歸檔模式,則對數(shù)據庫進行備份時,要先用SHUTDOWNNORMAL等命令關閉數(shù)據庫。而處于歸檔模式的時候,則當數(shù)據庫處于Open狀態(tài)時,數(shù)據庫管理員仍然可以備份數(shù)據庫,而且不會影響數(shù)據庫的正常使用。除了數(shù)據庫備份兩者有本質上的差異之外,在數(shù)據庫恢復上也有很大的差別。若數(shù)據庫采用歸檔日志模式,不僅可以執(zhí)行完全恢復,而且在歸檔日志文件的幫助下,還可以將數(shù)據庫恢復到特定的點。從而當數(shù)據庫出現(xiàn)意外故障時,最大限度的保護數(shù)據的安全性。
  不過若采取歸檔模式的話,則必須要犧牲一定的磁盤空間。

三、如何選擇合適的日志操作模式?

  非歸檔模式只適用于例程失敗時恢復數(shù)據,不能夠用來保護介質損壞。即當數(shù)據庫的數(shù)據文件意外損壞時,非歸檔模式沒有應對之策。歸檔模式不僅可以用來保護例程失敗,而且還可以在介質失敗的時候,最大程度的恢復數(shù)據庫的原有數(shù)據。此時,數(shù)據庫管理員可以利用數(shù)據庫備份文件、歸檔日志文件、重做日志文件等把數(shù)據庫中的數(shù)據恢復到故障發(fā)生的那一時點。

  既然歸檔操作模式與非歸檔操作模式各有各的特點,那么在什么時候采用歸檔日志模式為好,什么時候又該采用非歸檔模式呢?這個問題的答案,是公說公有理,婆說婆有理。恐怕爭論個幾年也沒有一個固定的答案。對此,筆者就提一下自己的意見。這也不是標準答案,只是供大家參考。

  首先要看數(shù)據庫中數(shù)據變化的頻繁程度。當數(shù)據庫中數(shù)據變化比較少的時候,則最好采用非歸檔模式。相反,如果數(shù)據庫中的數(shù)據變化比較頻繁,如一些業(yè)務操作系統(tǒng),則最好能夠采用歸檔模式。

  其次,要看企業(yè)對數(shù)據丟失的態(tài)度。如果企業(yè)對于數(shù)據安全要求比較高,如銀行,不允許丟失任何數(shù)據,則最好能夠采用歸檔日志模式。在數(shù)據庫意外故障的時候,其可以幫助數(shù)據庫管理員在最大程度上恢復數(shù)據。同理,當企業(yè)可以允許部分損壞數(shù)據的時候,則可以采用非歸檔模式,以節(jié)省切換日志組時的對日志文件備份的額外開銷與磁盤空間。

  再者,要看看數(shù)據庫是否需要全天候運行。因為在非歸檔模式下,必須利用SHUTDOWNNORMAL等命令關閉數(shù)據庫,才能過對數(shù)據庫進行備份。這跟數(shù)據庫全天候運行的要求是不符合的。而歸檔模式下,即使數(shù)據庫出于OPEN狀態(tài),也可以對其進行備份,也不會影響數(shù)據庫的正常運行。為此,若果數(shù)據庫需要全天候運行的話,則最好采用歸檔模式。雖然數(shù)據庫為此要付出一些額外的開銷,筆者認為也是值得的。畢竟硬件投資有價,數(shù)據無價。

  數(shù)據庫管理員要根據企業(yè)的實際情況,選擇合適的日志操作模式。從而讓重做日志與歸檔日志真正成為Oracle數(shù)據庫的保護傘。

相關文章

  • oracle遠程連接服務器數(shù)據庫圖文教程

    oracle遠程連接服務器數(shù)據庫圖文教程

    這篇文章主要為大家詳細介紹了oracle遠程連接服務器數(shù)據庫的圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Oracle觸發(fā)器用法實例詳解

    Oracle觸發(fā)器用法實例詳解

    這篇文章主要介紹了Oracle觸發(fā)器用法,結合實例形式詳細分析了Oracle觸發(fā)器的概念,功能,語法及相關使用技巧,需要的朋友可以參考下
    2016-03-03
  • oracle ORA-01114、ORA-27067錯誤解決方法

    oracle ORA-01114、ORA-27067錯誤解決方法

    本文章總結了關于ORA-01114、ORA-27067錯誤解決方法,有需要學習的朋友可參考一下下哦
    2012-10-10
  • oracle數(shù)據庫慢查詢SQL實例詳解

    oracle數(shù)據庫慢查詢SQL實例詳解

    一般的業(yè)務系統(tǒng)如果遇到性能問題,絕大部分都是來自數(shù)據庫的,有的業(yè)務一個查詢執(zhí)行時間好幾秒,這就是我們說說的SQL慢查詢,這篇文章主要給大家介紹了關于oracle數(shù)據庫慢查詢SQL的相關資料,需要的朋友可以參考下
    2024-06-06
  • Oracle Instr函數(shù)實例講解

    Oracle Instr函數(shù)實例講解

    instr函數(shù)為字符查找函數(shù),其功能是查找一個字符串在另一個字符串中首次出現(xiàn)的位置,instr函數(shù)在Oracle/PLSQL中是返回要截取的字符串在源字符串中的位置,這篇文章主要介紹了Oracle Instr函數(shù)實例講解,需要的朋友可以參考下
    2022-11-11
  • Oracle數(shù)據庫下載及安裝圖文操作步驟

    Oracle數(shù)據庫下載及安裝圖文操作步驟

    本文將介紹Oracle數(shù)據庫下載及安裝等一系列步驟,需要了解的朋友可以參考下
    2012-12-12
  • Oracle教程之pl/sql簡介

    Oracle教程之pl/sql簡介

    這篇文章主要介紹了Oracle的pl/sql概念與用法,結合實例形式分析了Oracle數(shù)據庫sql擴展的實現(xiàn)技巧,需要的朋友可以參考下
    2016-03-03
  • Oracle導入導出dmp文件具體示例

    Oracle導入導出dmp文件具體示例

    這篇文章主要給大家介紹了關于Oracle導入導出dmp文件的相關資料,dmp文件為oracle數(shù)據庫的數(shù)據備份文件,執(zhí)行oracle數(shù)據庫導出dmp文件,相當于執(zhí)行數(shù)據庫備份;執(zhí)行導入dmp文件,相當于數(shù)據庫還原,需要的朋友可以參考下
    2023-11-11
  • Oracle中sequence(序列)使用方法詳解

    Oracle中sequence(序列)使用方法詳解

    在oracle中sequence就是序號,每次取的時候它會自動增加,下面這篇文章主要給大家介紹了關于Oracle中sequence(序列)使用方法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • Oracle基礎學習之子查詢

    Oracle基礎學習之子查詢

    所謂子查詢就是當一個查詢的結果是另一個查詢的條件時,稱之為子查詢。本文給大家詳細的介紹了關于Oracle中子查詢的相關知識,文中的內容也算是自己的一些學習筆記,希望對有需要的朋友們能有所幫助,感興趣的朋友們下面來一起看看吧。
    2016-11-11

最新評論

都兰县| 许昌市| 晋宁县| 台南县| 浠水县| 通海县| 泰来县| 浦北县| 沂南县| 东兰县| 绿春县| 定日县| 和田县| 吴桥县| 金山区| 桦川县| 夹江县| 澳门| 襄樊市| 永登县| 南岸区| 德昌县| 兴安县| 阳西县| 简阳市| 浑源县| 张家港市| 开远市| 雷州市| 讷河市| 泾川县| 定安县| 五台县| 武山县| 锡林浩特市| 富宁县| 澄城县| 大庆市| 双流县| 呼图壁县| 中牟县|