您好,登錄后才能下訂單哦!
初始化參數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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。