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
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值