ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle10g下使用AIX5.3逻辑卷作为数据文件注意点

oracle10g下使用AIX5.3逻辑卷作为数据文件注意点

原创 Linux操作系统 作者:yezhibin 时间:2010-05-28 17:42:04 0 删除 编辑
      在AIX平台上创建LV时候,block size=4k,逻辑卷的第一个4K用于存储逻辑卷的信息,其余存储用户数据,所以将数据库数据文件从文件系统形式转化成裸设备的时候,需要跳过第一个4K,具体命令如下:

   # dd if =/path/FS.dbf  f=/dev/rlv_name bs=4k seek=1

    但如果卷组中的多个PV进行条带化,oracle10g安装文档中,创建lv必须采用以下命令:

    #mklv -y lv_name -T O -w n -s n -r n vgname PPs

      其中 -T O 表示逻辑卷第一个4K可以直接存储用户数据,而不是存储逻辑卷信息,为什么需要这种设置呢?   
    
     通常我们数据库db_block_size=8K,意味着数据库的一个block占用逻辑卷的2个blocks( lv block size=4k),stripe size的大小无论设置多大,都有可能造成数据库的某个block跨两个不同的PV,例如两个PV盘的条带化是16K,创建32K的lv,则第一个16K位于PV1,第二个16K位于PV2,因为LV的第一个block size=4K是给系统用,则第一个PV1只剩下12K给数据库用,但数据库的db_block_size=8K,造成了数据库的第二个db block的前4K存储PV1,后面4k存储在PV2,其存在的风险是数据库强制关闭,可能造成数据块的损坏。如果db_block_size=4K就不存在上述问题。

       同样的道理,如果一个lv跨多个PV(no stripe),在创建lv的时候,因为卷组中PP得大小是8K的整数倍,所以创建LV需要使用-T O参数,确保数据块不会分裂到两个PV中,而不采用-T O参数创建LV的时候,LV占用第一个PV的大小是先减去4K,所得值不能被8K整除,使得LV占用第一个PV上的空间,最后一个数据块前4K,在PV1,后面4K在第二个PV中,造成数据块的割裂。

      我们一旦采用-T O参数时候,文件系统转化成裸设备命令要修改为:
      # dd if =/path/FS.dbf  f=/dev/rlv_name bs=4k

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/354732/viewspace-663950/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-12-18

  • 博文量
    159
  • 访问量
    559689