|  | 
 
| VMWare虚拟机Redhat Enterprise Linux 6 Oracle11G R2 ,单节点配置ASM 历经波折,终于在VMWare虚拟机Redhat Enterprise Linux 6,已经安装单节点Oracle database 11G R2的情况下,成功配置了Oracle11GR2 ASM,现记录过程如下:
 
 环境:VMWare Player 5.0.2 build-1031769,Red hat Enterprise Linux 6.4, Oracle 11.2.0.3, Oracle Grid Infrastructure 11.2.0.3(开始使用11.2.0.1吃尽了苦头)
 
 一、配置用户grid与oracle用户
 
 [grid@RHVM Desktop]$ id oracle
 uid=501(oracle) gid=502(oinstall) groups=502(oinstall),501(dba),1300(asmdba),1200(asmadmin)
 
 oracle用户本来没有加asmadmin,但是/dev/asm*的权限是grid:asmadmin,导致没有权限不能迁移,故加上该权限。
 
 
 [grid@RHVM Desktop]$ id grid
 uid=1001(grid) gid=502(oinstall) groups=502(oinstall),501(dba),1200(asmadmin),1300(asmdba)
 
 二、使用udev配置Oracle ASM
 
 本部分主要参考”风哥“的”Red Hat Enterprise Linux 6使用udev设备配置Oracle ASM总结文档“,详见链接http://www.itpux.com/thread-65-1-1.html。这里使用了“多块磁盘不分区方式”:
 
 1.准备以下三块磁盘(不分区),用途如下:
 crsdg 10g
 DGSYSTEM 10g
 DGDATA 10g
 [iyunv@oradb ~]# fdisk –l
 
 Disk /dev/sdc: 10.7 GB, 10737418240 bytes
 
 Disk /dev/sdd: 10.7 GB, 10737418240 bytes
 
 Disk /dev/sde: 10.7 GB, 10737418240 bytes
 
 
 2.配置udev
 
 2.1 编辑/etc/scsi_id.config文件,如果该文件不存在,则创建该文件,添加如下行:
 options=--whitelisted --replace-whitespace
 
 2.2 获取需要绑定为ASM Disk的磁盘uuid,如果使用VMWARE虚拟机,则需要在需要在vmware配置文件中加入disk.EnableUUID = "TRUE",
 
 才可以获取uuid。
 
 比如我们要使用/dev/sdc作为ASM磁盘,那么获取方法如下:
 scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
 
 以此获取sdc、sdd、sde的scsi id后.
 
 2.3、编写udev rules文件,PROGRAM中写scsi_id命令,RESULT中写上面命令中返回的uuid,这跟RHEL5中没什么区别,只是scsi_id命令的语法发生变化了。
 vi /etc/udev/rules.d/99-oracle-asmdevices.rules
 
 KERNEL=="sdc",  BUS=="scsi",  PROGRAM=="/sbin/scsi_id  --whitelisted  --replace-whitespace --device=/dev/$name",RESULT=="36000c29b1fa3aefb13e00666faf4f81c",  NAME="asm-crs-sdc", OWNER="grid", GROUP="asmadmin", MODE="0660"
 KERNEL=="sdd",  BUS=="scsi",  PROGRAM=="/sbin/scsi_id  --whitelisted  --replace-whitespace --device=/dev/$name",RESULT=="36000c29c913069e64a31376645383443",  NAME="asm-sysdg-sdd", OWNER="grid", GROUP="asmadmin", MODE="0660"
 KERNEL=="sde",  BUS=="scsi",  PROGRAM=="/sbin/scsi_id  --whitelisted  --replace-whitespace --device=/dev/$name",RESULT=="36000c292204a4f53b2547ff4c3650776",  NAME="asm-datadg-sde", OWNER="grid", GROUP="asmadmin", MODE="0660"
 
 2.4、重启udev设备
 /sbin/udevadm control --reload-rules
 /sbin/start_udev
 2.5、检查udev设备
 [iyunv@oradb rules.d]#ls -lsa /dev/asm*
 0 brw-rw----. 1 grid asmadmin 8, 32 Jul 18 19:50 /dev/asm-crs-sdc
 0 brw-rw----. 1 grid asmadmin 8, 64Jul 18 19:50 /dev/asm-datadg-sde
 0 brw-rw----. 1 grid asmadmin 8, 48 Jul 18 19:50 /dev/asm-sysdg-sdd
 
 3.测试udev设备
 
 用udevadm 进行测试,注意udevadm 命令不接受/dev/sdc 这样的挂载设备名,必须是使用
 /sys/block/sdc这样的原始设备名。
 ls -lsa /dev/block/
 udevadm info --query=all --path=/sys/block/sdc
 udevadm info --query=all --path=/sys/block/sdd
 udevadm info --query=all --path=/sys/block/sde
 udevadm info --query=all --name=asm-crs-sdc
 udevadm info --query=all --name=asm-datadg-sde
 udevadm info --query=all --name=asm-sysdg-sdd
 
 /dev/sdc设备在udev启动以后将会绑定为/dev/asm-crs-sdc
 /dev/sdd设备在udev启动以后将会绑定为/dev/asm-sysdg-sdd
 /dev/sde设备在udev启动以后将会绑定为/dev/asm-datadg-sde
 /sbin/udevadm test /sys/block/sdc
 /sbin/udevadm test /sys/block/sdd
 /sbin/udevadm test /sys/block/sde
 
 三、安装oracle 11g grid infrastructure:
 
 1.运行runInstaller,然后选择"选择”configure Grid Infrastructure for a standalone server".
 
 2.创建ASM Disk Group时,Redudency选择“External”,Add Disks选择“All Disks”,Change Discovery Path 输入/dev/asm*,然后全选建好的三个Disk Path;
 
 3. Perform Prerequiste checks,选Ignore all;
 
 4.安装到76%时报错:OUI-10094:Problem in saving inventory. Installation cannot continue./opt/app/oracle/orainventory/ContentsXML/comps.xml (Permission denied)
 
 执行以下语句:
 
 1).使用deinstall.sh删除不成功的安装;
 
 2). 重新创建$ORACLE_HOME目录,并在该目录下Create a new oraInst.loc file:
 
 This file should have the follow content:
 inventory_loc=/opt/app/oraclegrid/product/11.2.0/grid/oraInventory
 inst_group=oinstall
 
 3).start OUI with the following options:
 ./runInstaller -invPtrLoc $ORACLE_HOME/oraInst.loc
 The -invPtrLoc flag is used to locate the oraInst.loc file.
 5.执行root.sh
 
 6.  在update Inventory 报错了 [INS-20802] update Inventory failed. 网上说这是个dummy进程可以忽略,于是跳过;
 
 7.此时 +ASM实例已自动创建,并自动启动,listener也自动启动,端口为1521,此时oracle database的listener不需要再启动,会zidon注册到这个listener中。
 
 [grid@RHVM ~]$ sqlplus / as sysasm
 SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 1 21:43:49 2014
 Copyright (c) 1982, 2011, Oracle.  All rights reserved.
 Connected to:
 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
 With the Automatic Storage Management option
 SQL> show parameter instance
 NAME     TYPE
 ------------------------------------ ---------------------------------
 VALUE
 ------------------------------
 cluster_database_instances     integer
 1
 instance_name     string
 +ASM
 instance_number     integer
 1
 instance_type     string
 asm
 SQL>
 
 四、将数据迁移到ASM:
 
 1.使用sys用户登录到EM,在server标签中选择Migrate to ASM,升级后所有文件都迁移到"+DATA"目录下:
 
 +DATA/ipcdb/datafile/system.257.835737429
 +DATA/ipcdb/datafile/sysaux.258.835737491
 +DATA/ipcdb/datafile/undotbs1.259.835737555
 +DATA/ipcdb/datafile/users.262.835737591
 +DATA/ipcdb/datafile/user_02.261.835737589
 +DATA/ipcdb/datafile/users_03.260.835737581
 +DATA/ipcdb/datafile/users_04.269.835738407
 
 
 | 
 |