jackyrong 发表于 2013-2-7 12:52:34

oracle 学习小结11

1 计算redo  block size的大小
   LGWR以block为单位把redo写入磁盘,redo block size是Oracle源代码中固定的,与操作系统相关。

通常的操作系统都是以512 bytes为单位,如:Solaris, AIX, Windows NT/2000, Linux 等

这个Log size可以从Oracle的内部视图中获得:

                            SQL> 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如下

                            SQL> select name,value from v$sysstat            2where name in ('redo size','redo wastage','redo blocks written');            NAME                                                                  VALUE            ---------------------------------------------------------------- ----------            redo size                                                         2242628            redo wastage                                                          63904            redo blocks written                                                    4657            SQL> select ceil(16 + (2242628 + 63904)/4657) rbsize from dual;            RBSIZE            ----------            512                                 
页: [1]
查看完整版本: oracle 学习小结11