fiollr 发表于 2014-1-2 09:00:26

VMWare虚拟机Redhat Enterprise Linux 6 Oracle11G R2 ,单节点配置ASM

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用户

      $ id oracle
       uid=501(oracle) gid=502(oinstall) groups=502(oinstall),501(dba),1300(asmdba),1200(asmadmin)

       oracle用户本来没有加asmadmin,但是/dev/asm*的权限是grid:asmadmin,导致没有权限不能迁移,故加上该权限。


      $ 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
            # 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设备
#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 报错了 update Inventory failed. 网上说这是个dummy进程可以忽略,于是跳过;

7.此时 +ASM实例已自动创建,并自动启动,listener也自动启动,端口为1521,此时oracle database的listener不需要再启动,会zidon注册到这个listener中。

$ 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

pulser 发表于 2014-1-2 13:07:49

为什么让我尝试到幸福的味道,却又让我失去ㄟ它

大湖之子 发表于 2014-1-2 15:37:26

也许有一天,你回头了,而我却早已,不在那个路口。

wlyyb521 发表于 2014-1-2 16:18:23

我不想理的人,便不理,我想理的人,却不理我。
页: [1]
查看完整版本: VMWare虚拟机Redhat Enterprise Linux 6 Oracle11G R2 ,单节点配置ASM