对ORACLE三种数据块大小的一些理解

长平狐 发布于 2013/09/17 15:11
阅读 1K+
收藏 0
今天在统计控制文件容量时,注意到v$controlfile中BLOCK_SIZE与数据库的8192不一致,上网查了一此文档,总结如下:
ORACLE中block的大小
1、数据块特指data block,是数据文件的组成部分select file#,name,block_size from v$datafile;
2、重做日志的叫redo block,不叫data block, 大小一般等于操作系统块的大小,可以查询select lebsz from x$kccle;知道大小
3、控制文件的叫control file block,查询select block_size from v$controlfile看大小;

1.查询数据文件数据块

SQL> select file#,name,block_size from v$datafile;
     FILE# NAME                           BLOCK_SIZE
---------- ------------------------------ ----------
         1 F:\SYSDATA\SYSTEM01.DBF              8192
         2 F:\SYSDATA\SYSAUX01.DBF              8192
         3 F:\SYSDATA\UNDOTBS01.DBF             8192
         4 F:\USERDATA\USERS01.DBF              8192

SQL> show parameter block_size;
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_block_size                        integer     8192

2.查询重做日志的叫redo block

SQL> select members,bytes/1024/1024 M,blocksize from v$log;
   MEMBERS          M  BLOCKSIZE
---------- ---------- ----------
         3         10        512
         3         10        512
         3         10        512
使用SYS用户查询 redo block
SQL> show user
User is "SYS"
SQL> select lebsz from X$kccle;
     LEBSZ
----------
         0
         0
         0
       512
       512
       512
6 rows selected

3.使用SYS用户查询控制文件的BLOCK

SQL> select cfbsz from x$kcccf;
     CFBSZ
----------
     16384
     16384
     16384
v$controlfile中查询BLOCK
SQL> select name,block_size  from v$controlfile;
NAME                           BLOCK_SIZE
------------------------------ ----------
F:\CONTROL01.CTL                    16384
G:\CONTROL02.CTL                    16384
H:\CONTROL03.CTL                    16384


原文链接:http://blog.csdn.net/q947817003/article/details/11350359
加载中
返回顶部
顶部