• 数据库节点1存储丢失



    1.查看oracleasm日志

    sjzxdb1:/var/log # more oracleasm
    Creating /dev/oracleasm mount point: /dev/oracleasm
    Loading module "oracleasm": oracleasm
    Mounting ASMlib driver filesystem: /dev/oracleasm
    Reloading disk partitions: done
    Cleaning any stale ASM disks...
    Scanning system for ASM disks...
    Disk "DISKGROUP" does not exist or is not instantiated
    Instantiating disk "DISKGROUP"
    Disk "DISKDATA3" does not exist or is not instantiated
    Instantiating disk "DISKDATA3"
    Disk "DISKDATA2" does not exist or is not instantiated
    Instantiating disk "DISKDATA2"
    Disk "DISKDATA1" does not exist or is not instantiated
    Instantiating disk "DISKDATA1"
    Disk "DISKGROUP" is a valid ASM disk
    Disk "DISKDATA3" is a valid ASM disk
    Disk "DISKDATA2" is a valid ASM disk
    Disk "DISKDATA1" is a valid ASM disk
    Reloading disk partitions: done
    Cleaning any stale ASM disks...
    Validating disk "DISKDATA1"
    Validating disk "DISKDATA2"
    Validating disk "DISKDATA3"
    Validating disk "DISKGROUP"
    Scanning system for ASM disks...
    Disk "DISKGROUP" is a valid ASM disk
    Disk "DISKDATA3" is a valid ASM disk
    Disk "DISKDATA2" is a valid ASM disk
    Disk "DISKDATA1" is a valid ASM disk
    Disk "DISKGROUP" is a valid ASM disk
    Disk "DISKDATA3" is a valid ASM disk
    Disk "DISKDATA2" is a valid ASM disk
    Disk "DISKDATA1" is a valid ASM disk
    Creating /dev/oracleasm mount point: /dev/oracleasm
    Loading module "oracleasm": oracleasm
    Mounting ASMlib driver filesystem: /dev/oracleasm
    Reloading disk partitions: done
    Cleaning any stale ASM disks...
    Scanning system for ASM disks...
    Disk "DISKGROUP" does not exist or is not instantiated
    Instantiating disk "DISKGROUP"
    Disk "DISKDATA3" does not exist or is not instantiated
    Instantiating disk "DISKDATA3"
    Disk "DISKDATA2" does not exist or is not instantiated
    Instantiating disk "DISKDATA2"
    Disk "DISKDATA1" does not exist or is not instantiated
    Instantiating disk "DISKDATA1"
    Disk "DISKGROUP" is a valid ASM disk
    Disk "DISKDATA3" is a valid ASM disk
    Disk "DISKDATA2" is a valid ASM disk
    Disk "DISKDATA1" is a valid ASM disk
    Cleaning any stale ASM disks...
    Validating disk "DISKDATA1"
    Validating disk "DISKDATA2"
    Validating disk "DISKDATA3"
    Validating disk "DISKGROUP"
    Unmounting ASMlib driver filesystem: /dev/oracleasm
    Unloading module "oracleasm": oraclea
    oracleasm日志正常。
    2.使用oracleasm查看磁盘
    sjzxdb1:/etc/init.d # ./oracleasm listdisks
    DISKDATA1
    DISKDATA2
    DISKDATA3
    DISKGROUP
    sjzxdb1:/etc/init.d # ./oracleasm scandisks
    Scanning the system for Oracle ASMLib disks: done
    sjzxdb1:/etc/init.d #

    sjzxdb1:/etc/init.d # ./oracleasm querydisk -p -d DISKDATA1
    Disk "DISKDATA1" is a valid ASM disk on device [8, 145]
    /dev/sdj1: LABEL="DISKDATA1" TYPE="oracleasm"
    /dev/sdt1: LABEL="DISKDATA1" TYPE="oracleasm"
    asm磁盘正常,由此判断故障和磁盘无关,和asm也无关,应该是裸设备的关系,不过查看rawdevice和udev相关文件,一直找不到相关的配置文件,疑惑。。。继续查找相关配置
    3.管理员提醒操作系统是suse,是不是和操作系统的绑定裸设备有方法有关系
    oracle@sjzxdb1:/tmp> lsb_release -a
    LSB Version: core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-amd64:desktop-3.1-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch
    Distributor ID: SUSE LINUX
    Description: SUSE Linux Enterprise Server 10 (x86_64)
    Release: 10
    Codename: n/a
    oracle@sjzxdb1:/tmp>

    查找相关资料,果然不一样,suse下裸设备配置文件如下:

    sjzxdb2:/etc/udev/rules.d # vi /etc/raw
    # /etc/raw
    #
    # sample configuration to bind raw devices
    # to block devices
    #
    # The format of this file is:
    # raw<N>:<blockdev>
    #
    # example:
    # ---------
    # raw1:hdb1
    #
    # this means: bind /dev/raw/raw1 to /dev/hdb1
    #
    # ...
    raw1:sdb1
    raw2:sdc1
    raw3:sdd1
    raw4:sde1
    raw5:sdf1
    raw6:sdg1
    raw7:sdi1
    raw8:sdj1

    查看查看/dev/raw没有信息,节点2有。更加确定是裸设备绑定有问题了

    启动裸设备服务
    sjzxdb1:/dev/oracleasm/disks # rcraw start
    bind /dev/raw/raw1 to /dev/sdb1... done
    bind /dev/raw/raw2 to /dev/sdc1... done
    bind /dev/raw/raw3 to /dev/sdd1... done
    bind /dev/raw/raw4 to /dev/sde1... done
    bind /dev/raw/raw5 to /dev/sdf1... done
    bind /dev/raw/raw6 to /dev/sdg1... done
    bind /dev/raw/raw7 to /dev/sdi1... done
    bind /dev/raw/raw8 to /dev/sdj1... done
    设为自动系统
    oracle@sjzxdb1:~> chkconfig raw on
    一直没用过suse linux,以为要么用rawdevice,要么用udev,查找裸设备配置文件一直找不到,没想到真的是因为操作系统绑定裸设备的方式不一样。

  • 相关阅读:
    数据库操作类
    并查集的使用
    简单的图片识别,源代码
    Sql Server清理缓存代码
    京东商城商品价格获取方法
    【转】 SEO的含义与意义
    隐藏控制台窗口的方法
    MySQL存储过程详解
    常见电商B2C网站购物车的设计
    UML建模之业务处理模型(Business Process Model,BPM)
  • 原文地址:https://www.cnblogs.com/datalife/p/5147565.html
Copyright © 2020-2023  润新知