Oracle數(shù)據(jù)庫歸檔日志日常管理與建議_第1頁
Oracle數(shù)據(jù)庫歸檔日志日常管理與建議_第2頁
Oracle數(shù)據(jù)庫歸檔日志日常管理與建議_第3頁
Oracle數(shù)據(jù)庫歸檔日志日常管理與建議_第4頁
Oracle數(shù)據(jù)庫歸檔日志日常管理與建議_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Oracle數(shù)據(jù)庫歸檔日志日常管理與建議1. 簡介近日,項(xiàng)目組偶有發(fā)生歸檔日志占滿歸檔目錄空間導(dǎo)致數(shù)據(jù)庫hang?。o響應(yīng)),導(dǎo)致系統(tǒng)不能正常應(yīng)用的情況。針對(duì)此類問題,筆者從Oracle數(shù)據(jù)庫歸檔模式、歸檔模式的優(yōu)缺點(diǎn)、歸檔日志日常管理方法等各方面淺析并整理出歸檔日志日常管理與建議。請(qǐng)各 項(xiàng)目組依據(jù)實(shí)際情況,規(guī)范管理歸檔日志,排查相關(guān)隱患,以保證系統(tǒng)的正常高效運(yùn)營。另外,對(duì)于已開啟數(shù)據(jù)庫歸檔模式的項(xiàng)目組,若數(shù)據(jù)庫管理權(quán)限不在我方,可將相關(guān) 歸檔管理建議與當(dāng)?shù)剡\(yùn)維部門充分溝通,避免歸檔的不當(dāng)管理引起事故。2. 數(shù)據(jù)庫歸檔模式與歸檔日志2.1數(shù)據(jù)庫運(yùn)行模式簡介Oracle數(shù)據(jù)庫包括歸檔模式與非歸檔

2、模式兩種運(yùn)行模式。一般情況下Oracle數(shù)據(jù)庫的聯(lián)機(jī)重做日志會(huì)記錄對(duì)數(shù)據(jù)庫所做的所有的修改,如創(chuàng) 建對(duì)象;插入、刪除、更新對(duì)象;刪除對(duì)象等,這些操作都會(huì)記錄在聯(lián)機(jī)重做日志里。Oracle 數(shù)據(jù)庫至少要有2個(gè)聯(lián)機(jī)重做日志組。當(dāng)一個(gè)聯(lián)機(jī)重做日志組被寫滿(假設(shè)為1)的時(shí)候, 就會(huì)發(fā)生日志切換,這時(shí)聯(lián)機(jī)重做日志組 2 (假設(shè)為2)成為當(dāng)前使用的日志,當(dāng)聯(lián)機(jī)重 做日志組2寫滿的時(shí)候,乂會(huì)發(fā)生日志切換,去寫聯(lián)機(jī)重做日志組1,這樣反復(fù)進(jìn)行。如果數(shù)據(jù)庫處于非歸檔模式,聯(lián)機(jī)日志在切換時(shí)就會(huì)被丟棄。而在歸檔模式下,當(dāng)發(fā) 生日志切換的時(shí)候,被切換的聯(lián)機(jī)日志會(huì)被歸檔。如當(dāng)前在使用聯(lián)機(jī)重做日志1,當(dāng)1被寫滿時(shí),發(fā)生日志

3、切換,開始寫聯(lián)機(jī)重做日志2, 這時(shí)聯(lián)機(jī)重做日志1的內(nèi)容會(huì)被拷貝到一個(gè)指定的目錄下。這個(gè)目錄為歸檔目錄,這個(gè)過程稱之為歸檔,拷貝的文件叫歸檔日志。2.2歸檔模式優(yōu)點(diǎn)與歸檔日志作用數(shù)據(jù)庫運(yùn)行在歸檔模式時(shí),后臺(tái)進(jìn)程ARC蟲將聯(lián)機(jī)日志的內(nèi)容拷貝到歸檔目錄生成歸 檔日志。當(dāng)數(shù)據(jù)庫出現(xiàn)介質(zhì)失敗時(shí),使用數(shù)據(jù)文件備份,歸檔日志和重做日志可以完全恢復(fù)數(shù) 據(jù)庫。因此,開啟歸檔模式及歸檔日志的益處與作用是非常明顯的:1. 可以進(jìn)行完全、不完全恢復(fù)。由于對(duì)數(shù)據(jù)庫所做的全部改動(dòng)都記錄在日志文件中, 如果發(fā)生硬盤故障等導(dǎo)致數(shù)據(jù)文件丟失的故障,則可以利用物理備份和歸檔日志 完全恢復(fù)數(shù)據(jù)庫,不會(huì)丟失任何數(shù)據(jù)。2. 可以進(jìn)行聯(lián)

