日誌的塊大小
初始化引數LOG_BUFFER決定了Redo Log Buffer的大小,雖然LOG_BUFFER中的Redo Entries的大小是以bytes為單位,但是LGWR仍然以Block為單位把Redo寫入磁碟,Redo Block Size是Oracle原始碼中固定的,與作業系統相關。
通常的作業系統都是以512bytes為單位,如Solaris、AIX、Windows NT/2000、Linux等。這個Log Size可以從Oracle的內部檢視中獲得:
sys@TQGZS> select max(lebsz) from x$kccle;
MAX(LEBSZ)
----------
512
也可以從v$sysstat中的統計資訊中透過計算粗略得到,如Redo Size(Redo資訊的大小)、Redo Wastage(浪費的Redo的大小)、Redo Blocks Written(LGWR寫出的Redo Block的數量)等額外的資訊,每個Redo Block Header需要佔用16 Bytes,由此可以粗略地計算Redo Block Size如下:
sys@TQGZS> select name,value from v$sysstat
2 where name in ('redo size','redo wastage','redo blocks written');
NAME VALUE
---------------------------------------- ------------
redo size 13253016
redo wastage 225776
redo blocks written 27416
sys@TQGZS> select ceil(16+(13253016+225776)/27416) rbsize from dual;
RBSIZE
----------
508
在Linux/UNIX下,Oracle還提供另外一個命令列工具可以用於檢查檔案的Block Size大小:
[oracle@tqgzs: ~/oradata/tqgzs]$dbfsize redo01.log
Database file: redo01.log
Database file type: file system
Database file size: 102400 512 byte blocks
[oracle@tqgzs: ~/oradata/tqgzs]$dbfsize system01.dbf
Database file: system01.dbf
Database file type: file system
Database file size: 89600 8192 byte blocks
[oracle@tqgzs: ~/oradata/tqgzs]$which dbfsize
~/product/10.2.0/db_1/bin/dbfsize
從以上的輸出中可以看到,日誌檔案的Block Size是512 Bytes,而資料檔案的Block Size為8192 Bytes。當然,也可以透過轉儲日誌檔案的方式來獲取日誌檔案塊大小,轉儲日誌檔案頭可以透過如下命名實現:
alter session set events 'immediate trace name redohdr level 10';
檢視跟蹤檔案可以得到類似如下資訊,輸出中的bsz就是指Redo Block Size為512Bytes:
LOG FILE #1:
(name #3) /u01/oracle/oradata/tqgzs/redo01.log
Thread 1 redo log links: forward: 2 backward: 0
siz: 0x19000 seq: 0x00000077 hws: 0x4 bsz: 512 nab: 0x2 flg: 0x1 dup: 1
Archive links: fwrd: 0 back: 0 Prev scn: 0x0000.005f5e8e
Low scn: 0x0000.005f5e90 12/13/2009 23:33:58
Next scn: 0x0000.005f5e92 12/13/2009 23:34:03
有時候當資料庫出現歸檔錯誤時,也會給出提示資訊,告知blocksize=512。
ORA-19502: write error on file "/data1/oraarc/PTL017151.arc", blockno 169985 (blocksize=512)
ORA-27072: skgfdisp: I/O error
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2133820/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 日誌檔案的大小
- 重做日誌大小的設定
- 限制 Apache日誌檔案大小的方法Apache
- 線上修改重做日誌檔案的大小
- 修改Oracle重做日誌檔案的大小Oracle
- oracle 日誌產生大小的計算Oracle
- 怎樣改變重做日誌的大小
- 歸檔日誌大小統計
- 改變日誌檔案大小
- 檢視每日產生的日誌量大小
- 如何更改線上重做日誌檔案的大小
- oracle 修改日誌大小及增加日誌成員Oracle
- 縮小日誌大小,截斷日誌;然後shrink
- Oracle調整redo log日誌大小Oracle
- 歸檔日誌大小 與使用rman 備份後的歸檔日誌產生的備份集大小的關係
- 增加日誌檔案,修改當前日誌檔案大小
- MySQL 5.6修改REDO日誌的大小和個數MySql
- 改變歸檔日誌檔案大小
- 線上修改REDO LOG的大小及增加新的日誌組
- Oracle產生redo日誌量大小統計Oracle
- 修改online redo日誌檔案大小
- kingsql 如何修改Oralce日誌檔案大小SQL
- MySQL 修改InnoDB重做日誌檔案的數量或大小MySql
- 統計某個時間段的歸檔日誌大小
- 日誌檔案太大,壓縮後,限制檔案的大小,但出現日誌檔案已經滿的告警
- Postgres使用pg_resetwal命令修改wal日誌檔案大小的方法
- 【kingsql分享】RAC擴大online日誌組大小SQL
- oracle 11g 更改歸檔模式、目錄、日誌大小Oracle模式
- 新增日誌組以及調整日誌的大小
- oracle smallfile 大小和塊大小關係Oracle
- 更改RAC資料庫日誌檔案大小及數量 for ASM資料庫ASM
- 【TUNE_ORACLE】Oracle檢查點(四)檢查點對redo日誌的影響和redo日誌大小設定建議Oracle
- mysql之 日誌體系(錯誤日誌、查詢日誌、二進位制日誌、事務日誌、中繼日誌)MySql中繼
- php日誌,記錄日誌PHP
- 日誌分析-apache日誌分析Apache
- DHCP的日誌
- 20170315測試線上日誌與備用日誌大小不一樣
- nxlog4go 按天或按檔案大小分割日誌Go