主页 > 知识库 > 数据库 > Oracle >

Oracle使用raw via lvm

来源:中国IT实验室 作者:佚名 发表于:2013-04-19 11:41  点击:
Oracle使用raw via lvm 早上为另外一个公司的一个生产库处理raw使用的问题,现场人员说要把新的lvm的空间给oracle使用,已经化 好lv了,也绑定了映射,但是一直看不到raw;检查了下相关绑定规则参数,而且已经有在使用的规则绑定,他只是copy了新的规则并稍
  • Oracle使用raw via lvm
     
    早上为另外一个公司的一个生产库处理raw使用的问题,现场人员说要把新的lvm的空间给oracle使用,已经化 好lv了,也绑定了映射,但是一直看不到raw;检查了下相关绑定规则参数,而且已经有在使用的规则绑定,他只是copy了新的规则并稍作修改,但是就是 不生效。以下是测试过程。 
    [root@o564gtser1 ~]# fdisk -l Disk /dev/sdd  
      
    Disk /dev/sdd: 524 MB, 524288000 bytes  
    255 heads, 63 sectors/track, 63 cylinders  
    Units = cylinders of 16065 * 512 = 8225280 bytes  
      
    Disk /dev/sdd doesn't contain a valid partition table  
    [root@o564gtser1 ~]# fdisk /dev/sdd  
    Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel  
    Building a new DOS disklabel. Changes will remain in memory only,  
    until you decide to write them. After that, of course, the previous  
    content won't be recoverable.  
      
    Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)  
      
    Command (m for help): n  
    Command action  
       e   extended  
       p   primary partition (1-4)  
    p  
    Partition number (1-4): 1  
    First cylinder (1-63, default 1):   
    Using default value 1  
    Last cylinder or +size or +sizeM or +sizeK (1-63, default 63):   
    Using default value 63  
      
    Command (m for help): w  
    The partition table has been altered!  
      
    Calling ioctl() to re-read partition table.  
    Syncing disks.  
    [root@o564gtser1 ~]# pvcreate /dev/sdd1  
      Physical volume "/dev/sdd1" successfully created       
    [root@o564gtser1 ~]# pvs  
      PV         VG   Fmt  Attr PSize   PFree    
      /dev/sdd1       lvm2 a-   494.16M 494.16M  
    [root@o564gtser1 ~]# pvdisplay   
      "/dev/sdd1" is a new physical volume of "494.16 MB"  
      --- NEW Physical volume ---  
      PV Name               /dev/sdd1  
      VG Name                 
      PV Size               494.16 MB  
      Allocatable           NO  
      PE Size (KByte)       0  
      Total PE              0  
      Free PE               0  
      Allocated PE          0  
      PV UUID               bgfuhw-eOve-5n87-gKoV-ApCh-GDuv-0WKzJ3  
         
    [root@o564gtser1 ~]# vgcreate oravg /dev/sdd1  
      Volume group "oravg" successfully created  
    [root@o564gtser1 ~]# vgs  
      VG    #PV #LV #SN Attr   VSize   VFree    
      oravg   1   0   0 wz--n- 492.00M 492.00M  
    [root@o564gtser1 ~]# vgdisplay   
      --- Volume group ---  
      VG Name               oravg  
      System ID               
      Format                lvm2  
      Metadata Areas        1  
      Metadata Sequence No  1  
      VG Access             read/write  
      VG Status             resizable  
      MAX LV                0  
      Cur LV                0  
      Open LV               0  
      Max PV                0  
      Cur PV                1  
      Act PV                1  
      VG Size               492.00 MB  
      PE Size               4.00 MB  
      Total PE              123  
      Alloc PE / Size       0 / 0     
      Free  PE / Size       123 / 492.00 MB  
      VG UUID               6KYQkB-3W81-fMAa-vBJ0-9UXk-jaRd-XRMOUQ  
         
    [root@o564gtser1 ~]# vgs oravg  
      VG    #PV #LV #SN Attr   VSize   VFree    
      oravg   1   0   0 wz--n- 492.00M 492.00M  
    [root@o564gtser1 ~]# vgdisplay oravg  
      --- Volume group ---  
      VG Name               oravg  
      System ID               
      Format                lvm2  
      Metadata Areas        1  
      Metadata Sequence No  1  
      VG Access             read/write  
      VG Status             resizable  
      MAX LV                0  
      Cur LV                0  
      Open LV               0  
      Max PV                0  
      Cur PV                1  
      Act PV                1  
      VG Size               492.00 MB  
      PE Size               4.00 MB  
      Total PE              123  
      Alloc PE / Size       0 / 0     
      Free  PE / Size       123 / 492.00 MB  
      VG UUID               6KYQkB-3W81-fMAa-vBJ0-9UXk-jaRd-XRMOUQ  
         
    [root@o564gtser1 ~]# pvs  
      PV         VG    Fmt  Attr PSize   PFree    
      /dev/sdd1  oravg lvm2 a-   492.00M 492.00M  
    [root@o564gtser1 ~]# lvcreate -L200MB -n oralv1 oravg  
      Logical volume "oralv1" created  
    [root@o564gtser1 ~]# lvcreate -L200MB -n oralv2 oravg  
      Logical volume "oralv2" created  
    [root@o564gtser1 ~]# vgdisplay -v  
        Finding all volume groups  
        Finding volume group "oravg"  
      --- Volume group ---  
      VG Name               oravg  
      System ID               
      Format                lvm2  
      Metadata Areas        1  
      Metadata Sequence No  3  
      VG Access             read/write  
      VG Status             resizable  
      MAX LV                0  
      Cur LV                2  
      Open LV               0  
      Max PV                0  
      Cur PV                1  
      Act PV                1  
      VG Size               492.00 MB  
      PE Size               4.00 MB  
      Total PE              123  
      Alloc PE / Size       100 / 400.00 MB  
      Free  PE / Size       23 / 92.00 MB  
      VG UUID               6KYQkB-3W81-fMAa-vBJ0-9UXk-jaRd-XRMOUQ  
         
      --- Logical volume ---  
      LV Name                /dev/oravg/oralv1  
      VG Name                oravg  
      LV UUID                p5LNXk-X32Y-hAV7-sZQZ-7SId-OOPp-7QCpFK  
      LV Write Access        read/write  
      LV Status              available  
      # open                 0  
      LV Size                200.00 MB  
      Current LE             50  
      Segments               1  
      Allocation             inherit  
      Read ahead sectors     auto  
      - currently set to     256  
      Block device           253:0  
         
      --- Logical volume ---  
      LV Name                /dev/oravg/oralv2  
      VG Name                oravg  
      LV UUID                7gFlM5-miH2-ARpg-1LTc-FQb5-zQX6-Hk0d5u  
      LV Write Access        read/write  
      LV Status              available  
      # open                 0  
      LV Size                200.00 MB  
      Current LE             50  
      Segments               1  
      Allocation             inherit  
      Read ahead sectors     auto  
      - currently set to     256  
      Block device           253:1  
         
      --- Physical volumes ---  
      PV Name               /dev/sdd1       
      PV UUID               bgfuhw-eOve-5n87-gKoV-ApCh-GDuv-0WKzJ3  
      PV Status             allocatable  
      Total PE / Free PE    123 / 23  
      
    [root@o564gtser1 ~]#  ls -lL /dev/oravg/oralv*  
    brw-rw---- 1 root disk 253, 0 04-18 12:27 /dev/oravg/oralv1  
    brw-rw---- 1 root disk 253, 1 04-18 12:27 /dev/oravg/oralv2  
    [root@o564gtser1 ~]# ls /dev/mapper/* -l  
    crw------- 1 root root  10, 62 04-18 12:20 /dev/mapper/control  
    brw-rw---- 1 root disk 253,  0 04-18 12:27 /dev/mapper/oravg-oralv1  
    brw-rw---- 1 root disk 253,  1 04-18 12:27 /dev/mapper/oravg-oralv2   
    [root@o564gtser1 ~]# vi /etc/udev/rules.d/60-raw.rules  
    # Enter raw device bindings here.  
    #  
    # An example would be:  
    #   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"  
    # to bind /dev/raw/raw1 to /dev/sda, or  
    #   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"  
    # to bind /dev/raw/raw2 to the device with major 8, minor 1.  
    "/etc/udev/rules.d/60-raw.rules" 11L, 472C written  
      
    [root@o564gtser1 ~]# cat /etc/udev/rules.d/60-raw.rules  
    # Enter raw device bindings here.  
    #  
    # An example would be:  
    #   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"  
    # to bind /dev/raw/raw1 to /dev/sda, or  
    #   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"  
    # to bind /dev/raw/raw2 to the device with major 8, minor 1.  
      
      
    ACTION=="add", KERNEL=="/dev/oravg/oralv1", RUN+="/bin/raw /dev/raw/raw3 %N"  
    ACTION=="add", KERNEL=="/dev/oravg/oralv2", RUN+="/bin/raw /dev/raw/raw4 %N"  
    KERNEL=="raw[3-4]", OWNER="oracle", GROUP="oinstall", MODE="640"  
    [root@o564gtser1 ~]# start_udev  
    启动 udev:                                                [确定]  
    [root@o564gtser1 ~]# raw -aq  
    /dev/raw/raw1:  bound to major 8, minor 16  
    /dev/raw/raw2:  bound to major 8, minor 32  
    重启os,还是无效看不到raw3和raw4.  
    [root@o564gtser1 ~]# cat /etc/udev/rules.d/60-raw.rules  
    # Enter raw device bindings here.  
    #  
    # An example would be:  
    #   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"  
    # to bind /dev/raw/raw1 to /dev/sda, or  
    #   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"  
    # to bind /dev/raw/raw2 to the device with major 8, minor 1.  
      
      
    ACTION=="add", KERNEL=="/dev/oravg/oralv1", RUN+="/bin/raw /dev/raw/raw3 %N"  
    ACTION=="add", KERNEL=="/dev/oravg/oralv2", RUN+="/bin/raw /dev/raw/raw4 %N"  
    ACTION=="add", ENV{MAJOR}=="253", ENV{MINOR}=="0", RUN+="/bin/raw /dev/raw/raw3 %M %m"  
    ACTION=="add", ENV{MAJOR}=="253", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw4 %M %m"  
    KERNEL=="raw[3-4]", OWNER="oracle", GROUP="oinstall", MODE="640"  
    重启os,还是无效看不到raw3和raw4.  
    [root@o564gtser1 ~]# cat /etc/udev/rules.d/60-raw.rules  
    # Enter raw device bindings here.  
    #  
    # An example would be:  
    #   ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"  
    # to bind /dev/raw/raw1 to /dev/sda, or  
    #   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"  
    # to bind /dev/raw/raw2 to the device with major 8, minor 1.  
      
      
    ACTION=="add", KERNEL=="/dev/mapper/oravg-oralv1", RUN+="/bin/raw /dev/raw/raw3 %N"  
    ACTION=="add", KERNEL=="/dev/mapper/oravg-oralv2", RUN+="/bin/raw /dev/raw/raw4 %N"  
    #ACTION=="add", ENV{MAJOR}=="253", ENV{MINOR}=="0", RUN+="/bin/raw /dev/raw/raw3 %M %m"  
    #ACTION=="add", ENV{MAJOR}=="253", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw4 %M %m"  
    KERNEL=="raw[3-4]", OWNER="oracle", GROUP="oinstall", MODE="640"  
    重启os,还是无效看不到raw3和raw4.  
    使用手工测试了下发现是可以的:  
    [root@o564gtser1 ~]# /bin/raw /dev/raw/raw3 /dev/mapper/oravg-oralv1   
    /dev/raw/raw3:  bound to major 253, minor 0  
    [root@o564gtser1 ~]# /bin/raw /dev/raw/raw4 /dev/mapper/oravg-oralv2   
    /dev/raw/raw4:  bound to major 253, minor 1  
    [root@o564gtser1 ~]# raw -qa        
    /dev/raw/raw1:  bound to major 8, minor 16  
    /dev/raw/raw2:  bound to major 8, minor 32  
    /dev/raw/raw3:  bound to major 253, minor 0  
    /dev/raw/raw4:  bound to major 253, minor 1  
    [root@o564gtser1 ~]# ll /dev/raw/*  
    crw-r----- 1 oracle oinstall 162, 1 04-18 13:03 /dev/raw/raw1  
    crw-r----- 1 oracle oinstall 162, 2 04-18 13:03 /dev/raw/raw2  
    crw-r----- 1 oracle oinstall 162, 3 04-18 13:09 /dev/raw/raw3  
    crw-r----- 1 oracle oinstall 162, 4 04-18 13:10 /dev/raw/raw4  
    只好将上述两行命令写入/etc/rc.d/rc.local :  
    #add by gtlions test for lvm used in oracle  
    /bin/raw /dev/raw/raw3 /dev/mapper/oravg-oralv1  
    /bin/raw /dev/raw/raw4 /dev/mapper/oravg-oralv2  
    chown oracle:oinstall /dev/raw/raw3  
    chown oracle:oinstall /dev/raw/raw4  
    chmod 640 /dev/raw/raw3  
    chmod 640 /dev/raw/raw4  
    并删除/etc/udev/rules.d/60-raw.rules内的原来设置的内容即可。  
    这样就可以在Oracle中使用了:  
    [oracle@o564gtser1 ~]$ sqlplus "/as sysdba"  
      
    SQL*Plus: Release 10.2.0.5.0 - Production on Thu Apr 18 13:25:48 2013  
      
    Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.  
      
    Connected to an idle instance.  
      
    SQL> startup  
    ORACLE instance started.  
      
    Total System Global Area  281018368 bytes  
    Fixed Size                  2095672 bytes  
    Variable Size              96470472 bytes  
    Database Buffers          176160768 bytes  
    Redo Buffers                6291456 bytes  
    Database mounted.  
    Database opened.  
    SQL> select file_name from dba_data_files;  
      
    FILE_NAME  
    --------------------------------------------------------------------------------  
    +DATA01/gt10g/datafile/system.260.812537713  
    +DATA01/gt10g/datafile/undotbs1.261.812537743  
    +DATA01/gt10g/datafile/sysaux.262.812537763  
    +DATA01/gt10g/datafile/users.264.812537785  
    SQL> create tablespace test datafile '/dev/raw/raw3' size 190m autoextend off;  
      
    Tablespace created.  
      
    SQL> select file_name from dba_data_files;  
      
    FILE_NAME  
    --------------------------------------------------------------------------------  
    +DATA01/gt10g/datafile/system.260.812537713  
    +DATA01/gt10g/datafile/undotbs1.261.812537743  
    +DATA01/gt10g/datafile/sysaux.262.812537763  
    +DATA01/gt10g/datafile/users.264.812537785  
    /dev/raw/raw3  
    看来是要直接写入到/etc/rc.d/rc.local。  
     
    -EOF-

    有帮助
    (0)
    0%
    没帮助
    (0)
    0%