4、機(jī)熱備。所謂聯(lián)機(jī)熱備,就是在數(shù)據(jù)庫運(yùn)行狀態(tài)下,對(duì)數(shù)據(jù)庫進(jìn)行備份,備份時(shí)用戶對(duì)數(shù)據(jù)庫的使用基本不受影響(不可避免的會(huì)對(duì)性能有負(fù)面影響)。3. 可以實(shí)施Data Guard??梢圆渴?個(gè)或多個(gè)備用數(shù)據(jù)庫,從而最大限度地提供災(zāi) 難保護(hù)手段。4. 可以實(shí)施Stream。利用Stream技術(shù),可以實(shí)現(xiàn)單向復(fù)制、雙向復(fù)制、多向復(fù)制及 提供更加靈活的數(shù)據(jù)冗余方案。5. 表空間可以脫機(jī)并通過歸檔日志再成功使其聯(lián)機(jī)??梢詡浞莶糠?jǐn)?shù)據(jù)庫,如重要 的表空間,并能在歸檔日志完整的情況下實(shí)現(xiàn)成功的聯(lián)機(jī)。6. 能夠輕松實(shí)現(xiàn)增量備份。只需做一次完全備份,以后只備份發(fā)生改變的數(shù)據(jù),可 以提高備份速度。2.3歸檔模式缺點(diǎn)數(shù)據(jù)庫

5、運(yùn)行在歸檔模式時(shí),后臺(tái)進(jìn)程ARC蟲將聯(lián)機(jī)日志的內(nèi)容拷貝到歸檔目錄生成歸 檔日志。這樣的一個(gè)過程不僅可以使得歸檔模式具有以上優(yōu)點(diǎn),同樣具有以下缺點(diǎn):1. 增加數(shù)據(jù)庫服務(wù)器負(fù)載。在拷貝聯(lián)機(jī)日志的同時(shí)必然帶來IO、磁盤空間等方面的壓力。2. 增加系統(tǒng)維護(hù)難度。增加了歸檔日志、歸檔目錄等方面的管理與維護(hù),以及系統(tǒng) hang住的隱患。3. 歸檔日志的連續(xù)性要求高。歸檔日志的連續(xù)性是歸檔模式優(yōu)點(diǎn)實(shí)現(xiàn)的前提,也就 是說如果歸檔模式下只是簡單定期刪除歸檔日志將使得歸檔模式本身的優(yōu)點(diǎn)無法 發(fā)揮。綜上,當(dāng)數(shù)據(jù)庫運(yùn)行為歸檔模式時(shí),為確保歸檔模式的優(yōu)點(diǎn)正常發(fā)揮對(duì)歸檔日志的妥 善管理極為重要!3. 管理歸檔日志由于歸檔

6、日志具有生成速度較快且不可覆蓋等特性,如果對(duì)歸檔日志的管理不妥當(dāng),很可能導(dǎo)致歸檔日志所在歸檔目錄的磁盤無儲(chǔ)存空間的情況,進(jìn)而報(bào)ORA-00257昔誤。旦發(fā)生該錯(cuò)誤,數(shù)據(jù)庫將處于 hang住狀態(tài),所有對(duì)數(shù)據(jù)庫的變更操作都將陷于等待,最 終導(dǎo)致應(yīng)用將被異常停止!因此這類問題我們應(yīng)該引起足夠的重視!日常管理中應(yīng)該:1. 制定合理歸檔日志管理策略,以備份、歸檔、刪除歸檔日志;2. 定期(每天)監(jiān)控系統(tǒng)的歸檔日志的生成量,并根據(jù)歸檔日志判定既有歸檔日志管 理策略是否合理;3. 定期(每天)監(jiān)控歸檔目錄所在磁盤的使用情況,并根據(jù)使用情況做出相應(yīng)處理;4. 掌握應(yīng)急處理方法,即當(dāng)快要發(fā)生或已經(jīng)發(fā)生的故障的處

