VMware超详细Oracle RAC安装及搭建指南

本文以VMware虚拟机作为测试环境,搭建包含两个节点的RAC集群。VMware虚拟磁盘作为共享存储盘,磁盘分配容量大小仅供参考。

由于安装过程以大量截图方式进行说明,建议在PC端浏览。

环境说明

  • 虚拟机软件:VMware Workstation 15 Pro
  • 虚拟机操作系统:Oracle Linux 6.10 64位
  • 数据库版本:Oracle 11gR2

准备工作

创建共享磁盘

搭建RAC集群需要共享空间作为注册盘和投票盘及数据文件的存储,使用添加VMware硬盘的方式创建共享磁盘。

1. 添加硬盘
VMware超详细Oracle RAC安装及搭建指南_第1张图片
2. 选择磁盘类型
VMware超详细Oracle RAC安装及搭建指南_第2张图片
3. 创建新的虚拟磁盘
VMware超详细Oracle RAC安装及搭建指南_第3张图片
4. 指定磁盘容量

勾选立即分配所有磁盘空间,并存储为单个文件。
VMware超详细Oracle RAC安装及搭建指南_第4张图片
5. 指定磁盘文件存放位置
VMware超详细Oracle RAC安装及搭建指南_第5张图片
6. 硬盘高级设置

选择创建的磁盘,并打开高级设置,勾选“独立”模式和“永久”属性。
VMware超详细Oracle RAC安装及搭建指南_第6张图片
分别创建其他磁盘后,磁盘文件如下图所示:
VMware超详细Oracle RAC安装及搭建指南_第7张图片
配置完毕后的虚拟机设备信息如下:
VMware超详细Oracle RAC安装及搭建指南_第8张图片

这里创建了两个1GB的注册盘(orc),一个1GB的投票盘(votingdisk),一个5GB的数据盘(data),一个2GB的备份盘(backup)。
虚拟设备节点分别是:SCSI1:0/SCSI1:1/SCSI1:2/SCSI1:3/SCSI1:4

修改虚拟机vmx文件

在虚拟机的vmx文件中添加配置信息。

scsi1.sharedBus= "virtual"
disk.locking= "false"
diskLib.dataCacheMaxSize= "0"
diskLib.dataCacheMaxReadAheadSize= "0"
diskLib.DataCacheMinReadAheadSize= "0"
diskLib.dataCachePageSize= "4096"
diskLib.maxUnsyncedWrites= "0"

配置网络适配器

为虚拟机添加两个网络适配器。一个网卡用于对外提供服务(Public NIC),另一个网卡用于集群内部通信(Private NIC)。所以,第一个网络适配器选择桥接模式,第二个网络适配器选择仅主机模式。
在这里插入图片描述

网络规划

配置项 主机节点1 主机节点2
主机名 rac1 rac2
Public 网卡名称 eth2
Public IP 192.168.6.101 192.168.6.102
Private 网卡名称 eth3
Private IP 192.168.80.101 192.168.80.102
Virtual IP 192.168.6.201 192.168.6.202
Scan IP 192.168.6.105

安装操作系统

下载并在虚拟机中安装OracleLinux 6.10,安装过程略。

系统设置

操作系统安装完成后,需要进行一些必要的设置,以顺利安装Oracle软件。

关闭并禁用防火墙

1. 关闭防火墙

service iptables stop

2. 禁止防火墙开机启动

chkconfig iptables off

3. 关闭SELinux

setenforce 0

4. 禁用SELinux
修改/etc/sysconfig/selinux文件,并设置SELINUX=disabled

创建用户和组

/usr/sbin/groupadd -g 1010 oinstall
/usr/sbin/groupadd -g 1020 asmadmin
/usr/sbin/groupadd -g 1021 asmdba
/usr/sbin/groupadd -g 1022 asmoper
/usr/sbin/groupadd -g 1031 dba
/usr/sbin/groupadd -g 1032 oper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle

