首页 / 数据库 / MySQL / OS block size和Oracle block size,查找OS Blocksize的方法
看过类似的文章,多数是讲的文件系统的blocksize,不知道这是否和Oracle block size有啥关系,我试着发现,即使是文件系统blocksize,Oracle blocksize 也可以比这个filesystem block size 小的。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 - ProductionSQL> 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$kcclemost 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 statementselect 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/dbfsizeYou 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更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址