---------------------------------------------------------------
参考文档:
http://space.itpub.net/519536/viewspace-557694
http://www.lupaworld.com/home-space-do-blog-uid-26777-id-214009.html
使用 VMware Server 在 Oracle Enterprise Linux 上安装 Oracle RAC 10g
LVM原理及PV、VG、LV、PE、LE关系图
http://hi.baidu.com/suofang/blog/item/02ce933dd837b614bba1676c.html
http://blog.csdn.net/tianlesoftware/article/details/5796962#comments
---------------------------------------------------------------
http://wenku.baidu.com/view/6e279dfaaef8941ea76e0521.html
iMB环境: Linux AS 4.0 , 2.6.9-42.ELsmp
Oracle9i Enterprise Edition Release 9.2.0.4.0 - 64bit
1. 存储管理基本知识
PV(物理卷): 可以是单独磁盘也可以是逻辑上的集合比如/dev/sda1 .
VG/PE(卷组): 卷组的基本单位是PE .
LV/LE: 在卷组中创建逻辑卷,逻辑卷的基本单位是LE .
2. 使用裸设备 - 实战
系统重新启动后raw的属组会改变,所以需要修改以下文件的内容:
imbsmt1$pwd
/etc/udev/permissions.d
imbsmt1$vi 50-udev.permissions
# raw devices
ram*:root:disk:0660
# raw/*:root:disk:0660
raw/*:oracle:dba:0660
备注:
修改 /etc/udev/permissions.d/50-udev.permissions。原始设备在引导时会重新映射。
默认情况下,在引导时原始设备的拥有者将更改为root用户。如果拥有者不是 oracle
用户,则Oracle在访问共享磁盘分区时会出现问题。
在 /etc/udev/permissions.d/50-udev.permissions 中为原始行“raw/*:root:disk:0660”
添加注释,然后添加一个新行“raw/*:oracle:dba:0660” (如上)。
3. 磁盘分区创建PV
#fdisk /dev/sdb 划分好分区后:
在分区的基础上创建物理卷PV
# pvcreate /dev/sdb1 /dev/sdb2
4. 创建VG
在PV的基础上创建卷组,语法:vgcreate vgname pvname .
[root@pridb dev]# vgcreate datavg /dev/sdb1 /dev/sdb2
Volume group "datavg" successfully created
4. 创建LV
在VG中创建逻辑卷,语法: lvcreate -n lvname -L size vgname .
lvcreate -n system -L 800m datavg
lvcreate -n sysaux -L 700m datavg
lvcreate -n users -L 50m datavg
lvcreate -n undotbs1 -L 2000m datavg
lvcreate -n temp -L 2000m datavg
lvcreate -n spfile -L 10m datavg
lvcreate -n control1 -L 100m datavg
lvcreate -n control2 -L 100m datavg
lvcreate -n control3 -L 100m datavg
lvcreate -n redo1 -L 50m datavg
lvcreate -n redo2 -L 50m datavg
lvcreate -n redo3 -L 50m datavg
创建完成后,可以在 /dev/datavg及/dev/mapper 下看到新创建的lv信息。
备注: 删除lv的命令类似
# lvremove /dev/datavg/sysaux
5. 创建裸设备(可以写在shell脚本中批量执行)
备注: raw命令为
# raw /dev/raw/raw1 /dev/mapper/datavg-control1
# raw /dev/raw/raw2 /dev/mapper/datavg-control2
# raw /dev/raw/raw3 /dev/mapper/datavg-control3
# raw /dev/raw/raw4 /dev/mapper/datavg-redo1
# raw /dev/raw/raw5 /dev/mapper/datavg-redo2
# raw /dev/raw/raw6 /dev/mapper/datavg-redo3
# raw /dev/raw/raw7 /dev/mapper/datavg-spfile
# raw /dev/raw/raw8 /dev/mapper/datavg-sysaux
# raw /dev/raw/raw9 /dev/mapper/datavg-system
# raw /dev/raw/raw10 /dev/mapper/datavg-temp
# raw /dev/raw/raw11 /dev/mapper/datavg-undotbs1
# raw /dev/raw/raw12 /dev/mapper/datavg-users
备注: 如果想删除创建的raw, 可以 # raw /dev/rawxx
5. 系统重启自动挂载raw
修改/etc/sysconfig/rawdevices 文件,使系统重启后可自动挂载裸设备。
/dev/raw/raw1 /dev/mapper/datavg-control1
/dev/raw/raw2 /dev/mapper/datavg-control2
....
6. 修改raw的权限
在linux中,会在/dev下存在3个目录:
a. /dev/raw 裸设备目录
b. /dev/mapper/ 裸设备对应的块设备目录
c. /dev/datavg/ 裸设备和块设备的链接文件目录
修改以上3个目录的权限后,Oracle才能使用。 因为上面已经设置了
raw/*:oracle:dba:0660 ,此处就不需要执行了。 但如果权限不正确,
可以将 /dev/raw下的裸设备文件属组修改为oracle的,其他两个目录
可以不做修改。
7. 创建Oracle数据文件
创建oracle的数据文件和参数文件,软连接文件,对应到每一个裸设备文件,编辑
oracle逻辑文件名与raw的映射文件, 批量处理。
# ln -s /dev/raw/raw1 /u01/app/oracle/oradata/orcl/control1.ctl
# ln -s /dev/raw/raw2 /u01/app/oracle/oradata/orcl/control2.ctl
# ln -s /dev/raw/raw3 /u01/app/oracle/oradata/orcl/control3.ctl
# ln -s /dev/raw/raw4 /u01/app/oracle/oradata/orcl/redo1.ctl
# ln -s /dev/raw/raw5 /u01/app/oracle/oradata/orcl/redo2.ctl
# ln -s /dev/raw/raw6 /u01/app/oracle/oradata/orcl/redo3.ctl
# ln -s /dev/raw/raw7 /u01/app/oracle/oradata/orcl/system.ctl
# ln -s /dev/raw/raw8 /u01/app/oracle/oradata/orcl/sysaux.ctl
......
iMB 相关信息:
-------------------------------------------------------------------------------------------
imbsmt1$cat rc.local | more
#!/bin/sh
#
# This script. will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style. init stuff.
touch /var/lock/subsys/local
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.160.16.1 dev eth0
/usr/sbin/ntpdate -us 10.161.8.200;hwclock -w
vgscan ---- 扫描并显示系统中的卷组
vgchange -a y ---- 激活VG
/usr/bin/raw /dev/raw/raw1 /dev/pv/lvol1
/usr/bin/raw /dev/raw/raw2 /dev/pv/lvol2
/usr/bin/raw /dev/raw/raw3 /dev/pv/lvol3
/usr/bin/raw /dev/raw/raw4 /dev/pv/lvol4
/usr/bin/raw /dev/raw/raw5 /dev/pv/lvol5
/usr/bin/raw /dev/raw/raw6 /dev/pv/lvol6
/usr/bin/raw /dev/raw/raw7 /dev/pv/lvol7
/bin/chmod 600 /dev/raw/raw1
/bin/chmod 600 /dev/raw/raw2
/bin/chmod 600 /dev/raw/raw3
/bin/chmod 600 /dev/raw/raw4
/bin/chmod 600 /dev/raw/raw5
/bin/chmod 600 /dev/raw/raw6
/bin/chmod 600 /dev/raw/raw7
/bin/chown oracle.dba /dev/raw/raw1
/bin/chown oracle.dba /dev/raw/raw2
/bin/chown oracle.dba /dev/raw/raw3
/bin/chown oracle.dba /dev/raw/raw4
/bin/chown oracle.dba /dev/raw/raw5
/bin/chown oracle.dba /dev/raw/raw6
/bin/chown oracle.dba /dev/raw/raw7
ln -s /dev/raw/raw1 /opt/oracle/oradata/smt/CMQuorumFile
ln -s /dev/raw/raw2 /opt/oracle/oradata/smt/SharedSrvctlConfigFile
ln -s /dev/raw/raw3 /opt/oracle/oradata/smt/spfilesmt.ora
ln -s /dev/raw/raw4 /opt/oracle/oradata/smt/control01.ctl
ln -s /dev/raw/raw5 /opt/oracle/oradata/smt/control02.ctl
ln -s /dev/raw/raw6 /opt/oracle/oradata/smt/control03.ctl
ln -s /dev/raw/raw7 /opt/oracle/oradata/smt/indx01.dbf
ln -s /dev/raw/raw8 /opt/oracle/oradata/smt/system01.dbf
ln -s /dev/raw/raw9 /opt/oracle/oradata/smt/temp01.dbf
ln -s /dev/raw/raw10 /opt/oracle/oradata/smt/tools01.dbf
ln -s /dev/raw/raw11 /opt/oracle/oradata/smt/undotbs01.dbf
ln -s /dev/raw/raw12 /opt/oracle/oradata/smt/undotbs02.dbf
ln -s /dev/raw/raw13 /opt/oracle/oradata/smt/undotbs03.dbf
ln -s /dev/raw/raw14 /opt/oracle/oradata/smt/users01.dbf
ln -s /dev/raw/raw15 /opt/oracle/oradata/smt/xdb01.dbf
ln -s /dev/raw/raw16 /opt/oracle/oradata/smt/perfstat01.dbf
ln -s /dev/raw/raw17 /opt/oracle/oradata/smt/cwmlite01.dbf
ln -s /dev/raw/raw18 /opt/oracle/oradata/smt/example01.dbf
ln -s /dev/raw/raw19 /opt/oracle/oradata/smt/drsys01.dbf
ln -s /dev/raw/raw20 /opt/oracle/oradata/smt/odm01.dbf
ln -s /dev/raw/raw21 /opt/oracle/oradata/smt/redo01.log
ln -s /dev/raw/raw22 /opt/oracle/oradata/smt/redo02.log
ln -s /dev/raw/raw23 /opt/oracle/oradata/smt/redo03.log
ln -s /dev/raw/raw24 /opt/oracle/oradata/smt/smt_redo2_2.log
ln -s /dev/raw/raw25 /opt/oracle/oradata/smt/I_SWDL_DATA_01.dbf
ln -s /dev/raw/raw27 /opt/oracle/oradata/smt/D_SWDL_DATA_01.dbf
ln -s /dev/raw/raw28 /opt/oracle/oradata/smt/D_SFIS1_DATA_01a.dbf
ln -s /dev/raw/raw29 /opt/oracle/oradata/smt/D_SFISM4_DATA_01a.dbf
ln -s /dev/raw/raw30 /opt/oracle/oradata/smt/D_SFISM4_DATA_02a.dbf
ln -s /dev/raw/raw31 /opt/oracle/oradata/smt/D_SFISM4_DATA_01b.dbf
ln -s /dev/raw/raw32 /opt/oracle/oradata/smt/D_SMT_SCANDATA_DATA.dbf
ln -s /dev/raw/raw33 /opt/oracle/oradata/smt/D_SNDETAIL_DATA_01a.dbf
ln -s /dev/raw/raw34 /opt/oracle/oradata/smt/D_SNDETAIL_DATA_02a.dbf
ln -s /dev/raw/raw35 /opt/oracle/oradata/smt/D_SNDETAIL_DATA_02b.dbf
ln -s /dev/raw/raw36 /opt/oracle/oradata/smt/D_SNDETAIL_DATA_03a.dbf
ln -s /dev/raw/raw37 /opt/oracle/oradata/smt/D_SNDETAIL_DATA_04a.dbf
ln -s /dev/raw/raw38 /opt/oracle/oradata/smt/D_SNDETAIL_DATA_05a.dbf
ln -s /dev/raw/raw39 /opt/oracle/oradata/smt/D_SNDETAIL_DATA_06a.dbf
ln -s /dev/raw/raw40 /opt/oracle/oradata/smt/D_SNDETAIL_DATA_07a.dbf
ln -s /dev/raw/raw41 /opt/oracle/oradata/smt/D_TEST_DATA_01a.dbf
ln -s /dev/raw/raw42 /opt/oracle/oradata/smt/D_WIPTRACKING_DATA_01a.dbf
ln -s /dev/raw/raw43 /opt/oracle/oradata/smt/I_SFIS1_DATA_01a.dbf
ln -s /dev/raw/raw44 /opt/oracle/oradata/smt/I_SFISM4_DATA_01a.dbf
ln -s /dev/raw/raw45 /opt/oracle/oradata/smt/I_SMT_SCANDATA.dbf
ln -s /dev/raw/raw46 /opt/oracle/oradata/smt/I_SNDETAIL_DATA_01a.dbf
ln -s /dev/raw/raw47 /opt/oracle/oradata/smt/I_SNDETAIL_DATA_01b.dbf
ln -s /dev/raw/raw49 /opt/oracle/oradata/smt/I_WIPTRACKING_DATA_01a.dbf
ln -s /dev/raw/raw56 /opt/oracle/oradata/smt/AGAENT_DATA.dbf
ln -s /dev/raw/raw57 /opt/oracle/oradata/smt/AGAENT_INDEX.dbf
ln -s /dev/raw/raw58 /opt/oracle/oradata/smt/smt_redo1_3.log
ln -s /dev/raw/raw59 /opt/oracle/oradata/smt/smt_redo2_3.log
chown -R oracle.dba /opt/oracle/oradata
. ~oracle/.bash_profile
rm -rf $ORACLE_HOME/oracm/log/*.ts
$ORACLE_HOME/oracm/bin/ocmstart.sh
su - oracle -c "gsdctl start"
#set oracle environment
ORACLE_HOME=/opt/oracle/product/9.2.0;export ORACLE_HOME
ORACLE_SID=smt1; export ORACLE_SID
su oracle -c "/opt/oracle/product/9.2.0/bin/sqlplus /nolog <connect / as sysdba
startup;
exit
EOF"
su oracle -c "/opt/oracle/product/9.2.0/bin/lsnrctl <start
exit
EOF"
imbsmt1$ls
raw1 raw14 raw19 raw23 raw28 raw32 raw37 raw41 raw46 raw50 raw55 raw6 raw64 raw69
raw10 raw15 raw2 raw24 raw29 raw33 raw38 raw42 raw47 raw51 raw56 raw60 raw65 raw7
raw11 raw16 raw20 raw25 raw3 raw34 raw39 raw43 raw48 raw52 raw57 raw61 raw66 raw8
raw12 raw17 raw21 raw26 raw30 raw35 raw4 raw44 raw49 raw53 raw58 raw62 raw67 raw9
raw13 raw18 raw22 raw27 raw31 raw36 raw40 raw45 raw5 raw54 raw59 raw63 raw68
imbsmt1$ls -alhrt
total 0
crw------- 1 oracle dba 162, 1 Oct 1 16:46 raw1
crw------- 1 oracle dba 162, 2 Oct 1 16:46 raw2
crw------- 1 oracle dba 162, 3 Oct 1 16:46 raw3
crw------- 1 oracle dba 162, 4 Oct 1 16:46 raw4
crw------- 1 oracle dba 162, 5 Oct 1 16:46 raw5
crw------- 1 oracle dba 162, 7 Oct 1 16:46 raw7
crw------- 1 oracle dba 162, 8 Oct 1 16:46 raw8
crw------- 1 oracle dba 162, 6 Oct 1 16:46 raw6
crw------- 1 oracle dba 162, 9 Oct 1 16:46 raw9
crw------- 1 oracle dba 162, 10 Oct 1 16:46 raw10
crw------- 1 oracle dba 162, 11 Oct 1 16:46 raw11
drwxr-xr-x 2 root root 1.4K Oct 1 16:46 .
drwxr-xr-x 12 root root 6.0K Oct 1 16:46 ..
imbsmt1$ls
control pv-lvol15 pv-lvol22 pv-lvol3 pv-lvol37 pv-lvol44 pv-lvol51 pv-lvol59 pv-lvol66
pv-lvol0 pv-lvol16 pv-lvol23 pv-lvol30 pv-lvol38 pv-lvol45 pv-lvol52 pv-lvol6 pv-lvol67
pv-lvol1 pv-lvol17 pv-lvol24 pv-lvol31 pv-lvol39 pv-lvol46 pv-lvol53 pv-lvol60 pv-lvol68
pv-lvol10 pv-lvol18 pv-lvol25 pv-lvol32 pv-lvol4 pv-lvol47 pv-lvol54 pv-lvol61 pv-lvol69
pv-lvol11 pv-lvol19 pv-lvol26 pv-lvol33 pv-lvol40 pv-lvol48 pv-lvol55 pv-lvol62 pv-lvol7
pv-lvol12 pv-lvol2 pv-lvol27 pv-lvol34 pv-lvol41 pv-lvol49 pv-lvol56 pv-lvol63 pv-lvol8
pv-lvol13 pv-lvol20 pv-lvol28 pv-lvol35 pv-lvol42 pv-lvol5 pv-lvol57 pv-lvol64 pv-lvol9
pv-lvol14 pv-lvol21 pv-lvol29 pv-lvol36 pv-lvol43 pv-lvol50 pv-lvol58 pv-lvol65
imbsmt1$ls -alh
total 268K
drwxr-xr-x 2 oracle dba 4.0K Jul 30 11:11 .
drwxr-xr-x 3 oracle dba 4.0K Mar 7 2008 ..
lrwxrwxrwx 1 root root 14 Jun 6 2009 AGAENT_DATA.dbf -> /dev/raw/raw56
lrwxrwxrwx 1 root root 14 Jun 6 2009 AGAENT_INDEX.dbf -> /dev/raw/raw57
lrwxrwxrwx 1 root root 13 Mar 7 2008 CMQuorumFile -> /dev/raw/raw1
lrwxrwxrwx 1 root root 13 Mar 7 2008 control01.ctl -> /dev/raw/raw4
lrwxrwxrwx 1 root root 13 Mar 7 2008 control02.ctl -> /dev/raw/raw5
lrwxrwxrwx 1 root root 13 Mar 7 2008 control03.ctl -> /dev/raw/raw6
lrwxrwxrwx 1 root root 14 Mar 7 2008 cwmlite01.dbf -> /dev/raw/raw17
lrwxrwxrwx 1 root root 14 Mar 7 2008 drsys01.dbf -> /dev/raw/raw19
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SFIS1_DATA_01a.dbf -> /dev/raw/raw28
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SFISM4_DATA_01a.dbf -> /dev/raw/raw29
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SFISM4_DATA_01b.dbf -> /dev/raw/raw31
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SFISM4_DATA_02a.dbf -> /dev/raw/raw30
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SMT_SCANDATA_DATA.dbf -> /dev/raw/raw32
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SNDETAIL_DATA_01a.dbf -> /dev/raw/raw33
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SNDETAIL_DATA_02a.dbf -> /dev/raw/raw34
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SNDETAIL_DATA_02b.dbf -> /dev/raw/raw35
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SNDETAIL_DATA_03a.dbf -> /dev/raw/raw36
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SNDETAIL_DATA_04a.dbf -> /dev/raw/raw37
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SNDETAIL_DATA_05a.dbf -> /dev/raw/raw38
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SNDETAIL_DATA_06a.dbf -> /dev/raw/raw39
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SNDETAIL_DATA_07a.dbf -> /dev/raw/raw40
lrwxrwxrwx 1 oracle oinstall 14 Mar 7 2008 D_SWDL_DATA_01.dbf -> /dev/raw/raw27
查看裸设备的大小:
lslv lvsybase_data1
=========================================================================
以下介绍的是基于lvm管理的裸设备文件添加:
pvdisplay查看lvm管理下的物理卷信息:
[root@imbsmt1 ~]# pvdisplay
--- Physical volume ---
PV Name /dev/sda
VG Name pv
PV Size 1.36 TB / not usable 0
Allocatable yes
PE Size (KByte) 128
Total PE 11444067
Free PE 2783619
Allocated PE 8660448
PV UUID wMTPsN-U0bU-N2j0-kz3W-Z4wQ-yEAa-0NkhqU
vgdiplay查看逻辑卷组信息:
[root@imbsmt1 ~]# vgdisplay
--- Volume group ---
VG Name pv
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 75
VG Access read/write
VG Status resizable
MAX LV 256
Cur LV 70
Open LV 42
Max PV 256
Cur PV 1
Act PV 1
VG Size 1.36 TB
PE Size 128.00 KB
Total PE 11444067
Alloc PE / Size 8660448 / 1.03 TB
Free PE / Size 2783619 / 339.80 GB
VG UUID t9Boqe-GNSc-7YLy-T1we-Y1VL-JoEp-iTOaCY
lvdisplay查看已划分的逻辑卷信息:(简单列出三个--换言之,对于数据库文件来说,每个lv对应就是一个数据库文件)
--- Logical volume ---
LV Name /dev/pv/lvol56
VG Name pv
LV UUID Xq8d8e-aFJg-TVtJ-MVQ0-eAwu-ETcW-dpg0sA
LV Write Access read/write
LV Status available
# open 4
LV Size 2.00 GB
Current LE 16384
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:56
--- Logical volume ---
LV Name /dev/pv/lvol67
VG Name pv
LV UUID orTmRc-9unE-QfMs-bjSo-WEW3-sSp5-3dRruq
LV Write Access read/write
LV Status available
# open 0
LV Size 101.00 MB
Current LE 808
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:67
--- Logical volume ---
LV Name /dev/pv/lvol68
VG Name pv
LV UUID jY59yh-AIQe-XvNs-fpQI-loIv-AVcN-7FdgkV
LV Write Access read/write
LV Status available
# open 0
LV Size 101.00 MB
Current LE 808
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:68
--- Logical volume ---
LV Name /dev/pv/lvol69
VG Name pv
LV UUID 8aSHG1-g1yj-rQah-9lbS-2ULi-ecsC-pl8jqw
LV Write Access read/write
LV Status available
# open 0
LV Size 101.00 MB
Current LE 808
Segments 1
Allocation inherit
Read ahead sectors 0
Block device 253:69
如新增文件,则使先用lvcreate在现有的vg里面创建一个名为/dev/pv/lvol70的逻辑卷:
lvcreate -L 2G -n lvol70 pv
接下来就是挂载为以裸设备方式挂载:
/usr/bin/raw /dev/raw/raw70 /dev/pv/lvol70
再通过命令来赋予权限:
/bin/chown oracle.dba /dev/raw/raw70
/bin/chmod 600 /dev/raw/raw70
最后,为了方便查看,可以通过软连接来给予比较直观的数据库文件名称,如:
ln -s /dev/raw/raw70 /opt/oracle/oradata/smt/D_SNDETAIL_DATA_08a.dbf
从挂在到最后的软连接,相关命令都需写到开机文件中rc.local,如:
vgscan
vgchange -a y
/usr/bin/raw /dev/raw/raw70 /dev/pv/lvol70
/bin/chown oracle.dba /dev/raw/raw70
/bin/chmod 600 /dev/raw/raw70
ln -s /dev/raw/raw70 /opt/oracle/oradata/smt/D_SNDETAIL_DATA_08a.dbf
在linux5以上,以上的挂载及授权等信息,可以配置在相应文件中/etc/udev/rules.d/60-raw.rules:
ACTION=="add", KERNEL=="pv/lvol70", RUN+="/bin/raw /dev/raw/raw70 %N"
ACTION=="add", KERNEL=="raw*", WNER=="oracle", GROUP=="dba", MODE=="0600"
linux5以下,则需修改:
修改/etc/sysconfig/rawdevices文件如下,以开机时自动加载裸设备,如:
/dev/raw/raw70 /dev/pv/lovl70
这种方式是通过启动服务的方式来绑定裸设备。
将/etc/udev/permissions.d/50-udev.permissions的113行
从
raw/*:root:disk:0660
修改为
raw/*:oracle:dba:0600
这个的意思是修改裸设备的默认属主为oracle:dba,默认的mode是0600。
对于如何创建PV/VG这些,可参考LVM管理,下面简单提下:
PV(Physical Volume) :物理卷,可以是单独磁盘,也可以是硬盘分区。
VG(Volume Group) :卷组,是PV的组合,可以看成单独的逻辑磁盘。
LV(Logical Volume) :逻辑分区,当于物理分区的/dev/hdaX,只有逻辑卷才可以写数据。
首先需要fdisk建磁盘划分分区 fdisk /dev/sda
再创建pv:
pvcreate /dev/sda1 /dev/sda2......
接着创建VG:(名称为vg0)
vgcreate vg0 /dev/sda1 /dev/sda2
再就是划分LV了:(创建一个名为/dev/vg0/data,大小为1G的逻辑卷)
lvcreate -L 1G -n data vg0
相关命令:
pvcreate (创建物理卷)
pvdisplay (显示物理卷信息)
pvscan (扫描物理卷)
pvmove (转移物理卷资料)
pvmove /dev/hda1 /dev/hda2 (转移/dev/hda1资料到/dev/hda2)
pvmove /dev/hda1 (转到/dev/hda1资料到别的物理卷)
pvremove (删除物理卷)
vgcreate (创建卷组)
vgdisplay (显示卷组信息)
vgscan (扫描卷组)
vgextend (扩展卷组) vgextend vg0 /dev/hda2 (把物理卷/dev/hda2加到vg0卷组中)
vgreduce (删除卷组中的物理卷) vgreduce vg0 /dev/hda2 (把物理卷/dev/hda2从卷组vg0中删除)
vgchange (激活卷组) vgchange -a y vg0 (激活卷组vg0) vgchange -a n vg0 (相反)
vgremove (删除卷组) vgremove vg0 (删除卷组vg0)
lvcreate (创建逻辑卷)
lvdisplay (显示逻辑卷信息)
lvscan (扫描逻辑卷)
lvextend (扩展逻辑卷) lvextend -l +5G /dev/vg0/data (扩展逻辑卷/dev/vg0/data 5个G)
=================================================================================
Š[root@localhost packages]# rpm -ivh glibc-kernheaders-2.4-9.1.100.EL.i386.rpm
warning: glibc-kernheaders-2.4-9.1.100.EL.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:glibc-kernheaders ########################################### [100%]
[root@localhost packages]# rpm -ivh glibc-headers-2.3.4-2.36.i386.rpm
warning: glibc-headers-2.3.4-2.36.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:glibc-headers ########################################### [100%]
[root@localhost packages]# rpm -ivh glibc-devel-2.3.4-2.36.i386.rpm
warning: glibc-devel-2.3.4-2.36.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:glibc-devel ########################################### [100%]
[root@localhost packages]# rpm -ivh compat-gcc-32-3.2.3-47.3.i386.rpm
warning: compat-gcc-32-3.2.3-47.3.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:compat-gcc-32 ########################################### [100%]
[root@localhost packages]#
[root@localhost packages]#
[root@localhost packages]#
[root@localhost packages]# rpm -ivh compat-libstdc++-33-3.2.3-47.3.i386.rpm
warning: compat-libstdc++-33-3.2.3-47.3.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:compat-libstdc++-33 ########################################### [100%]
[root@localhost packages]# rpm -ivh compat-gcc-32-c++-3.2.3-47.3.i386.rpm
warning: compat-gcc-32-c++-3.2.3-47.3.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:compat-gcc-32-c++ ########################################### [100%]
[root@localhost packages]# rpm -ivh compat-libgcc-296-2.96-132.7.2.i386.rpm
warning: compat-libgcc-296-2.96-132.7.2.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:compat-libgcc-296 ########################################### [100%]
[root@localhost packages]# rpm -ivh compat-libstdc++-296-2.96-132.7.2.i386.rpm
warning: compat-libstdc++-296-2.96-132.7.2.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:compat-libstdc++-296 ########################################### [100%]
修改hostanem .
[root@localhost sysconfig]# vi network
NETWORKING=yes
HOSTNAME=rac01
建立oracle組和用戶:
[root@localhost etc]# groupadd dba
[root@localhost etc]# groupadd oper
[root@localhost etc]# useradd -g dba -G oper oracle
[root@localhost etc]# passwd oracle
Changing password for user oracle.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
創建目錄
[root@localhost /]# mkdir -p /u01/product
[root@localhost /]# chown oracle.dba /u01
配置內核參數
[root@localhost etc]# vi sysctl.conf
# Added by DBA for Oracle DB
kernel.shmall = 2097152
kernel.shmmax = 545259520
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
設置ORACLE環境變量 :
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin
BASH_ENV=$HOME/.BASHRC
export BASH_ENV PATH
unset USERNAME
# Set Oracle Environment
ORACLE_HOME=/u01/product/oracle;export ORACLE_HOME
ORACLE_SID=orcl2; export ORACLE_SID
ORACLE_OWNER=oracle;export ORACLE_OWNER
ORACLE_BASE=/u01/product;export ORACLE_BASE
ORACLE_TERM=vt100;export ORACLE_TERM
#NLS_LANG='traditional chinese_taiwan'.ZHT16BIG5;export NLS_LANG
LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH
ORA_CRS_HOME=/u01/product/crs; export ORA_CRS_HOME
set -u
PS1=`hostname`'$';export PS1
EDITOR=/bin/vi; export EDITOR
JAVA_HOME=/usr/local/java;export JAVA_HOME
ORA_NLS33=/u01/product/oracle/ocommon/nls/admin/data;export ORA_NLS33
CLASSPATH=/u01/product/oracle/jdbc/lib/classesl11.zip:/usr/local/java;
export DISPLAY=127.0.0.1:0.0
export LD_ASSUME_KERNEL=2.6.9
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORA_CRS_HOME/bin:$JAVA_HOME/bin:$PATH:.;export PATH
alias ll='ls -l';
alias ls='ls --color';
alias his='history';
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
stty erase ^H
umask 022
設置/etc/hosts
[root@rac01 etc]# vi hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
10.161.34.111 rac01
10.1.1.1 pri01
10.161.32.151 vip01
10.161.34.112 rac02
10.1.1.2 pri02
10.161.32.152 vip02
[root@rac02 ~]# cd /etc/security/
[root@rac02 security]# vi limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
[root@rac01 security]# cd /etc/pam.d/
[root@rac01 pam.d]# vi login
session required pam_limits.so
[root@rac01 etc]# vi grub.conf
加入
selinux=0
两个节点上关闭开机耗时的服务。
[root@rac02 ~]# chkconfig cups off
[root@rac02 ~]# chkconfig sendmail off
[root@rac02 ~]# chkconfig isdn off
[root@rac02 ~]# chkconfig smartd off
[root@rac02 ~]# chkconfig iptables off
建立信任關係
rac01$mkdir .ssh
rac01$chmod 700 .ssh/
rac01$ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
ea:9b:ed:1e:3d:9e:c9:3c:92:6f:b2:1c:ce:d1:5e:b5 oracle@rac01
rac01$ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
78:12:ec:f6:60:24:1a:3a:2a:63:05:67:a1:2a:10:f4 oracle@rac01
rac02$ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_rsa.
Your public key has been saved in /home/oracle/.ssh/id_rsa.pub.
The key fingerprint is:
c3:30:11:b3:13:8e:c7:b7:62:87:0b:1f:e6:ef:4b:1f oracle@rac02
rac02$ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
23:e9:02:32:f5:18:2e:9b:72:50:cf:9e:54:16:26:b9 oracle@rac02
rac01$cd .ssh/
rac01$
rac01$ssh rac01 cat /home/oracle/.ssh/id_rsa.pub >>authorized_keys
The authenticity of host 'rac01 (10.161.34.111)' can't be established.
RSA key fingerprint is 25:a2:67:c5:a6:58:e3:78:34:0e:36:6d:a5:be:6b:a7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac01,10.161.34.111' (RSA) to the list of known hosts.
oracle@rac01's password:
rac01$
rac01$ssh rac01 cat /home/oracle/.ssh/id_dsa.pub >>authorized_keys
rac01$ssh rac02 cat /home/oracle/.ssh/id_rsa.pub >>authorized_keys
The authenticity of host 'rac02 (10.161.34.112)' can't be established.
RSA key fingerprint is 25:a2:67:c5:a6:58:e3:78:34:0e:36:6d:a5:be:6b:a7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'rac02,10.161.34.112' (RSA) to the list of known hosts.
oracle@rac02's password:
rac01$ssh rac02 cat /home/oracle/.ssh/id_dsa.pub >>authorized_keys
oracle@rac02's password:
rac01$scp authorized_keys rac02:/home/oracle/.ssh/
oracle@rac02's password:
authorized_keys 100% 1648 1.6KB/s 00:00
rac01$
rac01$chmod 600 authorized_keys
rac02$chmod 600 authorized_keys
新增加裸設備共享磁盤 :
新增硬件向导:
a. 虚拟设备节点:选择SCSI 1:0。一定要选择跟系统盘不相同的总线,
如系统盘一般是SCSI(0:1),而这些共享盘一定要选择SCSI(1:x)、SCSI(2:x)、
SCSI(3:x);
b. 模式:选择Independent,针对所有共享磁盘选择Persistent。
c. 选择"Allocate all disk space now"
d. 单击 Finish。
为了两个虚拟rac之间的磁盘共享,还需要配置虚拟机文件:
http://xjnobadyit.blog.sohu.com/162291611.html
关闭两个虚拟机 。 到D:\VM\Linux4_TestRawDev,打开Linux4_TestRawDev.vmx ,
在最后空白处添加这几段内容(注意,vmx文件中每行都不能重复,否则会报错,
所以下面的语句行如果已经存在,请不要重复添加) :
scsi1.present = "TRUE"
scsi1.virtualDev = "lsilogic"
scsi1.sharedBus = "virtual"
-- 这段是打开 scsi1上的使用,并且设置成virtual, controller设置成lsilogic,
-- 然后依次添加
scsi1:0.present = "TRUE"
scsi1:0.mode = "independent-persistent"
scsi1:0.fileName = "E:\SharedDisk\shareddisk01.vmdk"
scsi1:0.deviceType = "plainDisk"
-- 最后添加这个,这段是对vmware使用共享硬盘的方式进行定义,必须添加
disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
修改节点2上的Linux4_TestRawDev_rac02.vmx 文件, 加入类似上面的语句。
保存退出之后,启动虚拟机就可以看到刚才添加的硬盘了.
节点1上
[root@rac01 ~]# fdisk -l
Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 6 48163+ 83 Linux
/dev/sda2 7 515 4088542+ 83 Linux
/dev/sda3 516 1771 10088820 83 Linux
/dev/sda4 1772 1958 1502077+ 5 Extended
/dev/sda5 1772 1958 1502046 82 Linux swap
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
节点2上
[root@rac02 ~]# fdisk -l
Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 6 48163+ 83 Linux
/dev/sda2 7 515 4088542+ 83 Linux
/dev/sda3 516 1771 10088820 83 Linux
/dev/sda4 1772 1958 1502077+ 5 Extended
/dev/sda5 1772 1958 1502046 82 Linux swap
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
12. 配置 hangcheck-timer 模块
12.1 查看模块位置:
[root@rac01 etc]# find /lib/modules -name "hangcheck-timer.ko"
/lib/modules/2.6.9-55.EL/kernel/drivers/char/hangcheck-timer.ko
/lib/modules/2.6.9-55.ELsmp/kernel/drivers/char/hangcheck-timer.ko
12.2 配置系统启动时自动加载模块,在/etc/rc.d/rc.local 中添加如下内容
[root@rac01 etc]# modprobe hangcheck-timer
[root@rac01 etc]# vi /etc/rc.d/rc.local
modprobe hangcheck-timer
12.3 配置hangcheck-timer参数, 在/etc/modprobe.conf 中添加如下内容:
[root@rac01 etc]# vi /etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
12.4 确认模块加载成功:
[root@rac02 u01]# grep Hangcheck /var/log/messages | tail -2
Oct 20 15:23:38 rac02 kernel: Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds).
Oct 20 15:23:38 rac02 kernel: Hangcheck: Using monotonic_clock().
开始磁盘分区 (在一个节点执行就可以了)
[root@rac02 u01]# fdisk -l
Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 6 48163+ 83 Linux
/dev/sda2 7 515 4088542+ 83 Linux
/dev/sda3 516 1771 10088820 83 Linux
/dev/sda4 1772 1958 1502077+ 5 Extended
/dev/sda5 1772 1958 1502046 82 Linux swap
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb doesn't contain a valid partition table
建立VG的时候,同一卷组(VG)所有物理卷(PV)的物理区域大小需一致, 所以这里
将约21G的空间分区为 /dev/sdb1, /dev/sdb2 , 分别是10240M .
[root@rac01 ~]# fdisk /dev/sdb
The number of cylinders for this disk is set to 2610.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-2610, default 2610): +10240M
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (1247-2610, default 1247):
Using default value 1247
Last cylinder or +size or +sizeM or +sizeK (1247-2610, default 2610): +10240M
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
[root@rac01 ~]# fdisk -l
Disk /dev/sda: 16.1 GB, 16106127360 bytes
255 heads, 63 sectors/track, 1958 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 6 48163+ 83 Linux
/dev/sda2 7 515 4088542+ 83 Linux
/dev/sda3 516 1771 10088820 83 Linux
/dev/sda4 1772 1958 1502077+ 5 Extended
/dev/sda5 1772 1958 1502046 82 Linux swap
Disk /dev/sdb: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 1246 10008463+ 83 Linux
/dev/sdb2 1247 2492 10008495 83 Linux
开始配置裸设备 :
http://wenku.baidu.com/view/5b358621af45b307e871975b.html
http://blog.csdn.net/tianlesoftware/article/details/5332909
http://blog.sina.com.cn/s/blog_557117fb0100c1pt.html
将分区初始化为物理卷 :
[root@rac01 ~]# pvcreate /dev/sdb1 /dev/sdb2
Physical volume "/dev/sdb1" successfully created
Physical volume "/dev/sdb2" successfully created
[root@rac01 ~]# pvscan
PV /dev/sdb1 lvm2 [9.54 GB]
PV /dev/sdb2 lvm2 [9.54 GB]
Total: 2 [19.09 GB] / in use: 0 [0 ] / in no VG: 2 [19.09 GB]
[root@rac01 ~]# pvdisplay
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size 9.54 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 8v1kbs-dPsT-X7jG-qh7p-3AzM-i12P-OhNV4U
--- NEW Physical volume ---
PV Name /dev/sdb2
VG Name
PV Size 9.54 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID KooBSy-RpVJ-JxeY-vp2B-dOLt-UALf-CUl2nN
创建VG
在PV的基础上创建卷组,语法:vgcreate vgname pvname .
[root@rac01 ~]# vgcreate datavg01 /dev/sdb1 /dev/sdb2
Volume group "datavg01" successfully created
[root@rac01 etc]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "datavg01" using metadata type lvm2
[root@rac01 etc]# vgdisplay
--- Volume group ---
VG Name datavg01
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 15
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 14
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.09 GB
PE Size 4.00 MB
Total PE 4886
Alloc PE / Size 330 / 1.29 GB
Free PE / Size 4556 / 17.80 GB
VG UUID OeuV86-HCSQ-yFFp-IrgT-e3Dt-xRrs-P1kUWi
创建LV
在VG中创建逻辑卷,语法: lvcreate -n lvname -L size vgname .
我们可以创建一个文件createlv.txt批量执行:
lvcreate -n ocr.dbf -L 20m datavg01
lvcreate -n votingdisk -L 20m datavg01
lvcreate -n system01.dbf -L 400m datavg01
lvcreate -n sysaux01.dbf -L 300m datavg01
lvcreate -n users01.dbf -L 10m datavg01
lvcreate -n undotbs01.dbf -L 200m datavg01
lvcreate -n temp01.dbf -L 200m datavg01
lvcreate -n spfileorcl.ora -L 10m datavg01
lvcreate -n control01.ctl -L 30m datavg01
lvcreate -n control02.ctl -L 30m datavg01
lvcreate -n control03.ctl -L 30m datavg01
lvcreate -n redo01.log -L 20m datavg01
lvcreate -n redo02.log -L 20m datavg01
lvcreate -n redo03.log -L 20m datavg01
[root@rac01 ~]# sh createlv.txt
Logical volume "ocr.dbf" created
Logical volume "votingdisk" created
Logical volume "system01.dbf" created
Logical volume "sysaux01.dbf" created
Rounding up size to full physical extent 12.00 MB
Logical volume "users01.dbf" created
Logical volume "undotbs01.dbf" created
Logical volume "temp01.dbf" created
Rounding up size to full physical extent 12.00 MB
Logical volume "spfileorcl.ora" created
Rounding up size to full physical extent 32.00 MB
Logical volume "control01.ctl" created
Rounding up size to full physical extent 32.00 MB
Logical volume "control02.ctl" created
Rounding up size to full physical extent 32.00 MB
Logical volume "control03.ctl" created
Logical volume "redo01.log" created
Logical volume "redo02.log" created
Logical volume "redo03.log" created
备注: 通过vgdisplay可以看到 PE Size是4.00 MB,所以设置
10M, 30M的非4M倍数的大小都被设置为了4M的倍数(12M,32M). 如
果需要删除lv, 可以使用 # lvremove -f /dev/datavg01/xxx.dbf
lvextend, lvreduce, lvremove 可以修改大小及删除。
[root@rac01 etc]# lvremove /dev/datavg01/data01.dbf
Do you really want to remove active logical volume "data01.dbf"? [y/n]: y
Logical volume "data01.dbf" successfully removed
查看lv:
[root@rac01 ~]# lvscan
ACTIVE '/dev/datavg01/ocr.dbf' [20.00 MB] inherit
ACTIVE '/dev/datavg01/votingdisk' [20.00 MB] inherit
ACTIVE '/dev/datavg01/system01.dbf' [400.00 MB] inherit
ACTIVE '/dev/datavg01/sysaux01.dbf' [300.00 MB] inherit
ACTIVE '/dev/datavg01/users01.dbf' [12.00 MB] inherit
ACTIVE '/dev/datavg01/undotbs01.dbf' [200.00 MB] inherit
ACTIVE '/dev/datavg01/temp01.dbf' [200.00 MB] inherit
ACTIVE '/dev/datavg01/spfileorcl.ora' [12.00 MB] inherit
ACTIVE '/dev/datavg01/control01.ctl' [32.00 MB] inherit
ACTIVE '/dev/datavg01/control02.ctl' [32.00 MB] inherit
ACTIVE '/dev/datavg01/control03.ctl' [32.00 MB] inherit
ACTIVE '/dev/datavg01/redo01.log' [20.00 MB] inherit
ACTIVE '/dev/datavg01/redo02.log' [20.00 MB] inherit
ACTIVE '/dev/datavg01/redo03.log' [20.00 MB] inherit
[root@rac01 ~]# lvdisplay
创建完成后,可以在 /dev/datavg01 及/dev/mapper 下看到新创建的lv信息。
备注: 删除lv的命令类似lvremove /dev/datavg01/sysaux01.dbf
[root@rac01 ~]# cd /dev/mapper/
[root@rac01 mapper]# ls -al
total 0
drwxr-xr-x 2 root root 340 Oct 22 15:05 .
drwxr-xr-x 10 root root 7100 Oct 22 15:05 ..
crw------- 1 root root 10, 63 Oct 20 11:43 control
brw-rw---- 1 root disk 253, 8 Oct 22 15:05 datavg01-control01.ctl
brw-rw---- 1 root disk 253, 9 Oct 22 15:05 datavg01-control02.ctl
brw-rw---- 1 root disk 253, 10 Oct 22 15:05 datavg01-control03.ctl
brw-rw---- 1 root disk 253, 0 Oct 22 15:03 datavg01-ocr.dbf
brw-rw---- 1 root disk 253, 11 Oct 22 15:05 datavg01-redo01.log
brw-rw---- 1 root disk 253, 12 Oct 22 15:05 datavg01-redo02.log
brw-rw---- 1 root disk 253, 13 Oct 22 15:05 datavg01-redo03.log
brw-rw---- 1 root disk 253, 7 Oct 22 15:05 datavg01-spfileorcl.ora
brw-rw---- 1 root disk 253, 3 Oct 22 15:05 datavg01-sysaux01.dbf
brw-rw---- 1 root disk 253, 2 Oct 22 15:05 datavg01-system01.dbf
brw-rw---- 1 root disk 253, 6 Oct 22 15:05 datavg01-temp01.dbf
brw-rw---- 1 root disk 253, 5 Oct 22 15:05 datavg01-undotbs01.dbf
brw-rw---- 1 root disk 253, 4 Oct 22 15:05 datavg01-users01.dbf
brw-rw---- 1 root disk 253, 1 Oct 22 15:05 datavg01-votingdisk
查看vg及lv是否激活(创建后默认是active的, 重启后需要激活):
在被激活之前,VG与LV是无法访问的,这时可用命令激活所要使用的卷组:
# vgchange -a y datavg01
备注:
vgchange -a y/n # y 激活卷组, n 禁用卷组
lvchange -a y/n # y 激活逻辑卷,n 禁用逻辑卷
在所有节点上建立 /dev/raw目录:
[root@rac01 ~]# cd /dev
[root@rac01 dev]# mkdir -p raw
[root@rac01 dev]# chmod 755 raw
绑定裸设备,将如下语句作为一个脚本boundraw.txt执行:
vgscan ---- 扫描并显示系统中的卷组
vgchange -a y ---- 激活VG
/usr/bin/raw /dev/raw/raw1 /dev/datavg01/ocr.dbf
/usr/bin/raw /dev/raw/raw2 /dev/datavg01/votingdisk
/usr/bin/raw /dev/raw/raw3 /dev/datavg01/system01.dbf
/usr/bin/raw /dev/raw/raw4 /dev/datavg01/sysaux01.dbf
/usr/bin/raw /dev/raw/raw5 /dev/datavg01/users01.dbf
/usr/bin/raw /dev/raw/raw6 /dev/datavg01/undotbs01.dbf
/usr/bin/raw /dev/raw/raw7 /dev/datavg01/temp01.dbf
/usr/bin/raw /dev/raw/raw8 /dev/datavg01/spfileorcl.ora
/usr/bin/raw /dev/raw/raw9 /dev/datavg01/control01.ctl
/usr/bin/raw /dev/raw/raw10 /dev/datavg01/control02.ctl
/usr/bin/raw /dev/raw/raw11 /dev/datavg01/control03.ctl
/usr/bin/raw /dev/raw/raw12 /dev/datavg01/redo01.log
/usr/bin/raw /dev/raw/raw13 /dev/datavg01/redo02.log
/usr/bin/raw /dev/raw/raw14 /dev/datavg01/redo03.log
[root@rac01 ~]# sh boundraw.txt
Reading all physical volumes. This may take a while...
Found volume group "datavg01" using metadata type lvm2
14 logical volume(s) in volume group "datavg01" now active
/dev/raw/raw1: bound to major 253, minor 0
/dev/raw/raw2: bound to major 253, minor 1
/dev/raw/raw3: bound to major 253, minor 2
/dev/raw/raw4: bound to major 253, minor 3
/dev/raw/raw5: bound to major 253, minor 4
/dev/raw/raw6: bound to major 253, minor 5
/dev/raw/raw7: bound to major 253, minor 6
/dev/raw/raw8: bound to major 253, minor 7
/dev/raw/raw9: bound to major 253, minor 8
/dev/raw/raw10: bound to major 253, minor 9
/dev/raw/raw11: bound to major 253, minor 10
/dev/raw/raw12: bound to major 253, minor 11
/dev/raw/raw13: bound to major 253, minor 12
/dev/raw/raw14: bound to major 253, minor 13
备注: 在一些地方可以会看到绑定裸设备的后面/dev/datavg01/control03.ctl
部分会写成 /dev/mapper/datavg01-control03.ctl,他们是软连接的关系,所以
也是可以的。
备注:
# raw -qa 查看raw绑定,
# raw /dev/raw/raw1 0 0 取消绑定。
系统重启自动挂载raw
修改/etc/rc.local 文件,使系统重启后可自动挂载裸设备。
6. 修改raw的权限
在linux中,会在/dev下存在3个目录:
a. /dev/raw 裸设备目录
b. /dev/mapper/ 裸设备对应的块设备目录
c. /dev/datavg/ 裸设备和块设备的链接文件目录
修改以上3个目录的权限后,Oracle才能使用。 因为上面已经设置了
raw/*:oracle:dba:0660 ,此处就不需要执行了。 但如果权限不正确,
可以将 /dev/raw下的裸设备文件属组修改为oracle的,其他两个目录
可以不做修改。
7. 创建Oracle数据文件
创建oracle的数据文件和参数文件,软连接文件,对应到每一个裸设备文件,编辑
oracle逻辑文件名与raw的映射文件, 批量处理。
# ln -s /dev/raw/raw1 /u01/app/oracle/oradata/orcl/control1.ctl
# ln -s /dev/raw/raw2 /u01/app/oracle/oradata/orcl/control2.ctl
# ln -s /dev/raw/raw3 /u01/app/oracle/oradata/orcl/control3.ctl
# ln -s /dev/raw/raw4 /u01/app/oracle/oradata/orcl/redo1.ctl
# ln -s /dev/raw/raw5 /u01/app/oracle/oradata/orcl/redo2.ctl
# ln -s /dev/raw/raw6 /u01/app/oracle/oradata/orcl/redo3.ctl
# ln -s /dev/raw/raw7 /u01/app/oracle/oradata/orcl/system.ctl
# ln -s /dev/raw/raw8 /u01/app/oracle/oradata/orcl/sysaux.ctl
......
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-709537/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-709537/