wwb
作者wwb·2012-06-05 10:38
系统架构师·zkr

自己动手在Red Hat Linux 5.4 (虚拟机) 上安装 Oracle11g R2 RAC (ASM)

字数 83520阅读 1358评论 0赞 0
最近开始想学一下oracle 11g,于是首先想到的是搭个虚拟机环境,感觉单机装起来太简单,于是突然想何不自己搭个11G RAC环境来玩玩呢,说干就干,于是上网下介质,上网收集资料,但都感觉写得不是太详细。刚好上周五在逛ITPUB的时候,在主页上看到个链接刚好是在Red Hat Linux 5.4 (虚拟机) 上安装 Oracle11g R2 RAC (ASM)的文章,文章可以说是写得相当详细了。但看文章是一回事,自己实践起来又是另一回事,于是从上周五晚上开始一直到昨天终于是完整的把11G RAC环境给搭建起来了。我的参考文章是春暧花开的一篇博文,地址如下
http://space.itpub.net/35489/viewspace-712534
 
      根据他的文章自己进行了一下整理
 
1       虚拟机环境准备 1.1     虚拟机环境规划

         虚拟机这块我使用的是VMWARE,因为据说VMware Workstation版本在共享盘方面存在些问题,事实上在以前搭建10G环境中已经证实了,ASM磁盘组只有一个节点能mount上,但实际上在SERVER版里搭建好RAC环境后再用VMware Workstation版本打开是没问题的。所以建议最好还是使用VMWARE SERVER版。

         虚拟机我先是先安装一个节点linux 5.4操作系统,在上面做好一些通用性的设置后再复制一份进行修改来搭建另一个节点的,这样是速度快,但如果不注意有些地方忘记改也容易犯低级错误,我就因为犯了个超低级的错。

         下面说一下我的规划,磁盘空间总共做下来大概占用空间40G左右,内存的话最好每个节点尽量多分配一点,不然慢死你,我本本是8G内存,因此我每个节点分配了2G内存

节点名称:       racdb01 , racdb02

操作系统硬盘空间          每节点至少20G

节点1虚拟机位置           D:11gRACRAC1

节点2虚拟机位置           D:11gRACRAC2

共享磁盘位置                   D:11gRACSharedDiskASM

数据库名称:       racdb 

内存分配:      每节点 2048M

IPSCANIP :

Public IP:           138.30.0.111 ,      138.30.0.113 

Private IP:          10.1.1.11,           10.1.1.12  

VIP:             138.30.0.112 ,       138.30.0.114   

SCANIP:             138.30.0.115

 

1.2     虚拟机安装

         不详细描述,我主要参考的君三思的《手把手教你用VMwarelinux下安装oracle10g RAC》文档,也没什么难度。就是要新增一块网卡,还要增加几块共享磁盘,共享磁盘的属性需要注意,在文档中都有描述。

         文档下载地址

         http://www.5ienet.com/mydesign/article.asp?/html/rid/108.html

1.2.1     虚拟机光驱ISO镜像选择linux版的vmware tools文件

         如我的linux版的vmware tools文件在vmware安装路径的D:Program Files (x86)Vmwarelinux.iso,那么在虚拟机配置中的光驱指向这个文件

 

在虚拟机菜单中选择安装vmware tools

 

1.2.2     安装vmware tools

1.VM-install vmware-tools,本机把vmware-tools保存在目录/tmp下,使用#tar xvzf VMwareTools-8.4.6-385536.tar.gz进行解压缩

# cd "/media/VMware Tools"

# ls

manifest.txt  VMwareTools-8.4.6-385536.tar.gz

# cp VMwareTools-8.4.6-385536.tar.gz /tmp

# cd /tmp

tar xvzf VMwareTools-8.4.6-385536.tar.gz

 

2、进入解压缩后的目录 

# cd /tmp/vmware-tools-distrib

# ls

bin  doc  etc  FILES  INSTALL  installer  lib  vmware-install.pl

 

3、安装tools#./vmware-installl.pl

#./vmware-installl.pl

 

4、一直回车

在此过程中设置分辨率

设置好分辨率,就安装完成了(其他选项可以按照默认,回车即可),重启后就可以设置共享文件夹了,就能与windows交换文件,并且你的鼠标可以自由切换了,再也不用借助“ctrl+alt”了。

 

5、如果运行过程中碰到如下提示,表明找不到C头文件:

What is the location of the directory of C header files that match your running kernel? [/usr/src/linux/include]

The path "/usr/src/linux/include" is not an existing directory.

 

则按“ctrl+c”进行必要软件安装:

 

1)安装编译工具:#yum -y install gcc gcc-c++ kernel-devel

更新kernel#yum -y update kernel

检查kernel#rpm -qa | grep kernel

 

更新完后重启一下,使更新生效。

 

2)最后重新安装vmware-tools

#./vmware-install.pl

 

 

1.3     开启telnet/ftp服务

  在安装好Redhat以后,需要设置FtpTelnet服务文件,才能启动FtpTelnet服务,可以通过远程控制进行开启。

  1.1、用root用户登录,进入终端命令模式;

  1.2、开启ftp服务。

  cd /etc/xinetd.d ,编辑ftp服务的配置文件gssftp的设置:

[root@OracleDb vmware-tools-distrib]# cd /etc/xinetd.d

[root@OracleDb xinetd.d]# vi gssftp

 

# default: off

# description: The kerberized FTP server accepts FTP connections

#              that can be authenticated with Kerberos 5.

service ftp

