iMB

 

---------------------------------------------------------------
参考文档:
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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值