创建目录结构

mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
mkdir /u01/app/oracle
chown -R grid:oinstall /u01
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/

配置内核参数

在配置文件/etc/sysctl.conf添加以下内容:

kernel.msgmnb = 65536 
kernel.msgmax = 65536 
kernel.shmmax = 68719476736 
kernel.shmall = 4294967296 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
fs.aio-max-nr = 1048576 
fs.file-max = 6815744 
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 = 1048586 
net.ipv4.tcp_wmem = 262144 262144 262144 
net.ipv4.tcp_rmem = 4194304 4194304 4194304

配置shell限制

修改/etc/security/limits.conf配置文件,对grid和oracle用户分别设置。

grid soft nproc 2047 
grid hard nproc 16384 
grid soft nofile 1024 
grid hard nofile 65536 
oracle soft nproc 2047 
oracle hard nproc 16384 
oracle soft nofile 1024 
oracle hard nofile 65536

配置login

/etc/pam.d/login文件最后添加一行内容:

session    required     pam_limits.so

安装软件包

1. 挂载操作系统安装光盘

mkdir -p /mnt/cdrom
mount /dev/cdrom /mnt/cdrom/

2. 添加安装源

vi /etc/yum.repos.d/dvd.repo
[dvd] 
name=dvd 
baseurl=file:///mnt/cdrom 
gpgcheck=0 
enabled=1

3. 重新生成元数据缓存

yum clean all
yum makecache

如果无法连接官方安装源,可禁用。

yum-config-manager --disable public_ol6_UEKR4
yum-config-manager --disable public_ol6_latest

4. 安装需要的软件包

yum install gcc gcc-c++ glibc* glibc-devel* ksh libgcc* libstdc++* libstdc++-devel* make sysstat

安装并配置ASM

1. 安装ASM软件包

rpm -ivh kmod-oracleasm-2.0.8-16.el6_10.x86_64.rpm
rpm -ivh oracleasmlib-2.0.12-1.el6.x86_64.rpm
rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64.rpm

2. 配置ASM

[root@rac1 rpm]# oracleasm configure -i
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  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

配置完成后,确认已经为启用状态。

[root@rac1 rpm]# oracleasm configure
ORACLEASM_ENABLED=true
ORACLEASM_UID=grid
ORACLEASM_GID=asmadmin
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=""
ORACLEASM_SCANEXCLUDE=""
ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"

3. 创建磁盘分区

[root@rac1 rpm]# fdisk /dev/sdb

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-130, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-130, default 130): 
Using default value 130

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

重复上述步骤,对其他磁盘进行分区。

全部执行完成后,查看分区。

