计算redo block size的大小

计算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
            2  where 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
            

你可能感兴趣的:(oracle,职场,休闲)