ORACLE三种数据块大小
时间:2017-08-08 来源:
今天在统计控制文件容量时,注意到v$controlfile中BLOCK_SIZE与数据库的8192bytes不一致,上网查了一此文档,总结如下:
ORACLE中block的大小:单位-bytes
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.查询数据文件数据块大小,8192 bytes
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大小,512 bytes
BYS@ bys3>select members,bytes/1024/1024 M,blocksize from v$log;
MEMBERS M BLOCKSIZE
---------- ---------- ----------
1 50 512
1 50 512
1 50 512
使用SYS用户可以查询redo block
SYS@ bys3>show user
USER is "SYS"
SYS@ bys3> select lebsz from X$kccle;
LEBSZ
----------
512
512
512
3.使用SYS用户查询控制文件的BLOCK大小,16384 bytes
SYS@ bys3> select cfbsz from x$kcccf;
CFBSZ
----------
16384
16384
从v$controlfile中查询BLOCK
SYS@ bys3>select name,block_size from v$controlfile;
NAME BLOCK_SIZE
---------------------------------------- ----------
/u01/oradata/bys3/control01.ctl 16384
/u01/oradata/bys3/control02.ctl 16384
(以上内容摘于网络,如有侵权,请告之,将第一时间删除)