[root@rac1 ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdc  /dev/sdc1  /dev/sdd  /dev/sdd1  /dev/sde  /dev/sde1  /dev/sdf  /dev/sdf1

4. 创建ASM磁盘

[root@rac1 rpm]# oracleasm createdisk OCR1 /dev/sdb1
Writing disk header: done
Instantiating disk: failed
Clearing disk header: done

创建失败时,需重启系统后重试。

其他sdc,sdd,sde,sdf以相同方式执行。

[root@rac1 ~]# oracleasm createdisk OCR2 /dev/sdc1 
Writing disk header: done
Instantiating disk: done
[root@rac1 ~]# oracleasm createdisk VOTINGDISK /dev/sdd1
Writing disk header: done
Instantiating disk: done
[root@rac1 ~]# oracleasm createdisk DATA /dev/sde1      
Writing disk header: done
Instantiating disk: done
[root@rac1 ~]# oracleasm createdisk BACKUP /dev/sdf1
Writing disk header: done
Instantiating disk: done

5. 查看磁盘信息

[root@rac2 rpm]# oracleasm listdisks
BACKUP
DATA
OCR1
OCR11
VOTINGDISK

复制虚拟机文件

将虚拟机目录进行复制,得到第二个主机后,启动第二台虚拟主机再进行后续配置。

复制虚拟机后,需要为第二个主机网络适配器重新生成MAC地址,并且将系统网络配置中的网卡地址修改为新生成的MAC地址。

配置IP和主机名

两台主机的IP和主机名,参照前文网络规划中的内容进行配置。

1. 修改IP地址

修改/etc/sysconfig/network-scripts/ifcfg-Auto_eth2配置文件,对Public IP进行配置。

  • rac1主机:
IPADDR=192.168.6.101
PREFIX=24
GATEWAY=192.168.6.203
  • rac2主机:
IPADDR=192.168.6.102
PREFIX=24
GATEWAY=192.168.6.203

修改/etc/sysconfig/network-scripts/ifcfg-Auto_eth3配置文件,对Private IP进行配置。

  • rac1主机:
IPADDR=192.168.80.101
PREFIX=24
  • rac2主机:
IPADDR=192.168.80.102
PREFIX=24

rac2设置IP后仍不能与宿主机通信,需修改/etc/udev/rules.d/70-persistent-net.rules文件。将多余的网口配置删除,只保留MAC和ifcfg-Auto_eth2和ifcfg-Auto_eth3文件中MAC相同两条记录。并确保各网卡的MAC地址与虚拟机网络适配器中生成的MAC地址相同。

2. 配置hostname

调整两台主机的主机名。

  • rac1主机:
hostname rac1
  • rac2主机:
hostname rac2

修改/etc/sysconfig/network配置文件。

  • rac1主机:
NETWORKING=yes
HOSTNAME=rac1 
GATEWAY=192.168.80.101
NOZEROCONF=yes
  • rac2主机:
NETWORKING=yes
HOSTNAME=rac2 
GATEWAY=192.168.80.102 
NOZEROCONF=yes

3. 配置hosts

修改/etc/hosts文件。

192.168.6.101 rac1
192.168.6.102 rac2
192.168.6.201 rac1-vip
192.168.6.202 rac2-vip
192.168.80.101 rac1-priv
192.168.80.102 rac2-priv
192.168.6.105 scan-ip

rac1和rac2主机均需添加。

用户环境变量配置

1. grid用户

[root@localhost sysconfig]# su - grid
[grid@localhost ~]$ vi .bash_profile

增加以下内容:

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM1  # RAC1
export ORACLE_SID=+ASM2  # RAC2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022

其中ORACLE_SID变量在不同节点分别配置。

2. oracle用户

[root@localhost sysconfig]# su - oracle
[oracle@localhost ~]$ vi .bash_profile 

增加以下内容:

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=orcl1  # RAC1
export ORACLE_SID=orcl2  # RAC2
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

其中ORACLE_SID变量在不同节点分别配置。

执行source .bash_profile命令使配置生效。

SSH互信

1. oracle用户
切换至oracle用户,在两个主机上生成密钥文件,生成过程中全部回车:

ssh-keygen -t rsa
ssh-keygen -t dsa

在rac1主机执行,以下命令需逐行执行:

ssh rac1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh rac1 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys rac2:~/.ssh/
chmod 600 ~/.ssh/authorized_keys

在rac2主机执行:

chmod 600 ~/.ssh/authorized_keys

2. grid用户
切换至oracle用户,以grid用户相同的方式进行配置。

虽然这里配置了主机互信,但是在安装过程中仍然有可能会提示错误,可跳过此步骤通过安装程序进行主机互信设置。

安装Grid Infrastructure(GI)网格套件

下载安装文件

通过官网下载地址下载database和grid安装程序,得到压缩包。

  • linux.x64_11gR2_database_1of2.zip
  • linux.x64_11gR2_database_2of2.zip
  • linux.x64_11gR2_grid.zip

将压缩包上传至rac1主机并解压,其中database上传至oracle用户目录下,grid上传至grid用户目录下。

安装cvuqdisk

在Oracle RAC两个节点上安装cvuqdisk,否则,集群验证时程序就无法发现共享磁盘。

[root@rac1 ~]# cd /home/grid/grid/rpm/
[root@rac1 rpm]# rpm -ivh cvuqdisk-1.0.7-1.rpm 
准备中...                          ################################# [100%]
Using default group oinstall to install package
正在升级/安装...
   1:cvuqdisk-1.0.7-1                 ################################# [100%]

执行安装前检查

登录grid用户,切换目录至grid的安装程序目录,并执行以下命令:

./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose

如果提示文件权限不足,请为相应的文件添加可执行权限。

chmod u+x filename

根据输出内容,安装缺失的软件包。其中部分软件包在操作系统的ISO文件中可以找到。

i386的版本在Linux 6已经变更为i686,如果已经安装了对应的版本,可忽略检查结果。

安装Grid

设置DISPLAY变量

[root@localhost ~]# export DISPLAY=:0.0
[root@localhost ~]# xhost +

执行安装程序

./runInstaller

安装图形界面乱码问题解决:在/home/grid/grid/stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles目录下找到all.jar文件,并用文件打包器打开,在/jdk/jre/lib/fonts/目录下添加fallback目录,并将zysong.ttf添加到该目录下。重新执行runInstaller安装程序后,界面以支持中文显示。
1.png

安装集群
VMware超详细Oracle RAC安装及搭建指南_第9张图片
选择高级安装
VMware超详细Oracle RAC安装及搭建指南_第10张图片
选择语言
VMware超详细Oracle RAC安装及搭建指南_第11张图片
填写SCAN信息。SCAN名称为/etc/hosts文件中配置的scan-ip,SCAN端口为默认的1521。去掉GNS配置勾选。
VMware超详细Oracle RAC安装及搭建指南_第12张图片
点击下一步,对SCAN进行验证。
VMware超详细Oracle RAC安装及搭建指南_第13张图片

如果提示scan ip已经分配,则修改/etc/hosts文件,为scan-ip分配一个未使用的IP地址。退出安装程序并重启。

配置集群节点信息,这里添加第二个节点的主机名和虚IP名称。
VMware超详细Oracle RAC安装及搭建指南_第14张图片
VMware超详细Oracle RAC安装及搭建指南_第15张图片
点击下一步时,提示INS-06006错误。需要进一步配置SSH连接。
VMware超详细Oracle RAC安装及搭建指南_第16张图片
填写操作系统口令,并勾选“重用用户主目录中存在的私有密钥和公共密钥”,点击设置开始建立连接。
VMware超详细Oracle RAC安装及搭建指南_第17张图片
建立连接时,由于网卡接口名称不一致提示INS-40927警告信息。
VMware超详细Oracle RAC安装及搭建指南_第18张图片
解决办法:修改/etc/udev/rules.d/70-persistent-net.rules文件,使得两个主机的网卡名称对应,并将其中多余的网卡接口删除。确保两台主机eth2在同一网段,eth3在同一网段。

指定网络接口
VMware超详细Oracle RAC安装及搭建指南_第19张图片
选择ASM自动存储管理
VMware超详细Oracle RAC安装及搭建指南_第20张图片
通过前面的配置,这里安装程序已经可以正确的识别到共享磁盘了。选择OCR1、OCR2、VOTINGDISK,并指定磁盘组名称为OCR,冗余方式为外部。
VMware超详细Oracle RAC安装及搭建指南_第21张图片
指定ASM口令,测试环境为方便记忆,对所有账户使用同一口令,实际生产环境建议使用不同口令。
VMware超详细Oracle RAC安装及搭建指南_第22张图片
故障隔离选择不使用IPMI
VMware超详细Oracle RAC安装及搭建指南_第23张图片
操作系统组设置
VMware超详细Oracle RAC安装及搭建指南_第24张图片
安装程序使用之前在环境变量中配置的路径作为安装目录。
VMware超详细Oracle RAC安装及搭建指南_第25张图片
产品清单目录
VMware超详细Oracle RAC安装及搭建指南_第26张图片
执行安装前检查
VMware超详细Oracle RAC安装及搭建指南_第27张图片
查看检查结果并执行修复脚本,这里会列出不满足的安装条件,以及缺失的软件包。
VMware超详细Oracle RAC安装及搭建指南_第28张图片
即使在/etc/sysctl.conf中配置了kernel.sem内核参数,安装程序还是认为不满足条件。其中的原因有待确认,这里选择了忽略。
VMware超详细Oracle RAC安装及搭建指南_第29张图片
生成概要,保存响应文件。
VMware超详细Oracle RAC安装及搭建指南_第30张图片
开始安装。
VMware超详细Oracle RAC安装及搭建指南_第31张图片
执行远程操作时,可能耗时较长,请耐心等待。
VMware超详细Oracle RAC安装及搭建指南_第32张图片
执行远程操作结束后,准备执行Root脚本。
VMware超详细Oracle RAC安装及搭建指南_第33张图片

按照提示顺序,分别在两台主机上执行对应的脚本。
VMware超详细Oracle RAC安装及搭建指南_第34张图片
执行脚本时,可能遇到的问题及解决方法如下:

问题1

执行root.sh脚本时,提示找不到libcap.so.1文件。

/u01/app/11.2.0/grid/bin/clscfg.bin: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory

解决方法

[root@rac2 lib64]# ln -s /lib64/libcap.so.2.16 /lib64/libcap.so.1

重新执行sh root.sh前,需要先执行/u01/app/11.2.0/grid/crs/install/rootcrs.pl -deconfig -force进行撤销配置操作。

问题2

执行root.sh脚本时,输出到Adding daemon to inittab时,等待时间很长或者出现下面的错误。

CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.

解决方法

执行/u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose,重新执行sh root.sh脚本,在显示Adding daemon to inittab的时候,同时再打开一个终端并执行:

dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

在两台节点上执行完配置脚本后,点击确定,安装程序继续完成剩余安装。
VMware超详细Oracle RAC安装及搭建指南_第35张图片
安装即将结束时,提示INS-20802错误,查看详细资料和日志。
VMware超详细Oracle RAC安装及搭建指南_第36张图片
选择跳过完成安装。
VMware超详细Oracle RAC安装及搭建指南_第37张图片
集群安装完成。
VMware超详细Oracle RAC安装及搭建指南_第38张图片

安装后的检查

执行检查命令前需将grid的程序路径添加到环境变量中。

export PATH=/u01/app/11.2.0/grid/bin:${PATH}

检查crs状态

[grid@rac1 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online

检查Clusterware资源

[grid@rac1 ~]$ crs_stat -t -v
Name           Type           R/RA   F/FT   Target    State     Host        
----------------------------------------------------------------------
ora.DATA.dg    ora....up.type 0/5    0/     ONLINE    ONLINE    rac1        
ora....ER.lsnr ora....er.type 0/5    0/     ONLINE    ONLINE    rac1        
ora....N1.lsnr ora....er.type 0/5    0/0    ONLINE    ONLINE    rac1        
ora.asm        ora.asm.type   0/5    0/     ONLINE    ONLINE    rac1        
ora.eons       ora.eons.type  0/3    0/     ONLINE    ONLINE    rac1        
ora.gsd        ora.gsd.type   0/5    0/     OFFLINE   OFFLINE               
ora....network ora....rk.type 0/5    0/     ONLINE    ONLINE    rac1        
ora.oc4j       ora.oc4j.type  0/5    0/0    OFFLINE   OFFLINE               
ora.ons        ora.ons.type   0/3    0/     ONLINE    ONLINE    rac1        
ora....SM1.asm application    0/5    0/0    ONLINE    ONLINE    rac1        
ora....C1.lsnr application    0/5    0/0    ONLINE    ONLINE    rac1        
ora.rac1.gsd   application    0/5    0/0    OFFLINE   OFFLINE               
ora.rac1.ons   application    0/3    0/0    ONLINE    ONLINE    rac1        
ora.rac1.vip   ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac1        
ora....SM2.asm application    0/5    0/0    ONLINE    ONLINE    rac2        
ora....C2.lsnr application    0/5    0/0    ONLINE    ONLINE    rac2        
ora.rac2.gsd   application    0/5    0/0    OFFLINE   OFFLINE               
ora.rac2.ons   application    0/3    0/0    ONLINE    ONLINE    rac2        
ora.rac2.vip   ora....t1.type 0/0    0/0    ONLINE    ONLINE    rac2        
ora.scan1.vip  ora....ip.type 0/0    0/0    ONLINE    ONLINE    rac1

检查集群节点

[grid@rac1 ~]$ olsnodes -n
rac1    1
rac2    2

检查监听器进程

[grid@rac1 ~]$ ps -ef|grep lsnr|grep -v 'grep'
grid     16577     1  0 01:54 ?        00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit
grid     16988     1  0 01:59 ?        00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit

查看ASM状态

[grid@rac1 ~]$ srvctl status asm -a
ASM 正在 rac1,rac2 上运行
ASM 已启用。

创建ASM磁盘组

运行/u01/app/11.2.0/grid/bin/asmca程序。
VMware超详细Oracle RAC安装及搭建指南_第39张图片
查看Disk Groups选项卡,可以看到执行安装程序时添加的OCR磁盘组。
VMware超详细Oracle RAC安装及搭建指南_第40张图片
点击Create创建DATA磁盘组。
VMware超详细Oracle RAC安装及搭建指南_第41张图片
创建闪回恢复区磁盘组。
VMware超详细Oracle RAC安装及搭建指南_第42张图片
添加后的磁盘组情况:
VMware超详细Oracle RAC安装及搭建指南_第43张图片

安装Oracle database

完成ASM磁盘组配置后,接下来开始安装database软件。安装前,确保已经添加了DISPLAY变量,配置方法见前文。

启动安装程序

[root@rac1 grid]# su - oracle
[oracle@rac1 database]$ ./runInstaller -ignoreInternalDriverError

如果安装程序界面出现乱码,处理方式与安装grid时的处理方式相同,参见前文。

因为仅作测试,这里取消接收安全更新勾选。
VMware超详细Oracle RAC安装及搭建指南_第44张图片
仅安装数据库软件。
VMware超详细Oracle RAC安装及搭建指南_第45张图片
RAC数据库安装
VMware超详细Oracle RAC安装及搭建指南_第46张图片
配置SSH连接
VMware超详细Oracle RAC安装及搭建指南_第47张图片
选择语言
VMware超详细Oracle RAC安装及搭建指南_第48张图片
选择企业版数据库
VMware超详细Oracle RAC安装及搭建指南_第49张图片
忽略INS-20702错误
VMware超详细Oracle RAC安装及搭建指南_第50张图片
配置操作系统组
VMware超详细Oracle RAC安装及搭建指南_第51张图片
开始安装
VMware超详细Oracle RAC安装及搭建指南_第52张图片
按照提示顺序,在两个节点上执行对应的脚本。
VMware超详细Oracle RAC安装及搭建指南_第53张图片
完成安装
VMware超详细Oracle RAC安装及搭建指南_第54张图片

创建集群数据库

切换为oracle用户,并执行dbca命令创建集群数据库。

[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ dbca

选择RAC数据库。
VMware超详细Oracle RAC安装及搭建指南_第55张图片
创建一个新的数据库。
VMware超详细Oracle RAC安装及搭建指南_第56张图片
自定义数据库创建过程。
VMware超详细Oracle RAC安装及搭建指南_第57张图片
填写全局数据库名和SID,并选择所有节点。
VMware超详细Oracle RAC安装及搭建指南_第58张图片
配置企业管理器和磁盘备份计划。
VMware超详细Oracle RAC安装及搭建指南_第59张图片
为账户设置口令。
VMware超详细Oracle RAC安装及搭建指南_第60张图片
选择存储位置。
VMware超详细Oracle RAC安装及搭建指南_第61张图片
在选择磁盘组界面发现DATA和FRA磁盘组尚未挂载。
VMware超详细Oracle RAC安装及搭建指南_第62张图片
此时,切换至grid用户并连接至数据库,进行磁盘组挂载。

[grid@rac1 ~]$ sqlplus / as sysdba

查看当前磁盘组状态,其中DATA和FRA处于为DISMOUNTED状态。

SQL> select name,state from v$asm_diskgroup;

NAME                           STATE
------------------------------ -----------
OCR                            MOUNTED
FRA                            DISMOUNTED
DATA                           DISMOUNTED

以sysasm角色连接数据库。

SQL> conn / as sysasm

执行挂载磁盘组操作

SQL> alter diskgroup DATA mount;
Diskgroup altered.
SQL> alter diskgroup FRA mount;
Diskgroup altered.

此时,再次查看磁盘组状态均为MOUNTED状态。

SQL> select name,state from v$asm_diskgroup;

NAME                           STATE
------------------------------ -----------
OCR                            MOUNTED
FRA                            MOUNTED
DATA                           MOUNTED

回到界面后,可重新选择DATA磁盘组。

指定Flash Recovery Area,选择FRA磁盘组。
VMware超详细Oracle RAC安装及搭建指南_第63张图片
数据库组件配置。
VMware超详细Oracle RAC安装及搭建指南_第64张图片
设置字符集。
VMware超详细Oracle RAC安装及搭建指南_第65张图片
设置数据库存储,这里直接点Next。
VMware超详细Oracle RAC安装及搭建指南_第66张图片
勾选生成数据库创建脚本选项,点击Finish开始创建过程。
VMware超详细Oracle RAC安装及搭建指南_第67张图片
查看并保存摘要。
VMware超详细Oracle RAC安装及搭建指南_第68张图片
接下来会生成创建脚本。
VMware超详细Oracle RAC安装及搭建指南_第69张图片
VMware超详细Oracle RAC安装及搭建指南_第70张图片

然后开始数据库创建过程,此过程非常耗时,请耐心等待。
VMware超详细Oracle RAC安装及搭建指南_第71张图片
安装过程中,可以在界面上显示的路径下,查看安装日志。

创建完成后,会显示数据库的关键信息,包含企业管理器的访问地址。
VMware超详细Oracle RAC安装及搭建指南_第72张图片

结束

至此,Oracle 11gR2 RAC集群安装结束。

客户端使用scan-ip连接数据库时,如果遇到ORA-12545错误,可通过以下方式处理:

1. 用管理员身份连接数据库

sqlplus / as sysdba

2. 查看监听参数

SQL> show parameter listener;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
listener_networks                    string
local_listener                       string      (DESCRIPTION=(ADDRESS_LIST=(AD
                                                 DRESS=(PROTOCOL=TCP)(HOST=rac1
                                                 -vip)(PORT=1521))))
remote_listener                      string      scan-ip:1521

3. 修改listener参数

其中HOST分别为两台主机的vip,与/etc/hosts文件中的一致。

SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.6.201)(PORT=1521))))' sid='orcl1';
SQL> alter system set local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.6.202)(PORT=1521))))' sid='orcl2';

4. 客户端连接测试

C:\Users\Administrator>sqlplus sys/oracle@scan-ip/orcl as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 11月 27 15:59:26 2019

Copyright (c) 1982, 2010, Oracle.  All rights reserved.


连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

SQL>

客户端已经可以通过scan-ip连接到数据库了。

你可能感兴趣的:(数据库)