熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

配置歸檔日志,讓數據庫管理更加順暢

2022-06-13   來源: Oracle 

  更改日志操作模式三步走

  默認情況下Oracle數據庫采用的是非歸檔模式但是非歸檔模式不能夠防止因物理損壞而導致丟失數據問題為此數據庫管理員可能需要把日志操作模式從非歸檔模式轉換為歸檔模式其實要進行這個轉換的話只需要通過簡單的三個步驟即可不過在進行操作之前要需要注意以下的操作都必須要求用戶具有數據庫管理員的權限即只有SYSDBA或者SYSOPER身份才能夠執行如下的操作

  要更改日志操作模式具體操作步驟如下

  第一步先確定當前的日志操作模式當數據庫管理員更改當前操作日志模式之前需要先確定一下當前日志操作模式此時數據庫管理員可以查詢動態性能視圖來確認當前日志操作模式如可以利用如下語句來查詢我們所需要的信息動態性能視圖中存儲著很多數據庫運行信息從中我們數據庫管理員可以獲取很多有用的信息如現在要了解當前數據庫的日志操作模式就可以從數據庫動態性能視圖中獲知

  第二步關閉數據庫如果確認數據庫當前的日志操作模式為非歸檔模式需要把它改為歸檔操作模式需要先關閉當前運行的數據庫然後重新裝載數據庫需要注意的是更改日志操作模式只能夠在MOUNT狀態下進行因此必須首先關閉數據庫然後重新裝載數據庫另外如果需要更改日志操作模式那麼在關閉數據庫時不能夠使用SHUTDOWN ABORT命令SHUTDOWN ABORT命令的作用其實跟KILL進程具有同樣的效果若利用這個命令的話可能會給數據庫帶來一些不利的因素如可能導致文件狀態不一致在數據庫正常關閉的時候數據庫會同步校驗各個文件使得重新啟動的時候文件時間點一致並且不用進行崩潰修復而使用這個命令不會進行這個檢驗所以采用SHUTDOWN ABORT命令關閉數據庫的時候可能會導致數據庫啟動出錯導致已經遞交的數據丟失甚至出現數據庫崩潰的噩夢所以無論是在更換數據庫日志操作模式又或者其他原因需要關閉數據庫的最好不要采用這個命令只有在采用其他關閉數據庫命令不能夠奏效的情況下才能夠使用這個命令筆者建議通過SHUTDOWN IMMEDIATE命令來關閉數據庫

  數據庫關閉之後再利用Startup命令把數據庫啟動到MOUNT狀態再次提醒一次只有在Mount狀態下才能夠更改日志操作模式

  第三步更改日志操作模式以上准備工作做好之後就可以利用相關命令來更改日志操作模式我們可以利用如下命令來進行更改

  然後重新打開數據庫之後設置就生效了

  手工對重做日志文件進行歸檔

  有時候出於某些原因數據庫管理員可能需要手工對重做日志進行歸檔G以後的版本中默認情況下當將日志操作模式從非歸檔模式轉換為歸檔操作模式的時候Oracle數據庫會在後台自動啟動一個ARCH進程這個進程就是負責重做日志的備份任務通常情況下歸檔模式下數據庫會自動備份重做日志

  若需要手工備份重做日志的話即手工歸檔則必須在改變操作日志模式中明確說明即在上面的命令中加入MANUAL參數如果加入這個參數後則數據庫管理員就必須手工執行歸檔命令如果數據庫管理員沒有手工執行歸檔命令的話則日志組中的內容就無法被進行覆蓋所以通常情況下除了一些特殊的需要如數據庫測試才使用手工歸檔方式否則的話就還是采用自動歸檔方式更加的合理值得一提的是根據筆者了解這個參數只是一個過渡參數主要為了跟以前的Oracle數據庫版本兼容估計在不久之後這個手工歸檔的參數會取消掉

  設置歸檔文件的存儲位置

  在操作系統管理中系統管理員往往會重新設置我的文檔IE收藏夾等存儲位置以防止系統奔潰時這些數據的丟失其實在Oracle歸檔日志文件管理中也是如此當數據庫管理員把日志操作模式從非歸檔模式轉換為歸檔模式時需要根據實際情況重新設置歸檔文件的存儲位置

  當數據庫處於歸檔模式時如果進行日志切換後台進程將自動生成歸檔日志文件歸檔日志文件的默認存儲位置為Oracle數據庫安裝目錄下的RDBMS下而在實際工作中數據庫管理員往往會改變其存儲位置如出於空間的考慮或者安全方面的考慮會把歸檔日志存放在數據文件不同的硬盤中等等

  如果需要更改歸檔日志的操作文件則需要變更相應的初始化參數參數LogArchiveDest就是用來控制歸檔日志的存儲路徑的通常情況下若是沒有備用數據庫的話則只需要把歸檔日志存放到服務器上的獨立的硬盤中即可而不需要進行異地備份如果需要配置本地歸檔日志的存儲路徑則可以通過以上的初始化參數以及LogArchiveDuples_Dest參數其中前面一個參數用來指定第一個歸檔日志的位置第二個參數用來指定第二個歸檔日志的位置當分別對以上兩個參數進行配置後數據庫系統在進行日志切換時後台進程就會生成兩份完全相同的歸檔日志分別存儲在上面兩個不同的路徑中這裡需要強調的一點是存放在兩個不同路徑中的歸檔日志文件是完全相同的這主要是出於數據安全的需要一般情況下只需要一個歸檔日志即可若不放心的話則可以設置多個歸檔日志存放位置不過這些歸檔日志最好能夠存放到不同的磁盤上否則的話就沒有多少的實際意義

  除了以上這個配置參數之外平時工作中我們還經常會使用LogArchiveDest_N這個參數這個參數主要用於指定多個歸檔位置通常情況下可以多大十個歸檔位置這個參數跟先前提到的兩個參數有比較大的不同數據庫管理員要對此有清晰的認識只有如此才能夠根據自己的需要選擇合適的初始化參數他們的差異主要有以下幾點

  一是不帶N的初始化參數(即前面的兩個參數)只能夠用來配置本地歸檔位置而後面談到的這個參數這可以用來配置本地歸檔位置與遠程歸檔位置也就是說如果數據庫管理員要把歸檔日志文件保存在網絡上的其它主機中時就必須利用後面的參數進行配置這個區別是幾個參數之間最大的差異不過由於網絡傳輸等方面的限制筆者並不建議把歸檔日志保存在其它主機上而是建議在數據庫服務器中增加一塊獨立的硬盤用來保存歸檔日志文件即可因為硬盤之間數據的復制要比網絡傳輸要快的多這可以避免重做日志歸檔時對網絡資源過多的占用從而降低網絡的性能

  二是前面兩個參數只能夠配置兩個不同的歸檔日志位置;而後面一個參數則可以配置多大十個歸檔日志文件位置這是兩者數量上的差異不過沒什麼作用對於大部分企業來說可能兩個歸檔日志文件存放位置已經可以滿足他們的需求了另外一個小的差異就是後面這個參數不能夠跟前面兩個參數共存為此當使用後者這個參數時就需要先把前面兩個參數禁用掉因為數據庫默認情況下是啟動第一個初始化參數的

  三是具體的配置也有所不同利用後者參數指定歸檔日志存儲位置時如果配置本地歸檔位之則需要指定Location選項;如果是配置遠程歸檔日志位置時則就需要制定Service選項這個選項主要用來指定遠程數據庫的網絡服務名通常情況下數據庫管理員可以同時配置本地歸檔位置與遠程歸檔位置

  對於以上這些初始化參數數據庫管理員需要根據自己的工作習慣進行配置一個基本的原則就是兼顧歸檔日志文件的安全性與其對性能的影響其它沒有硬性的規定根據筆者的經驗如果這些初始化參數設置的好的話可以讓我們數據庫管理的工作更加順暢便捷


From:http://tw.wingwit.com/Article/program/Oracle/201311/18259.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.