計算歸檔日誌所需要的磁碟空間
如果Oracle資料庫執行在archivelog模式,當發生日誌切換時,online redo log files將被歸檔。確保磁碟對archive files有足夠的空間是非常重要的,否則,ARCHn 程式不能write就會造成crash。
首先,需要確定系統發生log switch的次數,可以使用下面的查詢指令碼進行檢視,注意要將
使用該查詢可以獲得online redo log files的大小:
SQL> select distinct(to_char((bytes/1024/1024),'9990.999')) size_mb from v$log;
SIZE_MB
---------
10.000
50.000
注意:
在極少數情況下,會出現一個以上的值,就像上面我的查詢。這是因為有不同size的redo log,為redo log設定不同size不能獲得益處,我這裡只是測試環境。
指令碼:
column ord noprint
column date_ heading 'Date' format A15
column no heading '#Arch files' format 9999999
column no_size heading 'Size Mb' format 9999999
compute avg of no on report
compute avg of no_size on report
break on report
select MAX(first_time) ord,
to_char(first_time,'DD-MON-YYYY') date_, count(recid) no, count(recid) *
from v$log_history
group by to_char(first_time,'DD-MON-YYYY')
order by ord
/
clear breaks
clear computes
clear columns
注意:
從Oracle8開始,增加了檢視v$archived_log,該檢視記錄被歸檔的日誌檔案,這裡也可以使用v$archived_log檢視替代v$log_history。
該指令碼的輸出內容顯示系統上每天log switch的檔案數量和大小。如果某天沒有發生log switch,則沒有相應的記錄。
首先需要確定的是每天的log switch數量是否穩定,是否每天差別很大。如果是穩定的,則計算平均數就是每天所需要的磁碟空間。如果變換很大,例如例項每週做一次批量upload,則這必須被考慮進來。
可以分析log switches的數量和相應的磁碟空間大小,是否隨時間增加,這將決定是否要預留更多磁碟空間來滿足將來archive files的增加。
示例一:
資料庫每三天做一次冷備份,備份不包含archive files,但是要保留上一次備份後的archive files。資料庫活動幾乎穩定,redo log files的大小為5MB。
指令碼輸出內容如下:
--------------- ----------- --------
...
10-11月-2013 5 25
11-11月-2013 4 20
12-11月-2013 7 35
14-11月-2013 3 15
15-11月-2013 5 25
16-11月-2013 2 10
17-11月-2013 6 30
18-11月-2013 5 25
...
----------- --------
5 25
由於log switch數量是穩定的,因此可以用平均數計算:
25MB * 3 days = 75MB
20% = 15MB
------
90MB
額外附加的20%是允許一個安全限度。
因為我們也要保留上次備份後的archive files,所以:
90MB * 2 = 180MB
示例二:
每週日冷備份資料庫,包括archive logs。每週一有一個批量作業執行大量upload。週二到週五資料庫正常活動,週六幾乎沒有活動。redo log files的大小為1MB。
指令碼輸出內容如下:
Date #Arch files Size Mb
--------------- ----------- --------
...
13-12月-2013 15 15
15-12月-2013 12 12
16-12月-2013 275 275
17-12月-2013 13 13
18-12月-2013 12 12
19-12月-2013 11 11
20-12月-2013 14 14
21-12月-2013 1 1
22-12月-2013 11 11
...
----------- --------
43 43
由於在一週之內archived files數量是不穩定的,所以這次就不能使用平均數計算。沒有一個準確的公式可以計算,但是我們可以把一週的值全部加起來,再加上20%,就可以大致計算出結果。
sum = 338MB
20% = 68MB
------
406MB
整理自My Oracle Support,原文連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25744374/viewspace-1101527/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檢視歸檔日誌空間
- Oracle資料庫的歸檔日誌寫滿磁碟空間解決辦法Oracle資料庫
- ORA-00257歸檔日誌空間已滿
- ORA-00257-歸檔日誌所在磁碟空間使用100%出錯解決
- 歸檔日誌名稱為空
- 統計某個時間段的歸檔日誌大小
- oracle 日誌檔案佔空間Oracle
- 歸檔日誌大小統計
- 歸檔大小日誌計算
- 【Archived Log】通過日誌切換頻率推算出存放歸檔日誌所需的空間Hive
- oracle資料庫歸檔日誌空間滿引起的錯誤處理Oracle資料庫
- 歸檔日誌
- oracle rman備份歸檔日誌需要先切換日誌嗎Oracle
- 【Oracle】歸檔日誌管理-設定歸檔日誌路徑以及歸檔日誌冗餘Oracle
- oracle歸檔日誌Oracle
- Oracle 歸檔日誌Oracle
- 歸檔日誌挖掘
- PostgreSQL 歸檔日誌SQL
- rman 刪除指定時間點的歸檔日誌
- lnmp下如何關閉Mysql日誌保護磁碟空間LNMPMySql
- TimesTen計算和配置TimesTen的ttmesg日誌儲存空間
- 歸檔日誌的刪除
- 歸檔日誌物理刪除後閃回恢復區空間未釋放
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- 控制檔案/歸檔日誌
- 歸檔日誌多歸檔路徑 duplex
- 日誌檔案和歸檔日誌檔案的關係以及如何切換日誌
- 歸檔oracle alert日誌Oracle
- 14. 日誌歸檔
- PostgreSQL歸檔日誌配置SQL
- rman清理歸檔日誌
- archive log 歸檔日誌Hive
- 備份歸檔日誌
- 歸檔日誌 現象
- Oracle歸檔日誌清理Oracle
- RAC資料庫大量載入資料造成歸檔日誌空間滿處理資料庫
- 當ORACLE歸檔日誌滿後如何正確刪除歸檔日誌Oracle
- 用RMAN備份歸檔日誌時檢查歸檔日誌是否存在