• 关于oracle 10g creating datafile with zero offset for aix


    参考文档:

    1、创建oracle数据文件时需要注意的地方(OS Header Block)

    http://www.aixchina.net/Question/20406

    2、oracle 创建数据文件offset

    http://blog.itpub.net/500314/viewspace-1097991/

    问题.WARNING: You are creating/reusing datafile /dev/rcv_sysaux_800m.
    WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support for more details.
    WARNING: You are creating/reusing datafile /dev/rcv_sysaux_800m.
    WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support for more details.


    一.说明
    数据库创建时,裸设备未使用-T O参数,一般情况下,AIX 的逻辑卷前 4k 用于存储 control block (LVCB),在 Oracle 9iR2 之前,Oracle 软件自动跳过这 4k 而不用。这带来了一个潜在的问题,当 Oracle 的 db_block_size 大于 4k 的时候,一个 Block 可能跨在两个 PV/LUN/磁盘上。这样当系统崩溃的时候,很有可能造成大量的 IO 不完整,一个 PV 上 IO 写入,另一边可能未完成,启动 Oracle 的时候将会看到 ORA-1578 错误,这几乎是致命的。

    创建裸设备时,如果使用 -T O参数的情况下,AIX的逻辑卷前 4K可以被Oracle使用,即zero offset,Oracle从0开始读写LV,这也是Oracle推荐使用的方法。

    我们首先来看一下AIX的vg的3种类型:
    original vg 普通卷组
    big vg 大卷组
    scalable vg 动态的或者可扩展的卷组

    -- 建议创建新卷组时使用scalable vg


    如何快速区分这三组卷组呢?
    通过其参数MAX PVS,上述3个类型的卷组对应的限制是:32、128、1024;除此之外,还可以通过readvgda命令来读取pv的元数据判断。

    三种卷组创建LV的异同点:
    0. Origninal VG无论是否使用“-T O”参数,创建出来的lv都是DS_LV(有偏移的);
    1. Scalable VG无论是否使用“-T O”参数,创建出来的lv都是DS_LVZ(没有偏移的);
    2. Big VG使用“-T O”参数创建出来的lv是DS_LVZ类型,否则是DS_LV类型。
    通过查看lv的属性DEVICESUBTYPE:DS_LVZ也就是没有偏移的lv,除此之外Oracle也提供了一个工具来检查LV是有offset,该工具只能检查被用于数据文件的lv,注意要用root用户执行。

    /usr/sbin/mklv -y'lv_control_01' -T O -t'raw' datavg 1 

    db1:/#/oracle/app/oracle/product/10.2/db1/bin/dbfsize /dev/lv_control_01
    Database file: /dev/lv_control_01
    Database file type: raw device without 4K starting offset
    Database file size: 334 16384 byte blocks      
    这个是没有offset的. (建议使用的格式)


    接着来看下有offset的结果:  (不建议使用的格式)

    /usr/sbin/mklv -y'lvtest' -t'raw' rootvg 1 
    chown oracle:oinstall /dev/rlvtest
    chmod 700 /dev/rlvtest

    db1:/oracle$ /oracle/app/oracle/product/10.2/db1/bin/dbfsize /dev/lvtest   
    Database file: /dev/lvtest
    Database file type: raw device     
    Database file size: 1280 8192 byte blocks     

    而且使用有offset的lv创建表空间的时候在后台日志也会做相应的记录并提出建议:
    create tablespace gtlions datafile '/dev/rlvtest' size 10m
    WARNING: You are creating datafile /dev/rlvtest.
    WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support for more details.
    WARNING: You are creating/reusing datafile /dev/rlvtest.
    WARNING: Oracle recommends creating new datafiles on devices with zero offset. The command "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs" can be used. Please contact Oracle customer support for more details.
    Completed: create tablespace gtlions datafile '/dev/rlvtest' size 10m.

  • 相关阅读:
    寒假生活
    VS2010调试时修改代码 调试时源文件与模块生成时的文件不同
    如何在VS VC 中DLL使用CString类
    SVChost执行原理学习
    error LNK2001: unresolved external symbol __imp__PathFileExistsA@4
    visual studio 2010 遇到了异常,可能是由某个扩展导致的...
    C++运算各版本学习
    寒江独钓-键盘过滤学习2修改IDT + IOAPIC重定位表截获PS2键盘中断
    寒江独钓-键盘过滤学习1传统型的键盘过滤
    ObReferenceObjectByName 函数解析
  • 原文地址:https://www.cnblogs.com/fengaix6/p/5100582.html
Copyright © 2020-2023  润新知