OS block size和Oracle block size,查找OS Blocksize的方法

2015-07-16 12:09:08 · 作者: · 浏览: 6

SQL> select * from v$version;


BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Prod
PL/SQL Release 10.2.0.4.0 - Production
CORE? ? 10.2.0.4.0? ? ? Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production


SQL> create tablespace test datafile '/install/test_tbs1.ora' size 2m blocksize 2k;


Tablespace created.
[root@rhel4a ~]# tune2fs -l /dev/sdc1|grep -i block
Block count:? ? ? ? ? ? ? 1048233
Reserved block count:? ? 52411
Free blocks:? ? ? ? ? ? ? 828704
First block:? ? ? ? ? ? ? 0
Block size:? ? ? ? ? ? ? 4096
Reserved GDT blocks:? ? ? 255
Blocks per group:? ? ? ? 32768
Inode blocks per group:? 512
Reserved blocks uid:? ? ? 0 (user root)
Reserved blocks gid:? ? ? 0 (group root)
Journal backup:? ? ? ? ? inode blocks


[root@rhel4a ~]# mount -l
/dev/sda2 on / type ext3 (rw) [/]
none on /proc type proc (rw)
none on /sys type sysfs (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw) [/boot]
none on /dev/shm type tmpfs (rw)
/dev/sdb1 on /oracle10g type ext3 (rw) []
/dev/sdc1 on /install type ext3 (rw) []
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
configfs on /config type configfs (rw)
ocfs2_dlmfs on /dlm type ocfs2_dlmfs (rw)
/dev/sdd1 on /oracle10g/oradata/orcl type ocfs2 (rw,_netdev,datavolume,heartbeat=local) [oradatafiles]
oracleasmfs on /dev/oracleasm type oracleasmfs (rw)


[root@rhel4a ~]# stat -f /install
? File: "/install"
? ? ID: 0? ? ? ? Namelen: 255? ? Type: ext2/ext3
Blocks: Total: 1031769? ? Free: 828190? ? Available: 775779? ? Size: 4096
Inodes: Total: 524288? ? Free: 521290? ?


[root@rhel4a ~]# dumpe2fs /dev/sdc1|grep 'Block size'
dumpe2fs 1.35 (28-Feb-2004)
Block size:? ? ? ? ? ? ? 4096


从这里是不是可以说oracle block size 和 filesystem blocksize没什么直接的关系呢?


Linux: file Block size is selected at the time of high-level formatting。


==========================================================


The log block size is platform. specific, and can be found out using the following query: (size in bytes)


select max(lebsz) from x$kccle


most platforms have log block size of 512, but HPUX has 1k, and tru64 has blocksize of 2k if my memory serves me well.


===========================================================


Oracle给出的查找OS Block size的方法:


To find the OS Block size in windows.
Kindly run the below sql statement


select lebsz from x$kccle;
which gives the OS Block size.


In Unix:
Goto the directory $ORACLE_HOME/bin/ and run the command dbfsize. (is available on UNIX only)
Example: $ORACLE_HOME/bin/dbfsize


You can find your log block size in bytes with the following query (connected as SYS or internal):
select distinct lebsz from x$kccle;


This is the unit in which you should set the log_checkpoint_interval parameter (otherwise known as the operating system block size). Some sample sizes are:


O/S Log Block Size
======= ==============
Solaris 512 bytes
HP-UX 1024 bytes
NT 512 bytes
OpenVMS 512 bytes
Digital UNIX 1024 bytes
To get it from the operating system, try grep DEV_BSIZE /usr/include/sys/param.h