7、理方法。以下我們簡單討論以上幾點(diǎn):3.1制定合理的歸檔日志管理策略管理歸檔日志最重要的是制定合理的歸檔日志管理策略,并定期監(jiān)控策略的有效性與合理性。制定歸檔日志的管理策略一般需要注意以下幾點(diǎn):1. 前期歸檔日志生成量及備份耗時(shí)的調(diào)研;2. 合理確定歸檔目錄的空間大??;3. 合理制定數(shù)據(jù)庫及歸檔日志的備份策略;4. 后期觀察歸檔日志生成量及備份耗時(shí),并對(duì)現(xiàn)有管理策略提出相關(guān)建議。由丁各項(xiàng)目組歸檔日志生成量及備份耗時(shí)情況不盡相同,本文檔提出一個(gè)歸檔日志管理策略供參考,具體請(qǐng)參見附錄。3.2監(jiān)控歸檔日志日生成量根據(jù)相關(guān)sql語句查詢出歸檔日志的日生成量, 并根據(jù)日歸檔日志生成量對(duì)歸檔目錄 大小做出相

8、應(yīng)建議。如遇歸檔日志生成量某天出現(xiàn)異常,請(qǐng)及時(shí)聯(lián)系公司總部管理員獲取 技術(shù)協(xié)助。sql語句及查詢數(shù)據(jù)參考如下:SELECT TRUNC(FIRST_TIME)日期",TRUNC(SUM(BLOCKS*BLOCK_SIZE)/1024/1024/1024,2沈小(GB/DAY "FROM V$ARCHIVED_LOGGROUP BY TRUNC(FIRST_TIME)ORDER BY 1 DESC;日期大小(GB/day)2011-08-174.792011-08-1616.242011-08-1519.482011-08-1421.532011-08-1322.602011

9、-08-124.822011-08-1111.392011-08-1051.892011-08-0919.442011-08-0847.232011-08-075.74(說明:以上數(shù)據(jù)為某生產(chǎn)庫查詢結(jié)果,不同環(huán)境查詢結(jié)果可能會(huì)相差較大,這與生產(chǎn)環(huán)境的業(yè)務(wù)量有較大關(guān)系)3.3監(jiān)控歸檔目錄所在磁盤的使用情況根據(jù)相關(guān)OS命令查詢出歸檔目錄所在磁盤的使用情況,并根據(jù)使用情況做出相應(yīng)處 理(建議:歸檔目錄空間大小確保能存放一個(gè)備份周期的歸檔日志)。相關(guān)命令參考如下:df - hl ,顯示格式為:文件系統(tǒng) 容量 已用 可用 已用掛載點(diǎn) /dev/hda5 487M 120M 342M 27% / /dev

10、/hdal 981M 21M 911M 3% /boot none 125M 0 125M 0% /dev/shm/dev/hda2 29G 4.9G 23G 18% /home /dev/hda3 20G 4.8G 14G 27% /usr /dev/hda7 24G 510M 22G 3% /var /dev/hdb2 75G 75G 0 100% /(說明:以上數(shù)據(jù)為測試環(huán)境的查詢結(jié)果,不同平臺(tái)查詢命令與顯示結(jié)果不盡相同)。3.4應(yīng)急處理方法采用歸檔模式會(huì)爆發(fā)的問題種類較多,但最為常見的是歸檔目錄空間不足。這里簡單 介紹下如果發(fā)生歸檔目錄空間不足的情況的應(yīng)急處理方法(僅僅為應(yīng)急處理方法,

11、使用該 方法處理過后,建議立即執(zhí)行一次全庫備份,以確保數(shù)據(jù)的安全)。當(dāng)發(fā)現(xiàn)歸檔目錄磁盤空間不能再保存一天內(nèi)的歸檔日志,或報(bào)錯(cuò)如下時(shí):ORA-00257:archiver error. Connect internal only, until freed, 即說明磁盤空間已嚴(yán)重不足。可參考以下步驟處理:1. 登錄RMANrootsha3 oracle# rman target /Recovery Manager: Release 10.2.0.4.0 - Production on Tue Jan 20 01:41:26 2009 Copyright (c) 1982, 2007, Oracle

