怎样在数据库中获得OS块大小以及logfile的使用率

1326阅读 0评论2009-02-26 舒风星
分类:Oracle

怎样在数据库中获得OS块大小?不同的OS对应的block size会有所不同,我记得HP_UX的OS BLOCK SIZE就是1024 BYTES。言归正传。
 
首先介绍两个视图及相关的字段:

x$kccle---- [K]ernel [C]ache [C]ontrolfile management [L]ogfil[E] record

LESIZ ------logfile大小(以逻辑块表示)
LESEQ------log sequence #
LEBSZ------logfile逻辑块大小

x$kcccp----[K]ernel [C]ache [C]ontrolfile management [c]heckpoint [p]rogress

CPODR_SEQ------日志文件的seq #
CPODR_BNO------日志文件中使用块的数量

获取OS块大小的查询语句:

SQL> select max(lebsz) lbsize from x$kccle;

    LBSIZE
----------
       512

获得logfile使用率的语句:

SQL> SELECT  le.leseq    CURRENT_LOG_SEQUENCE#, 100*cp.cpodr_bno/LE.lesiz PERCENTAGE_FULL
  2  from  x$kcccp cp,x$kccle le WHERE  LE.leseq =CP.cpodr_seq;

CURRENT_LOG_SEQUENCE# PERCENTAGE_FULL
--------------------- ---------------
                    5      9.43359375

 

参考:

上一篇:isqlplus的登录及乱码问题
下一篇:db_file_multiblock_read_count测试Oracle在不同系统中的IO能力