早上为另外一个公司的一个生产库处理raw使用的问题,现场人员说要把新的lvm的空间给Oracle使用,已经化好lv了,也绑定了映射,但是一直看不到raw;检查了下相关绑定规则参数,而且已经有在使用的规则绑定,他只是copy了新的规则并稍作修改,但是就是不生效。以下是测试过程。[root@o564gtser1 ~]# fdisk -l Disk /dev/sddDisk /dev/sdd: 524 MB, 524288000 bytes
255 heads, 63 sectors/track, 63 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytesDisk /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 63Command (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 2013Copyright (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。更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12MySQL下添加用户以及给予权限的实现MySQL Slave relay_log损坏修复相关资讯 Oracle raw
- Oracle raw数据类型介绍 (01/29/2013 10:05:53)
本文评论 查看全部评论 (0)