12、. All rights reserved.connected to target database: cwgkvpd (DBID=4147983671)2. 歸檔日志交義檢查;RMAN> crosscheck archivelog all;3. 備份后(直接物理備份即可),刪除過期的歸檔或刪除10天前的歸檔日志; RMAN> delete expired archivelog all;delete archivelog until time 'sysdate-10'4. 觀察磁盤空間使用率是否恢復(fù)正常;至此,如果歸檔日志所占的空間都已釋放,則問題得以解決。但因查明

13、歸檔日志占滿空間的原因,確定是否需要調(diào)整備份策略或者歸檔目錄大小。4. 歸檔日志管理的相關(guān)建議1. 制定合理備份策略;2. 使用磁帶庫歸檔備份文件;3. 使用VERITAS第三方備份軟件實(shí)現(xiàn)自動(dòng)備份;4. 定期(每天)監(jiān)控系統(tǒng)的歸檔日志的生成量,并根據(jù)歸檔日志判定既有歸檔日志 管理策略是否合理;5. 定期(每天)監(jiān)控歸檔目錄所在磁盤的使用情況,并根據(jù)使用情況做出相應(yīng)處理;6. 制定應(yīng)急策略。附錄:歸檔日志管理參考策略提供一套既有歸檔日志管理策略供參考(僅供參考,摘錄自循序漸進(jìn)ORACLE作者:蓋國強(qiáng)):1. 定時(shí)設(shè)置。在Linux/UNIX下,通過crontab來制定定時(shí)任務(wù),以下示例來自Li

14、nux生產(chǎn)環(huán)境:oraclelocalhost $ crontab -l# start rman backup on 1:00 every day0 i * * 0-6 /oracle/rman/start_rman.sh2. 備份調(diào)度腳本。本例通過 start_rman.sh腳本進(jìn)行調(diào)用執(zhí)行,此腳本執(zhí)行前先調(diào)用執(zhí)行Oracle用戶的環(huán)境變量,以獲得執(zhí)行環(huán)境:oraclelocalhost rman$ cat start_rman.sh./opt/oracle/.bash_profileSH_HOME=/oracle/rmanexport SH_HOMEDATE='date +&quo

15、t;%Y%m%d"'week='date +"%w"'# confirm whether the oracle is runningps -ef|grep dbw0_$ORACLE_SID |grep -v grep >>/dev/null# begin to backupif $? -eq 0 ; thenif $week = "0" | $week = "3”; thenrman target / $SH_HOME/fullback.sql log=$SH_HOME/logs/rmanfullb

16、ack'date+"%Y%m%d"'.logelserman target / $SH_HOME/archback.sql log=$SH_HOME/logs/rmanarchback'date+"%Y%m%d"'.log fifi備份在每周三和日?qǐng)?zhí)行全備份,其余每天執(zhí)行歸檔日志的備份。3. 全備份腳本。以上備份中用到的全備份腳本fullback.sql 如下:oraclelocalhost rman$ cat fullback.sqlrun(backup full tag 'rman_test' data

17、base include current controlfile format'/oracle/rman/rmanfullback_%d_%T_%s.bak'plus archivelog format '/oracle/rman/rmanarch_%d_%T_%s.bak' delete all input;delete noprompt obsolete;4. 歸檔備份日志腳本。備份中用到的備份歸檔日志腳本archback.sql如下:oraclelocalhost rman$ cat archback.sqlrun(backup archivelog all format

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論