Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

65

积分

0

好友

31

主题
1#
发表于 2013-2-9 10:14:15 | 查看: 4707| 回复: 3
http://docs.oracle.com/cd/B28359_01/server.111/b28318/logical.htm
oracle的文档这样说

The standard block size is specified by the DB_BLOCK_SIZE initialization parameter. In addition, you can specify of up to five nonstandard block sizes. The data block sizes should be a multiple of the operating system's block size within the maximum limit to avoid unnecessary I/O. Oracle Database data blocks are the smallest units of storage that Oracle Database can use or allocate.


我的问题是这样的,我们都听说过Oracle的datablock大小是OS大小的整数倍的说法
例如
Linux OS的IO block是2K,所以Oracle的datablock可以选择最小的8K

第一个问题 Linux OS的IO block的大小是如何查到的,这个是否一条命令就搞定了?

第二个问题,Oracle的数据文件通常会放在raw device,那么raw device的IO block 又是如何查到的呢?
2#
发表于 2013-2-12 23:39:58
[root@single ~]# tune2fs -l /dev/sda1 | grep -i 'block size'
Block size:               1024
[root@single ~]#
第一个肯定是这样的,我的是1k。你也试一试第二个问题。

回复 只看该作者 道具 举报

3#
发表于 2013-2-16 09:24:40
raw device一般是 Unix 标准block size  512bytes

回复 只看该作者 道具 举报

4#
发表于 2013-2-17 22:37:16
本帖最后由 Stone 于 2013-2-17 22:38 编辑

我的理解是Linux OS的 Filesystem的blocksize,这个在创建文件系统时确定。感觉IO block容易误解 :)

具体怎么查,补充一下:
http://www.planetmy.com/blog/how-to-check-filesystem-block-size-on-linux/
  1. How to Check Filesystem Block Size on Linux?
  2. Example 1:
  3. # tune2fs -l /dev/sda1 | grep -i ‘block size’
  4. Block size: 4096
  5. Example 2:
  6. # dumpe2fs -h /dev/sda1 |grep “Block size:”
  7. Block size: 4096
  8. Example 3:
  9. # blockdev –getbsz /dev/sda1
  10. 4096
  11. Example 4:
  12. # echo “abc” >test.txt
  13. # du -h test.txt
  14. 4.0K test
复制代码
下面关于Raw Device的查询来自于wordpress blog,国内好像访问不了,所以粘了过来 。。。
  1. Size of a Raw Device – Solaris/Unix/Linux

  2. “devinfo” can be used to determine the size of a raw device in solaris, unix operating systems.

  3. For example,

  4. > devinfo -i /dev/rdsk/c7t600A0B800029C7F40000087846354FAAd0s0
  5. /dev/rdsk/c7t600A0B800029C7F40000087846354FAAd0s0       0       0       16384   512 2

  6. (512 is block size in bytes)

  7. > devinfo -p /dev/rdsk/c7t600A0B800029C7F40000087846354FAAd0s0
  8. /dev/rdsk/c7t600A0B800029C7F40000087846354FAAd0s0       76      8       16384   996229120 0       0

  9. (996229120 is no of blocks)



  10. So,

  11. 996229120 * 512 =510069309440 Bytes

  12. 510069309440/(1024*1024) = 486440 MBytes
复制代码
已有 1 人评分威望 理由
Maclean Liu(刘相兵 + 8 很给力!

总评分: 威望 + 8   查看全部评分

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-16 06:46 , Processed in 0.048344 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569