{

        flags           = REUSE

        socket_type     = stream

        wait            = no

        user            = root

        server          = /usr/kerberos/sbin/ftpd

        server_args     = -l

        log_on_failure  += USERID

        disable         = no

}

  图开启ftp服务设置.

  vi gssftp  ,将 修改两项内容:

  (1server_args = -l –a  去掉-a 改为server_args = -l

  (2disable=yes改为disable=no

  (3)保存退出。

  1.3、开启telnet服务

  cd /etc/xinetd.d ,察看telnet服务的配置文件krb5-telnet的设置:

[root@OracleDb xinetd.d]# cd /etc/xinetd.d

[root@OracleDb xinetd.d]# vi krb5-telnet

 

# default: off

# description: The kerberized telnet server accepts normal telnet sessions,

#              but can also use Kerberos 5 authentication.

service telnet

{

        flags           = REUSE

        socket_type     = stream

        wait            = no

        user            = root

        server          = /usr/kerberos/sbin/telnetd

        log_on_failure  += USERID

        disable         = no

}

  图2   开启telnet服务设置

  vi krb5-telnet ,

  (1)将disable=yes,改为disable=no,保存退出。

  1.4、激活服务:

  telnet /ftp  是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的telnet /ftp自然也就可以被激活。

  激活目录和命令:

  cd /etc/rc.d/init.d/

  service xinetd restart

  有时会提示命令不存在,需要加上命令的路径

  [root@localhost init.d]# service xinetd resart

  bash: service: command not found

  [root@localhost init.d]# /sbin/service xinetd restart

  图重新启动FTPTelnet服务

  1.5连上FTP

  图4

 

1.4      Oracle RAC 准备共享存储  

 

在三个分开(三个物理磁盘) failure groups 下需要至少 2GB 的磁盘空间用于 Oracle Clusterware文件  (Oracle Cluster Registry and voting disk) . 

 

‐All of the devices in an Automatic Storage Management disk group  

should be the same size and have the same performance characteristics. 

‐A disk group should not contain more than one partition on a single physical disk device. 

‐Using logical volumes as a device in an Automatic Storage Management disk group  

is not supported with Oracle RAC. 

‐The user account with which you perform the installation (oracle) must have  

write permissions to create the files in the path that you specify. 

 

 

共享磁盘划分规划(假设硬件上没做 RAID1,这里规划镜像磁盘组)   

Block Device      ASMlib Name     Size     Comments  

 

/dev/sdb1     OCR_VOTE01      1GB      ASM Diskgroup for OCR and Voting Disks 

/dev/sdc1     ASM_DATA01      2GB      ASM Data Diskgroup 

/dev/sdd1     ASM_DATA02      2GB      ASM Data Diskgroup  (镜像磁盘组)

/dev/sde1     ASM_FRA         2GB       ASM Flash Recovery Area Diskgroup 

 

 

这里是虚拟机安装 RAC,  所以需要设置共享磁盘文件  (可以通过以下命令,也可以通过

VMware 界面添加,注意选择磁盘时候需要选取 SCSI 1:1,SCSI 1:2,依次类推,多少个磁盘选择

多少个)。如果是实体 Storage,这一步不需要。 

 

A.  建立一个文件夹用于存放共享磁盘文件  :    D:11gRACSharedDiskASM

B.  执行下面命令生成共享文件  

 

d:>cd   D:Program Files (x86)VMwareVMware Server

 

vmware-vdiskmanager.exe -c -s 1Gb -a   lsilogic  -t   2    "D:11gRACSharedDiskASM"ShareDiskOCR.vmdk

vmware-vdiskmanager.exe -c -s 2Gb -a   lsilogic  -t   2    "D:11gRACSharedDiskASM"ShareDiskData01.vmdk

vmware-vdiskmanager.exe -c -s 2Gb -a   lsilogic  -t   2    "D:11gRACSharedDiskASM"ShareDiskData02.vmdk 

vmware-vdiskmanager.exe -c -s 2Gb -a   lsilogic  -t   2   "D:11gRACSharedDiskASM"ShareDiskFlash.vmdk   

 

这样就生成了新的虚拟磁盘,其中‐s  2Gb 表示磁盘容量,‐a  表示接口类型 lsilogic  scsi 

,‐t 2 的意思是预分配磁盘空间,可以用‐t 0 选项,这样就不会占用空间了,实际用多少就多少.  

可以看到在 D:11gRACSharedDiskASM 生成了多个个文件。  

 

 

關閉 Linux 系統及虛擬機  :  

 

到虛擬機目錄比如 D:VMLinux5_Test_ASM,直接编辑*.vmx 文件,  加上下面语句(所有虛擬機节点). 

 

disk.locking = "false"

scsi1.virtualDev = "lsilogic"

scsi1.present = "TRUE"

scsi1.sharedBus = "virtual"

 

diskLib.dataCacheMaxSize = "0"

diskLib.dataCacheMaxReadAheadSize = "0"

diskLib.DataCacheMinReadAheadSize = "0"

diskLib.dataCachePageSize = "4096"

diskLib.maxUnsyncedWrites = "0"

 

scsi1:1.deviceType = "disk"

scsi1:1.present = "TRUE"

scsi1:1.fileName = "D:11gRACSharedDiskASMShareDiskOCR.vmdk"

scsi1:1.mode = "independent-persistent"

scsi1:1.redo = ""

 

scsi1:2.deviceType = "disk"

scsi1:2.present = "TRUE"

scsi1:2.fileName = "D:11gRACSharedDiskASMShareDiskData01.vmdk"

scsi1:2.mode = "independent-persistent"

scsi1:2.redo = ""

 

scsi1:3.deviceType = "disk"

scsi1:3.present = "TRUE"

scsi1:3.fileName = "D:11gRACSharedDiskASMShareDiskData02.vmdk"

scsi1:3.mode = "independent-persistent"

scsi1:3.redo = ""

 

scsi1:4.deviceType = "disk"

scsi1:4.present = "TRUE"

scsi1:4.fileName = "D:11gRACSharedDiskASMShareDiskFlash.vmdk"

scsi1:4.mode = "independent-persistent"

scsi1:4.redo = ""

 

注意:这个文件中的每一行都不能重复,否则会报错, 而且不要去改变文件的编码格式

(如果提示需要存储为其他编码格式,比如unicode, 那么就是拷贝的格式有问题,需要

手工写入 )。 

 

最后开启虚拟机程序(注意,一定要重新启动vmware界面程序),查看每个节点虚拟机

Devices部分,在未开启各个虚拟机的时候就应该可以看到磁盘挂载情况 。  然后开机

再次确认 。  如果在未开启时没有看到磁盘信息, 那么就是写入vmx文件的语法有问题,

可以手工写入(而不是拷贝)   

 

当然也可以通过VMWare图形界面建立磁盘,注意共享磁盘选择SCSI 1而不是0才可以。我这里就是用的图形界面方式,总之不管是图形界面还是命令创建,最后添加到虚拟机里的每一个磁盘属性应当如下图所示,

注意选择磁盘时候需要选取 SCSI 1:1,SCSI 1:2,我这里有四个共享磁盘,那么就依次是SCSI 1:1,SCSI 1:2SCSI 1:3,SCSI 1:4

2       RAC环境介绍:

节点名称:         racdb01 , racdb02

数据库名称:       racdb 

内存分配:      每节点 2048M

IPSCANIP :

Public IP:           138.30.0.111 ,      138.30.0.113 

Private IP:          10.1.1.11,           10.1.1.12  

VIP:             138.30.0.112 ,       138.30.0.114   

SCANIP:             138.30.0.115 

 

Grid Infrastructure   操作系统用户grid , 主组为oinstall, 辅助组为asmadmin, asmdba, asmoper

Oracle RAC  操作系统用户 oracle ,  主组为oinstall , 辅助组为dba, oper , asmdba  

 

Grid  Infrastructure 安装目录(注意: 不是GRID_HOME哦) :  

     ORACLE_BASE=/app/product/grid/crs

     ORACLE_HOME=/app/product/grid/11.2.0   

备注:  grid用户的basehome不能有父子关系。 

 

Oracle RDBMS 安装目录 : 

     ORACLE_BASE=/app/product/oracle 

     ORACLE_HOME=/app/product/app/11.2.0/db_1 

 

详细说明参考:

http://www.oracledatabase12g.com/archives/oracle-installation-os-user-groups.html

 

同时设置Linux系统Firewalldisable, 关闭不需要的system service, 设置正确的timezone .

 

 

 

3       用户组及账号设置  

 

3.1       root用户环境下创建 OS (每个节点执行) 

 

创建组之前要确认一下/etc/group/etc/passwd下的组及用户,确保每个节点

上的uidgid 一致 (当然也可以建组的时候加入id号,groupadd -g 501 oinstall)  

 

根据规划:

Grid Infrastructure   操作系统用户grid , 主组为oinstall, 辅助组为asmadmin, asmdba, asmoper

Oracle RAC  操作系统用户 oracle ,  主组为oinstall , 辅助组为dba, oper , asmdba  

 

# groupadd   oinstall  

# groupadd   asmadmin   

# groupadd    asmdba

# groupadd    asmoper  

# groupadd   dba

# groupadd   oper

 

# cat   /etc/group   查看组建立情况 

.....

oinstall:x:501:

asmadmin:x:502:

asmdba:x:503:

asmoper:x:504:

dba:x:505:

oper:x:506:

 

 

 

3.2       创建安装 grid infrastructure  oracle软件的用户 (每个节点执行) 

根据规划:

Grid Infrastructure   操作系统用户grid , 主组为oinstall, 辅助组为asmadmin, asmdba, asmoper

Oracle RAC  操作系统用户 oracle ,  主组为oinstall , 辅助组为dba, oper , asmdba  

 

#useradd -g oinstall -G  asmadmin,asmdba,asmoper  grid

# useradd -g oinstall -G dba,oper,asmdba oracle

 

 

 

3.3       grid oracle用户设置密码  (每个节点执行)   

# passwd oracle  

# passwd grid   

 

------------------------------------------------------------------------

备注:

Oracle10g中还是使用sysdba管理asm实例,Oracle11g中使用一个新角色sysasm, 专用于

管理asm,  相当于针对asmsysdba角色。    Oracle11g  RAC 中以grid用户登入后 , 

sysdba登入也是可以查看asm实例相关的状态, 但是不能做变更, sysasm 角色连接后才

可以。 

4       网络设置  

 

4.1     定义 cluster name,  这是 11g特有的,  缺省为crs, 这里定义为rac . 

 

4.2     定义每个节点的 public hostname 

也就是本机的 host  name,  比如 racdb01,racdb02.  这里推荐建立网卡 bonding  (具体设置

,active/passive模式).   

 

4.3     定义 public virtual hostname,  一般建议为<public hostname>‐vip 或直接接 vip.   

 

4.4     开始修改所有节点的/etc/hosts (每个节点执行) ,  同时修改相关IP地址。

[root@racdb01 etc]# vi  /etc/hosts

 

 

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1               racdb01 localhost.localdomain localhost

 

138.30.0.111    racdb01

138.30.0.112    racdb01-vip

10.1.1.11       racdb01-priv

 

138.30.0.113    racdb02

138.30.0.114    racdb02-vip

10.1.1.12       racdb02-priv

 

138.30.0.116    racdb-cluster-scan

 

 

 

5       各个节点时间同步 

(所有节点设置,这里是测试,所以两个节点相互同步,不设置时间服务器)  

通过 nptdate rdate  设置各个节点时间同步 (注意时区)

 

[root@racdb01 etc]# chkconfig   time‐stream   on   

[root@racdb01 etc]# date  

Tue Dec 28 13:23:40 CST 2010   

然后在节点 2  设置与节点的时间同步排程。  

[root@rac02 etc]# crontab  ‐e  

*/2  *  *  *  *     rdate  ‐s   138.30.0.111 

 

 

 

 

6       配置 Linux 内核参数  (所有节点设置)  

[root@racdb01 etc]# vi   /etc/sysctl.conf  

 

fs.aio-max-nr=1048576

fs.file-max=6815744

kernel.shmall=2097152

kernel.shmmax=1073741824

kernel.shmmni=4096

kernel.sem=250  32000  100  128

net.ipv4.ip_local_port_range=9000  65500

net.core.rmem_default=262144

net.core.rmem_max=4194304

net.core.wmem_default=262144

net.core.wmem_max=1048576

 

[root@racdb01 etc]# sysctl  -p  使生效。

 

 

 

7        oracle 用户设置 shell  limits(每个节点执行) .   7.1     修改 /etc/security/limits.conf  

[root@racdb01 etc]# cd /etc/security/ 

[root@racdb01 security]# vi limits.conf  

 

grid soft nproc 2047

grid hard nproc 32768

grid soft nofile 1024

grid hard nofile 250000

 

oracle soft nproc 2047

oracle hard nproc 32768

oracle soft nofile 1024

oracle hard nofile 250000

 

 

 

7.2     修改/etc/pam.d/login,如果不存在以下行,请加入 

session    required    pam_limits.so  

 

 

7.3     对默认 shell startup file 做变更,加入如下行到/etc/profile 

 

if [ $USER = "oracle" ] || [ $USER = "grid" ]; then 

    if [ $SHELL = "/bin/ksh" ]; then 

         ulimit ‐p 16384 

         ulimit ‐n 65536 

    else 

         ulimit ‐u 16384 ‐n 65536 

    fi 

    umask 022 

fi 

 

 

7.4     设置 SELinux disable (每个节点都设置).  

# vi   /etc/grub.conf   

default=3 

timeout=5 

splashimage=(hd0,0)/grub/splash.xpm.gz 

hiddenmenu 

title Red Hat Enterprise Linux Server (2.6.18‐128.el5xen) 

         root (hd0,0) 

         kernel /xen.gz‐2.6.18‐128.el5 

         selinux=0 

 

8       配置另一个节点

       RAC1目录复制一份后改名为RAC2,将RAC2目录下面文件名以RAC1部分全改为RAC2,修改RAC2.vmx,将RAC1替换为RAC2。开启虚拟机时会提示要你选copy还是move,这里一定要选copy,否则这就是两台一模一样的主机,这样两台虚拟机就只能开其中一台,另一台开机都会显示冲突的。其它系统需要修改的地方有以下地方。

8.1         网络配置

[root@racdb02 ~]# ifconfig -a

eth0      Link encap:Ethernet  HWaddr 00:0C:29:3D:63:D1 

          inet addr:138.30.0.111  Bcast:138.30.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe3d:63d1/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:4451 errors:0 dropped:0 overruns:0 frame:0

          TX packets:2107 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:622279 (607.6 KiB)  TX bytes:374309 (365.5 KiB)

 

eth1      Link encap:Ethernet  HWaddr 00:0C:29:3D:63:DB 

          inet addr:10.1.1.12  Bcast:138.30.0.255  Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fe3d:63db/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:80061 errors:0 dropped:0 overruns:0 frame:0

          TX packets:87243 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:29078486 (27.7 MiB)  TX bytes:44482667 (42.4 MiB)

          Interrupt:19 Base address:0x24a4

先查看一下网卡的信息,关键的是上面红色字体部分,这个是新复制虚拟机新产生的物理地址

 

修改public ip所在网卡的IP地址为节点2IP地址,注意下面的物理地址要和上面查看到的保持一致,IP地址也改掉

[root@racdb02 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

 

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth0

BOOTPROTO=none

BROADCAST=138.30.0.255

HWADDR=00:0C:29:3D:63:D1

IPADDR=138.30.0.113

IPV6INIT=yes

IPV6_AUTOCONF=yes

NETMASK=255.255.255.0

NETWORK=138.30.0.0

ONBOOT=yes

GATEWAY=138.30.0.100

TYPE=Ethernet

 

修改PRIV IP所在网卡的IP地址为节点2的IP地址,注意下面的物理地址要和上面查看到的保持一致,IP地址也改掉

[root@racdb02 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1

 

#dvanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth1

BOOTPROTO=static

BROADCAST=138.30.0.255

HWADDR=00:0C:29:3D:63:DB

IPADDR=10.1.1.12

IPV6INIT=yes

IPV6_AUTOCONF=yes

NETMASK=255.255.255.0

NETWORK=138.30.0.0

ONBOOT=yes

 

8.2     改主机名

hostname racdb02

 

[root@racdb02 ~]# vi /etc/sysconfig/network

 

NETWORKING=yes

NETWORKING_IPV6=yes

HOSTNAME=racdb02

 

8.3     hostname配置修改

[root@racdb02 ~]# vi /etc/hosts

 

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1               racdb02 localhost.localdomain localhost

 

138.30.0.111    racdb01

138.30.0.112    racdb01-vip

10.1.1.11       racdb01-priv

 

138.30.0.113    racdb02

138.30.0.114    racdb02-vip

10.1.1.12       racdb02-priv

 

138.30.0.116    racdb-cluster-scan

         注意上面racdb02的地方要进行修改,我在做的过程中就漏掉了此处,结果导致安装

Oracle Grid Infrastructure的过程中第二个节点执行root.sh执行失败,折服了我近两天时间,

http://www.aixchina.net/home/space.php?uid=20260&do=blog&id=28616

 

8.4     环境变量修改

         请参见第15节设置gridoracle用户的环境变量,将grid环境变量中+ASM1改为+ASM2oracle用户环境变量中racdb1 改为racdb2

9       创建 Oracle Inventory Directory (每个节点执行)    

[root@racdb01 u01]# mkdir ‐p   /app/product/oraInventory  

[root@racdb01 u01]# chown -R grid:oinstall /app/product/oraInventory  

[root@racdb01 u01]# chmod -R 775 /app/product/oraInventory  

 

 

10             创建 Oracle Grid Infrastructure home 目录(在每个节点建立) 

 

规划目录如下:  

Grid  Infrastructure 安装目录(注意: 不是GRID_HOME哦) :  

     ORACLE_BASE=/app/product/grid/crs

     ORACLE_HOME=/app/product/grid/11.2.0   

备注:  grid用户的basehome不能有父子关系。 

 

注意:    

11g单实例如果需要使用 ASM, 也必须安装Grid ,且必须放在 ORACLE_BASE 

11g RAC则不行,  它的 grid家目录必须另外放在一个地方,比如/app/grid . 

 

# mkdir -p /app/product/grid/crs

# mkdir -p /app/product/grid/11.2.0

# chown -R grid:oinstall /app/product/grid/crs

# chown -R grid:oinstall /app/product/grid/11.2.0

# chmod -R 775 /app/product/grid/crs

# chmod -R 775 /app/product/grid/11.2.0

 

11             创建 Oracle Base  目录(在每个节点建立) 

规划:

Oracle RDBMS 安装目录 : 

     ORACLE_BASE=/app/product/oracle 

     ORACLE_HOME=/app/product/app/11.2.0/db_1 

 

# mkdir -p /app/product/oracle

 暂时不做这一步      # mkdir    /app/product/app/cfgtoollogs  

       ‐‐  确保软件安装后 dbca 可以运行 

#chown -R oracle:oinstall /app/product/oracle

#chmod -R 775 /app/product/oracle

 

12             创建 Oracle RDBMS home 目录(所有节点执行) 

# mkdir -p /app/product/app/11.2.0/db_1

#chown -R oracle:oinstall /app/product/app/11.2.0/db_1

# chmod -R 775  /app/product/app/11.2.0/db_1

 

 

 

13             准备Oracle Grid Infrastructure  RDBMS software (主节点准备)

 

14             檢查 OS rpm  (所有节点执行)  

这里是 Linux AS 5.4 32bit,  如果是 64bit,需要检查以下的 Packages. 

以下重复包名称的部分是 64bit,注明 32bit 的是 32bit packages.  如果 

 32bit OS,  那么重复包名的只需要 32bit 部分的包  。注意不同版本的 

Linux 系统后面的版本不太一样     

 

binutils‐2.15.92.0.2 

compat‐libstdc++‐33‐3.2.3 

compat‐libstdc++‐33‐3.2.3 (32 bit) 

elfutils‐libelf‐0.97 

elfutils‐libelf‐devel‐0.97 

expat‐1.95.7 

gcc‐3.4.6 

gcc‐c++‐3.4.6 

glibc‐2.3.4‐2.41 

glibc‐2.3.4‐2.41 (32 bit) 

glibc‐common‐2.3.4 

glibc‐devel‐2.3.4 

glibc‐headers‐2.3.4 

libaio‐0.3.105 

libaio‐0.3.105 (32 bit) 

libaio‐devel‐0.3.105 

libaio‐devel‐0.3.105 (32 bit) 

libgcc‐3.4.6 

libgcc‐3.4.6 (32‐bit) 

libstdc++‐3.4.6 

libstdc++‐3.4.6 (32 bit) 

libstdc++‐devel-3.4.6 

make‐3.80 

pdksh‐5.2.14 

sysstat‐5.0.5 

unixODBC‐2.2.11 

unixODBC‐2.2.11 (32 bit) 

unixODBC‐devel‐2.2.11 

unixODBC‐devel‐2.2.11 (32 bit)  

 

检查方法:  

[root@rac02 grid]# rpm ‐q ‐‐qf '%{NAME}‐%{VERSION}‐%{RELEASE} (%{ARCH})n' binutils  

 

然后输入: 

compat‐libstdc++‐33  

elfutils‐libelf  

elfutils‐libelf‐devel  

expat  

gcc  

gcc‐c++  

glibc  

glibc‐common  

glibc‐devel  

glibc‐headers  

ksh  

libaio  

libaio‐devel  

libgcc  

libstdc++  

libstdc++‐devel  

make  

pdksh  

sysstat  

unixODBC  

unixODBC‐devel 

 

 

结果如下:  

 

[root@racdb01 u01]# rpm ‐q ‐‐qf '%{NAME}‐%{VERSION}‐%{RELEASE} (%{ARCH})n' binutils  

 

> compat‐libstdc++‐33  

> elfutils‐libelf  

> elfutils‐libelf‐devel  

> expat  

> gcc  

> gcc‐c++  

> glibc  

> glibc‐common  

> glibc‐devel  

> glibc‐headers  

> ksh  

> libaio  

> libaio‐devel  

> libgcc  

> libstdc++  

> libstdc++‐devel  

> make  

> pdksh  

> sysstat  

> unixODBC  

> unixODBC‐devel 

binutils‐2.17.50.0.6‐9.el5 (i386) 

compat‐libstdc++‐33‐3.2.3‐61 (i386) 

elfutils‐libelf‐0.137‐3.el5 (i386) 

elfutils‐libelf‐devel‐0.137‐3.el5 (i386) 

expat‐1.95.8‐8.2.1 (i386) 

gcc‐4.1.2‐44.el5 (i386) 

gcc‐c++‐4.1.2‐44.el5 (i386) 

glibc‐2.5‐34 (i686) 

glibc‐common‐2.5‐34 (i386) 

glibc‐devel‐2.5‐34 (i386) 

glibc‐headers‐2.5‐34 (i386) 

ksh‐20080202‐2.el5 (i386) 

libaio‐0.3.106‐3.2 (i386) 

libaio‐devel‐0.3.106‐3.2 (i386) 

libgcc‐4.1.2‐44.el5 (i386) 

libstdc++‐4.1.2‐44.el5 (i386) 

libstdc++‐devel‐4.1.2‐44.el5 (i386) 

make‐3.81‐3.el5 (i386) 

package pdksh is not installed    ‐‐‐    pdksh  没有安装  

sysstat‐7.0.2‐3.el5 (i386) 

unixODBC‐2.2.11‐7.1 (i386) 

unixODBC‐devel‐2.2.11‐7.1 (i386) 

 

查询一些文档,pdksh 这个包可以不用安装。

 

rpm -qa | grep compat-libstdc++-33-3.2.3-61

rpm -qa | grep elfutils-libelf-0.125-3.el5

rpm -qa | grep elfutils-libelf-devel-0.125-3.el5

rpm -qa | grep glibc-devel-2.5-24.i386.rpm

rpm -qa | grep glibc-2.5-12

rpm -qa | grep glibc-headers-2.5-24.i386.rpm

rpm -qa | grep glibc-common-2.5-12

rpm -qa | grep libgomp-4.1.2-42.el5.i386.rpm

rpm -qa | grep kernel-headers

rpm -qa | grep libgcc-4.1.1-52.el5

rpm -qa | grep libaio-0.3.106-3.2

rpm -qa | grep libaio-devel-0.3.106-3.2

rpm -qa | grep libstdc++-4.1.1-52.el5

rpm -qa | grep libstdc++-devel-4.1.1-52.el5

rpm -qa | grep gcc-4.1.1-52.el5

rpm -qa | grep gcc-c++-4.1.1-52.el5

rpm -qa | grep unixODBC-2.2.11-7.1

rpm -qa | grep unixODBC-devel-2.2.11-7.1

rpm -qa | grep sysstat-7.0.0-3.el5

rpm -qa | grep binutils-2.17.50.0.6-2.el5

rpm -qa | grep make-3.81-1.1

 

cd "/media/RHEL_5.4 i386 DVD" 

cd Server

 

rpm -Uvh binutils-2.*

rpm -Uvh elfutils-libelf-0.*

rpm -Uvh glibc-2.*

rpm -Uvh glibc-common-2.*

rpm -Uvh libaio-0.*

rpm -Uvh libgcc-4.*

rpm -Uvh libstdc++-4.*

rpm -Uvh make-3.*

rpm -Uvh compat-libstdc++-33*

rpm -Uvh elfutils-libelf-devel-*

rpm -Uvh glibc-headers*

rpm -Uvh glibc-devel-2.*

rpm -Uvh libgomp*

rpm -Uvh gcc-4.*

rpm -Uvh gcc-c++-4.*

rpm -Uvh libaio-devel-0.*

rpm -Uvh libstdc++-devel-4.*

rpm -Uvh unixODBC-2.*

rpm -Uvh unixODBC-devel-2.*

rpm -Uvh sysstat-7.*

15             设置gridoracle用户的环境变量

 

Grid  Infrastructure 安装目录(注意: 不是GRID_HOME哦) :  

     ORACLE_BASE=/app/product/grid/crs

     ORACLE_HOME=/app/product/grid/11.2.0   

 

Oracle RDBMS 安装目录 : 

     ORACLE_BASE=/app/product/oracle 

     ORACLE_HOME=/app/product/app/11.2.0/db_1 

 

 

[root@racdb01 init.d]# su ‐ grid  

[grid@racdb01 ~]$ cd   /home/grid/ 

[grid@racdb01 ~]$ vi   .bash_profile   

以下 grid  bash_profile,  仅供参考,还有一些参数可以自行加入。  

 

# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

# .bash_profile 

# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

# OS User:       grid 

# Application:    Oracle Grid Infrastructure 

# Version:       Oracle 11g release 2 

# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

# Get the aliases and functions 

if [ ‐f ~/.bashrc ]; then 

       . ~/.bashrc 

fi 

 

alias ls="ls ‐FA" 

 

# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

# ORACLE_SID 

# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

# Specifies the Oracle system identifier (SID) 

# for the Automatic Storage Management (ASM)instance 

# running on this node. 

# Each RAC node must have a unique ORACLE_SID. 

# (i.e. +ASM1, +ASM2,...) 

# ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐

 

ORACLE_SID=+ASM1; export ORACLE_SID 

JAVA_HOME=/usr/local/java; export JAVA_HOME 

ORACLE_BASE=/app/product/grid/crs  ;   export ORACLE_BASE 

ORACLE_HOME=/app/product/grid/11.2.0  ;   export ORACLE_HOME  

 

ORACLE_TERM=vt100 ;   export ORACLE_TERM 

NLS_DATE_FORMAT="DD‐MON‐YYYY HH24:MI:SS"; export NLS_DATE_FORMAT 

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11 

 

PATH=${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin 

PATH=${PATH}:/usr/bin:/bin:/sbin:/usr/bin/X11:/usr/local/bin 

PATH=${PATH}:/app/product/common/app/bin 

export PATH 

 

LD_LIBRARY_PATH=$ORACLE_HOME/lib 

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib 

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib 

export LD_LIBRARY_PATH  

 

CLASSPATH=$ORACLE_HOME/JRE 

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib 

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib 

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib 

export   CLASSPATH  

 

export TEMP=/tmp 

export TMPDIR=/tmp  

umask 022 

 

同样在其他节点的 grid 用户.bash_profile 中加入,并注意修改 ORACLE_SID=+ASM1 . 

 

 

同样,安装 Oracle 软件的 Oracle 用户也需要设置.bash_profile .   

[root@racdb01 init.d]# su ‐ oracle   

[grid@racdb01 ~]$ cd   /home/app/ 

[grid@racdb01 ~]$ vi   .bash_profile  

 

# .bash_profile

# Get the aliases and functions

if [ -f ~/.bashrc ]; then

        . ~/.bashrc

fi

 

# User specific environment and startup programs

BASH_ENV=$HOME/.BASHRC

export BASH_ENV

export TEMP=/tmp

export TMPDIR=/tmp

PATH=$PATH:$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin

PATH=${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin

PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

PATH=${PATH}:/app/product/common/app/bin

export PATH 

ORACLE_SID=racdb1  export  ORACLE_SID 

ORACLE_BASE=/app/product/oracle;     export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/11.2.0/db_1;    export ORACLE_HOME

ORACLE_TERM=vt100;export ORACLE_TERM

export PATH=$ORACLE_HOME/bin:$PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH  

 

JAVA_HOME=/usr/local/java;   export JAVA_HOME

CLASSPATH=$ORACLE_HOME/JRE

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export   CLASSPATH

set -u  

PS1=`hostname`'<*$ORACLE_SID*$PWD>$';export PS1

EDITOR=/bin/vi; export EDITOR

alias ll='ls -l';

alias ls='ls --color';

alias his='history';

umask 022 

 

其他节点也设置,并注意修改 ORACLE_SID 部分。

 

 

 

 

 

 

 

 

 

16             划分共享磁盘  (在一个节点上运行 fdisk)  

 

[root@racdb01 ~]# 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        1759     9992430   83  Linux

/dev/sda4            1760        1958     1598467+   5  Extended

/dev/sda5            1760        1958     1598436   82  Linux swap / Solaris

 

Disk /dev/sdb: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/sdb doesn't contain a valid partition table

 

Disk /dev/sdc: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/sdc doesn't contain a valid partition table

 

Disk /dev/sdd: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/sdd doesn't contain a valid partition table

 

Disk /dev/sde: 4294 MB, 4294967296 bytes

255 heads, 63 sectors/track, 522 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

Disk /dev/sde doesn't contain a valid partition table

[root@racdb01 ~]# fdisk /dev/sdb

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.

 

The number of cylinders for this disk is set to 1305.

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)

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-1305, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-1305, default 1305):

Using default value 1305

 

Command (m for help): w

The partition table has been altered!

 

Calling ioctl() to re-read partition table.

Syncing disks.

 

 

再分别对 /dev/sdc, /dev/sdd,  /dev/sde 进行磁盘分区。 

 

 

最后结果如下:  

[root@racdb01 ~]# 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        1759     9992430   83  Linux

/dev/sda4            1760        1958     1598467+   5  Extended

/dev/sda5            1760        1958     1598436   82  Linux swap / Solaris

 

Disk /dev/sdb: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1        1305    10482381   83  Linux

 

Disk /dev/sdc: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdc1               1        1305    10482381   83  Linux

 

Disk /dev/sdd: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sdd1               1        1305    10482381   83  Linux

 

Disk /dev/sde: 4294 MB, 4294967296 bytes

255 heads, 63 sectors/track, 522 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

   Device Boot      Start         End      Blocks   Id  System

/dev/sde1               1         522     4192933+  83  Linux

[root@racdb01 ~]#

 

重新启动节点 12  ,查看是否都显示挂载正常。  

 

 

 

17             RHEL5Oracle11g ASMLib的安装 17.1        安装ASMLib   (每个节点都需要安装)   

Oracle OTN ASMLib网页下载ASMLib包, 使用uname –a查看系统核心版本, 下载的ASMLib

版本要与之匹配。 

 

RHEL5下的ASMLib2.0下载地址:

http://www.oracle.com/technology/global/cn/tech/linux/asmlib/index.html

打开上面的页面,会发现一个Red Hat Enterprise Linux 4 AS(x86)的链接,点击它,新打开的页面里有Red Hat Enterprise Linux 5 AS的下载链接了。

 

[root@racdb01 asmlib]# uname -a

Linux racdb01 2.6.18-164.el5xen #1 SMP Tue Aug 18 16:06:30 EDT 2009 i686 i686 i386 GNU/Linux

[root@racdb01 asmlib]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 5.4 (Tikanga)

 

查看是否有安装过:  

[root@racdb01 ~]# rpm -qa | grep oracleasm  

 

匹配的 ASMLib 文件如下  (以下也是文件安装顺序)  

 

 

oracleasm-support-2.1.7-1.el5.i386.rpm

oracleasm-2.6.18-164.el5xen-2.0.5-1.el5.i686.rpm

oracleasmlib-2.0.4-1.el5.i386.rpm

 

rpm -ivh oracleasm-support-2.1.7-1.el5.i386.rpm         

rpm -ivh oracleasm-2.6.18-164.el5xen-2.0.5-1.el5.i686.rpm

rpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm       

 

[root@racdb01 asmlib]# rpm -ivh oracleasm-support-2.1.7-1.el5.i386.rpm         

warning: oracleasm-support-2.1.7-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing...                ########################################### [100%]

   1:oracleasm-support      ########################################### [100%]

[root@racdb01 asmlib]# rpm -ivh oracleasm-2.6.18-164.el5xen-2.0.5-1.el5.i686.rpm

warning: oracleasm-2.6.18-164.el5xen-2.0.5-1.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing...                ########################################### [100%]

   1:oracleasm-2.6.18-164.el########################################### [100%]

[root@racdb01 asmlib]# rpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm

warning: oracleasmlib-2.0.4-1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159

Preparing...                ########################################### [100%]

   1:oracleasmlib           ########################################### [100%]

 

[root@racdb01 asmlib]# rpm -qa | grep oracleasm

oracleasmlib-2.0.4-1.el5

oracleasm-support-2.1.7-1.el5

oracleasm-2.6.18-164.el5xen-2.0.5-1.el5

 

同样在其他节点也执行。  

rpm -ivh oracleasm-support-2.1.7-1.el5.i386.rpm         

rpm -ivh oracleasm-2.6.18-164.el5xen-2.0.5-1.el5.i686.rpm

rpm -ivh oracleasmlib-2.0.4-1.el5.i386.rpm 

 

17.2        配置ASMLib(每个节点都要安装)

         参考:http://hi.baidu.com/keyi223/blog/item/adb5bcdfe5a90e1a49540324.html

    现在已经安装了 ASMLib 软件,系统管理员必须执行几个步骤来使 ASM 驱动程序可用。需要加载 ASM 驱动程序,并且需要装载驱动程序文件系统。这由初始化脚本 /etc/init.d/oracleasm 来处理。

17.2.1              启动oracle asmlib:

[root@racdb01 asmlib]# /etc/init.d/oracleasm start

Initializing the Oracle ASMLib driver: [  OK  ]

Scanning the system for Oracle ASMLib disks: [  OK  ]

17.2.2              启用asmlib

 [root@racdb01 asmlib]# /etc/init.d/oracleasm enable

Writing Oracle ASM library driver configuration: done

Initializing the Oracle ASMLib driver: [  OK  ]

Scanning the system for Oracle ASMLib disks: [  OK  ]

17.2.3              root用户配置asmlib

 'configure' 选项来运行 /etc/init.d/oracleasm 脚本。它将要求默认拥有 ASM 驱动程序访问点的用户和用户组。

[root@racdb01 ~]# /etc/init.d/oracleasm configure

Configuring the Oracle ASM library driver.

 

This will configure the on-boot properties of the Oracle ASM library

driver.  The following questions will determine whether the driver is

loaded on boot and what permissions it will have.  The current values

will be shown in brackets ('[]').  Hitting <ENTER> without typing an

answer will keep that current value.  Ctrl-C will abort.

 

Default user to own the driver interface []: grid

Default group to own the driver interface []: asmadmin

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: done

Initializing the Oracle ASMLib driver: [  OK  ]

Scanning the system for Oracle ASMLib disks: [  OK  ]

 

 

 

17.3 使用 ASMLib 去标示 Shared Disks 作为 Candidate Disks,在一个节点执行即可。 

 

A.  使用 ASMLib 创建 ASM Disks ,  语法如下:  

# /usr/sbin/oracleasm   createdisk   disk_name   device_partition_name    

 

其中 disk_name 是你为 ASM  Disk 选择的一个名字,名字只能包含数字字母及下划线,比如

OCR01  ,  DATA01  .   device_partition_name  标示为 ASM 的系磁盘分区,如/dev/sdb1 ,

 /dev/sdc1    

 

如果你发现设置错误或需要 unmark这个磁盘,可以运行如下命令:  

# /usr/sbin/oracleasm    deletedisk   disk_name   

 

下面开始设置共享磁盘。  

 

根据规划:

Block Device      ASMlib Name     Size     Comments  

/dev/sdb1        OCR_VOTE01      1GB      ASM Diskgroup for OCR and Voting Disks 

/dev/sdc1        ASM_DATA01      2GB      ASM Data Diskgroup 

/dev/sdd1        ASM_DATA02      2GB      ASM Data Diskgroup  (镜像磁盘组)

/dev/sde1        ASM_FRA         1GB       ASM Flash Recovery Area Diskgroup 

 

# /usr/sbin/oracleasm   createdisk   OCR_VOTE01   /dev/sdb1   

# /usr/sbin/oracleasm   createdisk   ASM_DATA01   /dev/sdc1   

# /usr/sbin/oracleasm   createdisk   ASM_DATA02   /dev/sdd1    

# /usr/sbin/oracleasm   createdisk   ASM_FRA     /dev/sde1  

 

运行结果如下, 

[root@racdb01 asmlib]#  /usr/sbin/oracleasm   createdisk   OCR_VOTE01   /dev/sdb1

Writing disk header: done

Instantiating disk: done

[root@racdb01 asmlib]# /usr/sbin/oracleasm   createdisk   ASM_DATA01   /dev/sdc1

Writing disk header: done

Instantiating disk: done

[root@racdb01 asmlib]# /usr/sbin/oracleasm   createdisk   ASM_DATA02   /dev/sdd1

Writing disk header: done

Instantiating disk: done

[root@racdb01 asmlib]#  /usr/sbin/oracleasm   createdisk   ASM_FRA     /dev/sde1

Writing disk header: done

Instantiating disk: done

[root@racdb01 asmlib]#

 

 

B.   在节点 1上为 RAC创建了所有的 ASM disks 后,使用 listdisks  命令确认他们的可用性。 

[root@racdb01 ~]# /usr/sbin/oracleasm   listdisks

ASM_DATA01

ASM_DATA02

ASM_FRA

OCR_VOTE01

 

然后在所有其他节点上以 root 用户身份,使用 scandisks 命令扫描已经创建的 ASM 磁盘,也

就是说,我们只需要在节点 1 上创建 ASM 磁盘,其他节点不需要。  

[root@racdb02 ~]# /usr/sbin/oracleasm   scandisks

Reloading disk partitions: done

Cleaning any stale ASM disks...

Scanning system for ASM disks...

Instantiating disk "OCR_VOTE01"

Instantiating disk "ASM_DATA01"

Instantiating disk "ASM_DATA02"

Instantiating disk "ASM_FRA"

 

最后在其他节点通过 listdisks  检查 ASM 磁盘的可用性。  

[root@racdb02 ~]# /usr/sbin/oracleasm  listdisks

ASM_DATA01

ASM_DATA02

ASM_FRA

OCR_VOTE01

 

 

18             准备安装 Oracle Grid Infrastructure   

切换到 grid 用户,准备安装 grid  Infrastructure  .  首先需要确认所有节点 grid 用户的环境变

.bash_profile .  

 

安装用于  Linux    cvuqdisk  程序包  

 

在两个  Oracle RAC  节点上安装操作系统程序包  cvuqdisk。如果没有  cvuqdisk,集群验证实

用程序就无法发现共享磁盘,当运行(手动运行或在  Oracle Grid  Infrastructure  安装结束时

自动运行) 集群验证实用程序时, 您会收到这样的错误消息: “Package cvuqdisk not installed” 

注意使用适用于你的硬件体系结构(例如,x86_64    i386)的  cvuqdisk RPM  

 

cvuqdisk  RPM  包含在  Oracle  Grid  Infrastructure  安装介质上的  rpm  目录中。

 

解压 linux_11gR2_grid.zip

[root@racdb01 asmlib]# cd /orasoft

[root@racdb01 orasoft]# ls -l

total 958784

-rw-r----- 1 root root 980831749 Dec  1 14:36 linux_11gR2_grid.zip

[root@racdb01 orasoft]# unzip linux_11gR2_grid.zip 

 

[root@racdb01 rpm]# cd /orasoft/grid/rpm

[root@racdb01 rpm]# ls -l

total 8

-rw-rw-r-- 1 root root 7831 Jun  3  2009 cvuqdisk-1.0.7-1.rpm

[root@racdb01 rpm]# ls

cvuqdisk-1.0.7-1.rpm

[root@racdb01 rpm]#

 

要安装  cvuqdisk RPM,执行以下步骤:  

  grid  用户帐户将  cvuqdisk  程序包从节点 1 复制到节点 2   

 

  root  用户身份分别登录到两节点:  

设置环境变量  CVUQDISK_GRP, 使其指向作为  cvuqdisk  的所有者所在的组 (本文为  oinstall) :   

 

[root@racdb01 rpm]# export   CVUQDISK_GRP=oinstall

[root@racdb01 rpm]# rpm -ihv cvuqdisk-1.0.7-1.rpm

Preparing...                ########################################### [100%]

   1:cvuqdisk               ########################################### [100%]

 

在节点2执行

 

[root@racdb02 home]# export  CVUQDISK_GRP=oinstall 

[root@racdb02 home]# rpm -ivh cvuqdisk-1.0.7-1.rpm

Preparing...                ########################################### [100%]

   1:cvuqdisk               ########################################### [100%]

 

 

使用  CVU  验证是否满足  Oracle  集群件要求(可选),下面文字只是说明。 

在运行  Oracle  安装程序之前不一定要运行集群验证实用程序。从 Oracle Clusterware 11g   

2  版开始, Oracle Universal Installer (OUI)  会检测到不满足最低安装要求的情况, 并创建  shell 

脚本(称为修复脚本)以完成尚未完成的系统配置步骤。如果  OUI  发现未完成的任务,它

会生成修复脚本  (runfixup.sh)。 在  Oracle Grid Infrastructure  安装过程中, 单击  Fix and Check 

Again Button  之后,可以运行修复脚本。  

 

您也可以让  CVU  在安装之前生成修复脚本。  

如果您决定亲自运行  CVU,请记住要作为  grid  用户在将要执行  Oracle  安装的节点  (racdb01) 

上运行。此外,必须为  grid  用户配置通过用户等效性实现的  SSH  连通性。如果您打算使

  OUI  配置  SSH  连接,则  CVU  实用程序会失败,它没有机会执行其任何的关键检查并生

成修复脚本:  

 

 

这里我们以传统方式先建立各节点间的 SSH连通性( grid用户 ) 

在节点 1 上:  

[root@racdb01 rpm]# su - grid

[grid@racdb01 ~]$

[grid@racdb01 ~]$ cd /home/grid/

[grid@racdb01 ~]$ mkdir  .ssh

 [grid@racdb01 ~]$ chmod 700  .ssh/

[grid@racdb01 ~]$

 

 

同样在节点 2 上执行:  

[root@racdb02 home]# su - grid 

[grid@racdb02 ~]$ cd   /home/grid/

[grid@racdb02 ~]$ mkdir .ssh

[grid@racdb02 ~]$ chmod 700 .ssh

[grid@racdb02 ~]$

 

 

在节点 1 上:  

[root@racdb01 rpm]# su - grid

[grid@racdb01 ~]$

[grid@racdb01 ~]$ cd /home/grid/

[grid@racdb01 ~]$ mkdir  .ssh

 [grid@racdb01 ~]$ chmod 700  .ssh/

[grid@racdb01 ~]$ ssh-keygen -t  rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/grid/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/grid/.ssh/id_rsa.

Your public key has been saved in /home/grid/.ssh/id_rsa.pub.

The key fingerprint is:

57:eb:a8:61:e2:5f:a0:ed:0e:7d:4a:3d:41:df:fb:b1 grid@racdb01

[grid@racdb01 ~]$ ssh-keygen -t  dsa

Generating public/private dsa key pair.

Enter file in which to save the key (/home/grid/.ssh/id_dsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/grid/.ssh/id_dsa.

Your public key has been saved in /home/grid/.ssh/id_dsa.pub.

The key fingerprint is:

08:7a:8c:74:4b:cd:34:fd:4a:eb:88:b4:fa:58:7d:0f grid@racdb01

[grid@racdb01 ~]$

 

 

 

同样在节点 2 上执行:   

[grid@racdb02 ~]$ ssh-keygen  -t  rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/home/grid/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/grid/.ssh/id_rsa.

Your public key has been saved in /home/grid/.ssh/id_rsa.pub.

The key fingerprint is:

d0:d2:58:0f:b5:93:f2:76:f0:9d:b5:d6:45:cc:72:f5 grid@racdb02

[grid@racdb02 ~]$

[grid@racdb02 ~]$ ssh-keygen  -t  dsa

Generating public/private dsa key pair.

Enter file in which to save the key (/home/grid/.ssh/id_dsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /home/grid/.ssh/id_dsa.

Your public key has been saved in /home/grid/.ssh/id_dsa.pub.

The key fingerprint is:

6b:4b:12:50:c9:00:35:24:ab:ce:6c:ba:98:49:7f:2b grid@racdb02

 

 

在节点 1 上执行:  

[grid@racdb01 ~]$ cd /home/grid/.ssh/

[grid@racdb01 .ssh]$ ssh racdb01 cat  /home/grid/.ssh/id_rsa.pub >>authorized_keys

The authenticity of host 'racdb01 (10.161.32.161)' can't be established.

RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'racdb01,10.161.32.161' (RSA) to the list of known hosts.

grid@racdb01's password:

[grid@racdb01 .ssh]$ ssh racdb01 cat  /home/grid/.ssh/id_dsa.pub >>authorized_keys

[grid@racdb01 .ssh]$ ssh racdb02 cat  /home/grid/.ssh/id_rsa.pub >>authorized_keys

The authenticity of host 'racdb02 (10.161.32.162)' can't be established.

RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'racdb02' (RSA) to the list of known hosts.

grid@racdb02's password:

[grid@racdb01 .ssh]$ ssh racdb02 cat  /home/grid/.ssh/id_dsa.pub >>authorized_keys

grid@racdb02's password:

[grid@racdb01 .ssh]$

 

 

在节点 1 上将生成的 authorized_keys  拷贝到节点 2 上。  

[grid@racdb01 .ssh]$ cd /home/grid/.ssh/

[grid@racdb01 .ssh]$ scp authorized_keys  racdb02:/home/grid/.ssh/

grid@racdb02's password:

authorized_keys                                                          100% 1988     1.9KB/s   00:00   

[grid@racdb01 .ssh]$

 

 

在节点 1 及节点 2  chmod   authorized_keys      

[grid@racdb01 .ssh]$ cd   /home/grid/.ssh/ 

[grid@racdb01 .ssh]$ chmod   600   authorized_keys 

 

[grid@racdb02 .ssh]$ cd /home/grid/.ssh/ 

[grid@racdb02 .ssh]$ chmod 600 authorized_keys 

 

 

 

测试节点 1 SSH 连通性。 

在节点 1 上:  

[root@racdb01 ~]# su - grid

[grid@racdb01 ~]$ ssh  racdb01 date

Thu Nov 10 16:47:25 CST 2011

[grid@racdb01 ~]$ ssh racdb02 date

Thu Nov 10 16:47:28 CST 2011

[grid@racdb01 ~]$ ssh racdb01-priv date

The authenticity of host 'racdb01-priv (10.1.1.11)' can't be established.

RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'racdb01-priv,10.1.1.11' (RSA) to the list of known hosts.

Thu Nov 10 16:47:37 CST 2011

[grid@racdb01 ~]$ ssh racdb02-priv date

The authenticity of host 'racdb02-priv (10.1.1.12)' can't be established.

RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'racdb02-priv,10.1.1.12' (RSA) to the list of known hosts.

Thu Nov 10 16:47:43 CST 2011

[grid@racdb01 ~]$

 

 

 

在节点 2 上:  

[root@racdb02 ~]# su - grid

[grid@racdb02 ~]$ ssh racdb01 date

The authenticity of host 'racdb01 (10.161.32.161)' can't be established.

RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'racdb01,10.161.32.161' (RSA) to the list of known hosts.

Thu Nov 10 16:48:40 CST 2011

[grid@racdb02 ~]$ ssh racdb02 date

The authenticity of host 'racdb02 (10.161.32.162)' can't be established.

RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'racdb02,10.161.32.162' (RSA) to the list of known hosts.

Thu Nov 10 16:48:45 CST 2011

[grid@racdb02 ~]$ ssh racdb01-priv date 

The authenticity of host 'racdb01-priv (10.1.1.11)' can't be established.

RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'racdb01-priv,10.1.1.11' (RSA) to the list of known hosts.

Thu Nov 10 16:48:54 CST 2011

[grid@racdb02 ~]$ ssh racdb02-priv date 

The authenticity of host 'racdb02-priv (10.1.1.12)' can't be established.

RSA key fingerprint is bf:17:7b:22:7a:fe:31:67:5e:7d:b2:a2:15:66:cf:4e.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'racdb02-priv,10.1.1.12' (RSA) to the list of known hosts.

Thu Nov 10 16:49:01 CST 2011

 

 

 

 

手动运行 CVU 使用程序验证 Oracle  集群件要求(一个节点执行)

 

 grid 软件解压的目录下执行 runcluvfy.sh  命令:  

 

[root@racdb01 ~]# su - grid

[grid@racdb01 ~]$ cd /orasoft/grid/ 

[grid@racdb01 grid]$ ./runcluvfy.sh stage -pre crsinst -n racdb01,racdb02 -fixup -verbose

 

查看  CVU  报告。  在本文所述配置情况下,应该只发现如下的唯一一个错误:  

 

Check: Membership of user "grid" in group "dba"  

   Node Name          User Exists    Group Exists   User in Group   Comment          

    ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐    ‐‐‐‐‐‐‐‐‐‐‐‐    ‐‐‐‐‐‐‐‐‐‐‐‐    ‐‐‐‐‐‐‐‐‐‐‐‐    ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 

   rac02              yes            yes            no             failed           

   racdb01              yes            yes            no             failed           

 

.......

 

上面一个检查失败的原因是,通过任务角色划分  配置创建了以角色分配的组和用户,而  CVU  不能正确识

别这种配置。如何创建任务角色划分配置。CVU  不能识别此类配置,因而假定  grid  用户始终是  dba  组的

成员。可以放心地忽略这个失败的检查。CVU  执行的所有其他检查的结果报告应该为“passed” ,之后才能

继续进行  Oracle Grid Infrastructure  的安装。  

 

同通过执行结果我们可以看到基本都是 passed,  如果 NTP 时间同步部分有 fail,  我们可以到

/etc/ntp.conf 下面将此文件改名,比如 ntp.conf.bak  (安装完成之后再改回来)  .  只要时间同步

 OK .  

 

 

然后在节点 1 上使用 CVU 验证硬件和操作系统设置。 

同样,在  racdb01  节点上以具有用户等效性配置的  grid  用户帐户运行以下命令:  

[root@racdb01 ~]# su - grid 

[grid@racdb01 grid]$ cd /orasoft/grid/ 

[grid@racdb01 grid]$ ./runcluvfy.sh  stage -post hwos -n racdb01,racdb02 -verbose 

 

查看  CVU  报告。CVU  执行的所有其他检查的结果报告应该为“passed” ,之后才能继续进

  Oracle Grid Infrastructure  的安装。 

 

19             开始安装  Grid Infrastructure  

需要图形界面安装 Grid  Infrastructure 软件,这里使用 VNC。以 grid 用户登陆,进入到 grid  

infrastructure 解压后的目录 , 运行$./runInstaller  

 

A. 选择Install and Configure Grid Infrastructure for a Cluster . 下一步。

   注意: 11g要使用ASM,即使单机也需要安装Grid Infrastructure.

B. 选择高级安装 - Advanced Installation .

C. 选择需要的语言,这里我们全选了。

D. 填写Cluster Namerac, SCAN Nameracscan(/etc/hosts中设置匹配)port=1521.

   不配置GNS.

E. 配置节点信息: racdb01, vip001 ;  racdb02,  vip002 . 

F. 设置网卡(按照/etc/hostsIP对应设置,多余的都设置为Do Not Use).

G. Storage项选择ASM .

H. 创建ASM磁盘组:注意这里high表示5个镜像,Normal表示3个镜像,我们选择External,因为

   我们测试只有一个磁盘组,没有设置failure group, 生产库一般最好选择Normal.

   Disk Group Name : OCR_VOTE (自己起名字),选择External, Add Disks部分,选择

   Candidate Disks及对应的ORCL:    OCR_VOTE01 .

 

备注:   

(1). 如果是用来放置ocr/vddiskgroup,那么externalnormalhigh 对应的failgroup至少

135个,也就是至少需要135disk 

(2). 如果是普通的ASM 用来放置data filediskgroup,那么externalnormalhigh对应的

failgroup至少为123个,也就是至少需要123disk

 

I. 设置ASM实例的syssysasm用户的密码。

J. 选择不使用IPMI . 

K. 操作系统组: asmdba, asmoper, asmadmin .

L. grid用户的ORACLE_BASEORACLE_HOME, 按照grid用户的.bash_profile设置来。

    /app/product/grid/crs ,  /app/product/grid/11.2.0 

M. Oracle Inventory :  /app/product/grid/oraInventory , 注意这些目录的权限。 

O. 拷贝及安装文件,两个节点按顺序运行orainstRoot.shroot.sh 脚本。

   注意:运行root.sh比较长时间,所以最好vnc登入本机运行,以免断开。

   如果中间出现异常需要卸载grid,可以使用下面命令彻底清理 :

   [grid@racdb01 ~]$ cd   /app/grid/  

   [grid@racdb01 grid]$ cd  deinstall/  

   [grid@racdb01 deinstall]$ ./deinstall   

 

如果在安装过程中出现问题需要重新安装grid infrastructure软件,那么还需要

ocrvotingdisk所在区域进行清理 (ASM)   

[root@racdb01 ~]# dd if=/dev/zero of=/dev/sdb1 bs=10M count=10

 

文章转载自网管之家:http://www.bitscn.com/pdb/oracle/200811/154450_3.html

P. 执行完成后OK, 我们可能看到安装到最后可能会报错INS-20802错误,可以skip

 

我们在节点 1上通过 crs_stat –t 查看服务开启状态(oc4j  gsd offline 是正常的)  

[root@racdb02 oracle]# su ‐ grid 

[grid@racdb02 ~]$  

[grid@racdb02 ~]$ crs_stat ‐t   

Name            Type            Target     State      Host         

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ ‐‐‐‐‐‐ 

ora....ER.lsnr ora....er.type ONLINE     ONLINE     racdb01        

ora....N1.lsnr ora....er.type ONLINE     ONLINE     racdb01        

ora....VOTE.dg ora....up.type ONLINE     ONLINE     racdb01        

ora.asm         ora.asm.type    ONLINE     ONLINE     racdb01        

ora.eons        ora.eons.type   ONLINE     ONLINE     racdb01        

ora.gsd         ora.gsd.type    OFFLINE    OFFLINE                

ora....network ora....rk.type ONLINE     ONLINE     racdb01        

ora.oc4j        ora.oc4j.type   OFFLINE    OFFLINE                

ora.ons         ora.ons.type    ONLINE     ONLINE     racdb01        

ora....SM1.asm application     ONLINE     ONLINE     racdb01        

ora....01.lsnr application     ONLINE     ONLINE     racdb01        

ora.racdb01.gsd   application     OFFLINE    OFFLINE                

ora.racdb01.ons   application     ONLINE     ONLINE     racdb01        

ora.racdb01.vip   ora....t1.type ONLINE     ONLINE     racdb01        

ora....SM2.asm application     ONLINE     ONLINE     rac02        

ora....02.lsnr application     ONLINE     ONLINE     rac02        

ora.rac02.gsd   application     OFFLINE    OFFLINE                

ora.rac02.ons   application     ONLINE     ONLINE     rac02        

ora.rac02.vip   ora....t1.type ONLINE     ONLINE     rac02        

ora....ry.acfs ora....fs.type ONLINE     ONLINE     racdb01        

ora.scan1.vip   ora....ip.type ONLINE     ONLINE     racdb01   

 

备注:  

 11gr2 中,默认 oc4j gsd 资源是 disable 的;  

oc4j  是用于WLM 的一个资源  , WLM 11.2.0.2 才可用;  

gsd  CRS 用于跟 9i RAC  进行通信的一个模块,是为了向后兼容

才保留的,不影响性能;建议不要刪除,也不要尝试开启他们,  忽略即可。   

 

20             开始安装 Oracle RDBMS  软件 

 

 Oracle 用户创建一个 vnc session,以便登入后不用切换用户(通过 root 或其他用户切换到

oracle 可能会碰到安装图形界面显示的问题) 

 

[root@racdb02 u01]# su - oracle

[oracle@racdb02 ~]$

[oracle@racdb01 database]$ pwd

/app/packages/database

[oracle@racdb01 database]$

[oracle@racdb01 database]$ ./runInstaller

 

图形界面出现后。

 

A. 输入Email . 不用选择下面security部分,也不用设置proxry server.

B. 只是Install database software only.

C. 选择Real Application Clusters database installation, 可以看到两个节点node name.

   点击下面的 SSH Connectivity按钮,设置oracle用户密码,点击Setup, 成功后点击Test.

D. 选择语言。

E. 安装企业版。

F. 按照Oracle用户的.bash_profile设置ORACLE_BASEORACLE_HOME.

G. 选择操作系统组: dba, oinstall .

H. 开始安装。

I. 按照提示在各个节点按照顺序执行root.sh .

J. 提示安装成功。

 

 

 

 

21             运行ASMCA创建磁盘组。

 

grid用户登入开始ASMCA配置磁盘组,因为是图形界面,我们使用grid用户的

vnc session .

 

[grid@racdb01 bin]$ pwd 

/app/grid/11.2.0/bin 

[grid@racdb01 bin]$ ./asmca  

 

图形界面显示到Disk Groups 。我们可以看到先前配置的OCR_VOTE已经在列。点击

下面的create 创建datafileflash recovery areaASM磁盘组。

 

磁盘组名称ORADATA, 冗余部分选择External, 点击磁盘为ORCL:ASMDATA01ORCL:ASMDATA02,点击OK.

继续create

磁盘组名称ORAFLASH, 冗余部分选择External, 磁盘为ASM_FRA,点击OK.

全部OK后点击QUIT退出。

 

 

 

22             运行 DBCA 创建数据库。 

 oracle 用户登陆系统 dbca 创建数据库,这里我们以 oracle 用户创建的 VNC  session 登入

VNC .  

 

[oracle@racdb01 bin]$ dbca 

 

A. 创建RAC库。

B. Create a Database.

C. 选择Custom Database .

D. 配置类型为Admin-Managed, 全局数据库名及SID Prefix都是racdb(Oracle用户的.bash_profile

   中有设置), 节点部分Select All.

E. 企业管理器部分默认。

F. 测试用,所以所有用户设置一个密码。

G. 设置存储类型: ASM, 选择"Use Common Location for All Database Files"

   Database Files Location:   +ORADATA, 弹出设置ASMSNMP密码框。

H. 选择Specify Flash Recovery Area , 路径部分为+ORAFLASH, 大小为4977M,

   设置自动归档,点击设置归档路径为 +ORADATA/RACDB/arch

   建议: 如果只是设置+ORADATA, 这里归档文件会使用 OMF的格式,不遵循初始参数中

    format,  建议安装完成后手工自己建立一个 ASM 目录来放置归档文件,这样文件

   名称就会遵守 format 规则了。警告信息忽略。

I. 数据库组件默认即可。

J. Mem 使用AMM, Sizing使用16K, 字符集采用AL32UTF8. 连接模式采用Dedicated Server.

K. 设置控制文件及表空间,redo log group.

L. 安装完毕。

 

[grid@racdb01 ~]$ crs_stat ‐t   

Name            Type            Target     State      Host         

‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 

ora....ER.lsnr ora....er.type ONLINE     ONLINE     racdb01        

ora....N1.lsnr ora....er.type ONLINE     ONLINE     racdb01        

ora....VOTE.dg ora....up.type ONLINE     ONLINE     racdb01        

ora.ORADATA.dg ora....up.type ONLINE     ONLINE     racdb01        

ora....LASH.dg ora....up.type ONLINE     ONLINE     racdb01        

ora.asm         ora.asm.type    ONLINE     ONLINE     racdb01        

ora.eons        ora.eons.type   ONLINE     ONLINE     racdb01        

ora.gsd         ora.gsd.type    OFFLINE    OFFLINE                

ora....network ora....rk.type ONLINE     ONLINE     racdb01        

ora.oc4j        ora.oc4j.type   OFFLINE    OFFLINE                

ora.ons         ora.ons.type    ONLINE     ONLINE     racdb01        

ora....SM1.asm application     ONLINE     ONLINE     racdb01        

ora....01.lsnr application     ONLINE     ONLINE     racdb01        

ora.racdb01.gsd   application     OFFLINE    OFFLINE                

ora.racdb01.ons   application     ONLINE     ONLINE     racdb01        

ora.racdb01.vip   ora....t1.type ONLINE     ONLINE     racdb01        

ora....SM2.asm application     ONLINE     ONLINE     rac02        

ora....02.lsnr application     ONLINE     ONLINE     rac02        

ora.rac02.gsd   application     OFFLINE    OFFLINE                

ora.rac02.ons   application     ONLINE     ONLINE     rac02     

ora.rac02.vip   ora....t1.type ONLINE     ONLINE     rac02        

ora.racdb.db    ora....se.type ONLINE     ONLINE     racdb01       

ora....ry.acfs ora....fs.type ONLINE     ONLINE     racdb01        

ora.scan1.vip   ora....ip.type ONLINE     ONLINE     racdb01        

 

 

 

 

23             问题点及解决:  

后来测试发现,归档路径不能正常归档,可能是在设置规定那个路径的时候有些问题。 

这里重新通过 ASMCMD命令重新建立归档路径及重新设置初始化参数中的归档路径。 

[root@racdb01 ~]# su ‐ grid 

[grid@racdb01 ~]$ id 

uid=501(grid) gid=501(oinstall) groups=501(oinstall),504(asmadmin),506(asmdba),507(asmoper) 

[grid@racdb01 ~]$ asmcmd 

ASMCMD> help  

ASMCMD> ls 

OCR_VOTE/ 

ORADATA/ 

ORAFLASH/ 

ASMCMD> cd oradata   (不区分大小写的

ASMCMD> ls 

RACDB/ 

ASMCMD> cd racdb 

ASMCMD> ls 

CONTROLFILE/ 

DATAFILE/ 

ONLINELOG/ 

PARAMETERFILE/ 

TEMPFILE/ 

control01.ctl 

control02.ctl 

redo01.log 

redo02.log 

redo03.log 

redo04.log 

spfileracdb.ora 

准备在 ASM 磁盘下建立 arch 目录,用于存放归档。 

ASMCMD> pwd   (查看一下目录)  

+oradata/racdb  

ASMCMD> mkdir arch  

ASMCMD>ls  

[root@racdb01 ~]# su ‐ oracle 

[oracle@racdb01 ~]$ sqlplus "/as sysdba"  

SQL> alter system set log_archive_dest_1='LOCATION=+ORADATA/RACDB/arch';   

归档测试,通过 ASMCMD 查看 ASM磁盘下的归档情况,测试 OK.   

 

 

VMware本来用得好好的,今天同时开两台虚拟主机遇到问题了。

先开的主机正常进入系统了,后面开的那台弹出错误提示:

VMware Workstation 无法恢复错误: (vcpu-0)…………核心文件可以用于“C:Documents and SettingsAdministratorApplication DataVMwarevmware-vmx-3252.dmp”。请请求支持并包含日志文件与核心文件的内容。 要收集用于提交 VMware 支持的文件,请运行 vm-support.vbs…………

我把每台虚拟主机单独做测试,在只开一台的情况下,一切正常。只有同时开这两台的时候才出错。于是思考这两台的关系:

先安装好一台虚拟机,然后复制出另一台来。复制的这台,首次开机时vmware会询问你是移动了它,还是复制了它,我选择的是I moved it.”  这样导致的问题是两台虚拟主机的一个内部编号重复,这个编号是vmware用于标识每台虚拟机的,我们称它为uuid.

这个uuid重复导致两台虚拟主机不能同时开启,否则会冲突,后面开的一台就起不来。

解决方法

把其中一台虚拟主机重新复制一份,文件夹名字改一下,用vmware打开这台复制的主机,它询问是复制还是移动的时候,请你选择“I copied it”,这样一来vmware会给它分配一个新的uuid,就可以和之前的主机同时开启了。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广