vbox虚拟环境下RAC双节点安装笔记

OCM 11g 的考试环境

★Oracle Linux Release 5.4 (32-bit)

★Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 (32-bit)

★Oracle Enterprise Manager 11g Grid Control Release 1 (11.1.0.1.0) (32-bit)

此处搭建环境安装包略有区别,具体为:

★Enterprise-R5-U4-Server-i386-dvd.iso

★linux_11g_32_R2_database_1of2.zip+linux_11g_32_R2_database_2of2.zip (官网链接版本为11.2.0.1.0)

★linux_11gR2_grid.zip (官网链接版本为11.2.0.1.0)

1.环境准备

1.1. 新建虚拟机,32位redhat即可,注意内存要尽量选大些,后面安装grid运行root.sh脚本时会很卡。

1

1.2. 安装双机中的一台,设置计算机名称

vim /etc/sysconfig/network

HOSTNAME=rac01

1.3.配置/etc/host

vi /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost  #此处localhost最好不要改为计算机名

::1 localhost6.localdomain6 localhost6

#公网IP

10.0.2.11 wangcw01

10.0.2.12 wangcw02

 

#专有IP

10.0.0.21 wangcw01-vip

10.0.0.22 wangcw02-vip

 

#私有IP,心跳

192.168.1.11 wangcw01-priv

192.168.1.12 wangcw02-priv

 

#ScanIP,要与公网IP和专有IP在同一网段上

10.0.2.15 wangcw-cluster-scan

1.4. 创建用户组合相关用户:

#创建用户和用户组

groupadd -g 1000 oinstall

groupadd -g 1300 dba

groupadd -g 1301 oper

groupadd -g 1200 asmadmin

groupadd -g 1201 asmdba

groupadd -g 1202 asmoper

useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper grid

useradd -u 1101 -g oinstall -G dba,asmdba oracle

#创建grid相关路径

mkdir -p /g01/app/grid

mkdir -p /g01/app/11.2.0/grid

#创建oracle相关路径

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/product/11.2.0/db_1

chown oracle:oinstall -R /u01

chown grid:oinstall -R /g01

chmod -R 775 /u01/

chmod -R 775 /g01

#创建gridoracle用户登录密码

passwd grid

passwd oracle

1.5.节点上用户环境变量配置:

#grid环境变量

export GRID_HOME=/g01/app/11.2.0/grid

export ORACLE_HOME=/g01/app/11.2.0/grid

export PATH=$GRID_HOME/bin:$GRID_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin

export ORACLE_SID=+ASM1 #节点2上是+ASM2

export LD_LIBRARY_PATH=$GRID_HOME/lib:$GRID_HOME/lib32

export ORACLE_BASE=/g01/app/grid/

#export ORA_NLS10=$ORACLE_HOME/nls/data

#export NLS_LANG=”Simplified Chinese”_China.AL32UTF8

 

#root用户环境变量

export GRID_HOME=/g01/app/11.2.0/grid

export ORACLE_HOME=/g01/app/11.2.0/grid

export PATH=$GRID_HOME/bin:$GRID_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin

#oracle用户环境变量

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin

export ORACLE_SID=wangcw_1 #节点2上是 wangcw_2

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$GRID_HOME/lib32

export ORACLE_BASE=/u01/app/oracle

#export NLS_LANG=”Simplified Chinese”_China.AL32UTF8

 

注意:环境变量均是预配置,有些变量在安装完成后打开注释,例如NLS_LANG。

1.6.其他Oracle安装环境准备

关闭ntp服务

chkconfig ntpd off

mv /etc/ntp.conf /etc/ntp.conf.orig

rm -f /var/run/ntpd.pid

service ntpd stop

关闭防火墙iptables :

service iptables stop

chkconfig –del iptables

关闭SELINUX:

vi /etc/selinux/config

注意:disable selinux需要重启。使用getenforce 来查看是否关闭。

提示:需要配置好yum源,安装oracle-validated,完成所需包的安装。

@细节步骤:

①安装VMware Tools

cp -r media /VM (tab) /mnt

cd /mnt VM(tab)

tar -zxvf vm*.rpm

cd vm*-disturb

rpm -ivh vm*.rpm

./vm*.pl

一路回车,选择分辨路1024*768

注:VBOX附加组件为复制文件后进入对应操作系统类型文件夹 sh *.run 文件

2

②搭建本地yum源

cp -r /media/Enterprise Linux dvd 20090908/Server /mnt

vim /etc/yum.repos.d/server.repo

加入

[server]

name=server

baseurl=file:///mnt/Server

enabled=1

gpgcheck=0

createrepo -g /mnt/Server/repodata/comps-rhel5-server-core.xml /mnt/Server/

yum update

③安装oracle依赖包
yum install binutils* -y

yum install compat-lib* -y

yum install gcc* -y

yum install glibc* -y

yum install ksh* -y

yum install libgcc* -y

yum install libstdc* -y

yum install libaio* -y

yum install make* -y

yum install sysstat* -y

④检查系统参数配置

cat /etc/sysctl.conf|grep -v ^#|grep ^[^#]

vim /etc/sysctl.conf

尾行加入

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

#kernel.shmmax = 4294967295

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

/etc/sysctl.conf -p 立即生效

⑤查看系统限制

cat /etc/security/limits.conf|grep -v ^#|grep ^[^#]

vim /etc/security/limits.conf

尾行加入

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack  10240

⑥修改/etc/pam.d/login添加内容:

session  required   /lib/security/pam_limits.so

⑦修改/etc/profile文件,添加一下内容:

if [ $USER = “oracle” ]; then

if [ $SHELL = “/bin/ksh” ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

⑧配置hangcheck-timer内核模块

执行find /lib/modules -name “hangcheck-timer.ko”查看模块是否存在

在/etc/modprobe.conf里添加以下内容:

options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

然后在/etc/rc.d/rc.local里添加一下内容:

/sbin/nodprobe hangcheck_timer

用脚本echo “options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180” >> /etc/modprobe.conf && echo “/sbin/modprobe hangcheck_timer” /etc/rc.d/rc.local && /sbin/modprobe hangcheck_timer搞定

查看是否成功grep hangcheck /var/log/messages |tail -2

返回一下内容为成功:

Jul 18 23:30:55 VIP2 kernel: Hangcheck: starting hangcheck timer 0.9.0 (tick is 30 seconds, margin is 180 seconds).

⑨看系统的安全设置:

iptables -L && cat /etc/sysconfig/selinux |grep SELINUX|grep -v ^#

返回一下结果为正常:

Chain INPUT (policy ACCEPT)

target     prot opt source               destination

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination

SELINUX=disabled

SELINUXTYPE=targeted

2.克隆虚拟机

因为是虚拟机环境,所以在配置好一台机器之后,可以对其进行克隆,克隆完毕后再修改ip和一些差异配置即可。

3

关闭虚拟机右键选择复制,然后勾选初始化MAC,选择完全复制。

 

2.1. 配置共享网卡

4

增加虚拟网卡-私有网卡(host-only):

选择右边栏的添加按钮,名称自定。

设置两网卡网络IP地址

6

5

 

 

作为两虚拟机两网卡的网关,方便调试。(非正式环境所需)

2.2.创建共享磁盘

选择一个虚拟机在右键菜单设置中选择存储,添加存储附件

7

 

 

这里新建8个大小2G的磁盘作为DATA和FRA,3个大小1G的磁盘作为VOTE组。

8

创建时记得要使用固定大小,不然不能共享。

9

10

创建好11个磁盘后选择VBOX虚机中管理-虚拟介质管理。

11

修改11个磁盘为可共享模式。

12

最后再另一个虚拟机的存储设置中添加这11个共享磁盘,来模拟生产环境中的磁盘阵列。

13

网卡和磁盘都配置完毕后,启劢2个主机对节点1和节点2进行网卡和主机名配置。

网卡分布如下:

主机名称 eth0 eth1
wangcw01 10.0.2.11 192.168.1.11
wangcw02 10.0.2.12 192.168.1.12
gateway 10.0.2.1 192.168.1.1

检查网卡配置

14

15

可以检查下网络是否畅通

16

17

 

2.4.udev磁盘创建

检查附加的磁盘是否能识别到:

18

fdisk –l

可以看到刚刚附加的磁盘不能被系统识别

Oracle使用asm磁盘的方法有很多种,因rhel5后oracle官方很少单独放出asm管理的单独包,我们这里避开安装asm包使用UDEV磁盘绑定方式使oracle来识别增加的磁盘。

这里使用脚本方便绑定

for i in b c d e f g h i j k l m n o p q r s t u v w;

do

echo “KERNEL==”sd*”, BUS==”scsi”, PROGRAM==”/sbin/scsi_id -g -u -s %p”, RESULT==”$(scsi_id -g -u -s /block/sd$i)”, NAME=”asm-disk$i”, OWNER=”grid”, GROUP=”asmadmin”, MODE=”0660″” >>/etc/udev/rules.d/99-oracle-asmdevices.rules

done;

重启UDEV服务:

/sbin/start_udev

检查是否成功绑定:

ls -l /dev/asm*

19

这里就说明绑定成功。

注:可以编辑/etc/udev/rules.d/99-oracle-asmdevices.rules查看绑定参数,具体udev绑定磁盘方法网络上很多资料请自行查找。

另一台虚机做同样绑定操作。

3.安装grid

因安装过程需要图形界面,可自行安装配置vnc连接到主机或者使用Xhost发送到本机,这里我用到Xmanager的Passive功能。grid配置

 

主机 wangcw01wangcw02;
用户 gridgrid
GNS 不使用
ORALCE_BASE /g01/app/grid
软件路径 /g01/app/11.2.0/grid
Inventory /g01/app/oraInventory
scan名称 wangcw-cluster
集群名称 wangcw-cluster-scan
votingDISK/OCR ASM:VOTE 磁盘组(ASMDISK09,ASMDISK10,ASMDISK11)
磁盘组 DATA(普通冗余)(ASMDISK01,ASMDISK02,ASMDISK03,ASMDISK04)

FRA(外部冗余)(ASMDISK05,ASMDISK06,ASMDISK07,ASMDISK08)

网络 eth0 共有 eth1 专用

 

3.1. 安装:(使用grid用户登录,11g后ssh连接的建立已集成到安装界面不需手工配置,双节点安装grid只需要运行一个节点的安装包即可,程序会自动复制所需文件到另一节点)

①使用SFTP工具,以grid用户将grid安装包传至虚拟机。unzip解压后进入主目录,执行

[grid@wangcw01 grid]$ export DISPLAY=10.0.2.1:0.0

[grid@wangcw01 grid]$ ./runInstaller

选择Install and Configure Grid Infrastructure for a Cluster

选择Advanced Installation

默认英文

取消配置GNS

输入之前信息中的集群名称和SCAN名称

20

3.2.下一步,添加集群虚拟机

21

3.3.两台机器均设置下ssh,需要时输入OS Password

22

出现成功提示后,点击OK,Next下一步。

3.4.会检查连接性,然后设置Public和Private网卡确认

23

3.5.Next,选择Automatic Storage Management (ASM) 即ASM管理

选择VOTE磁盘,记得设置 Disk Group Name VOTE Redundancy Normal 修改选择磁盘位置

24

使用统一账户名密码

25

3.6.点击忽略,Yes ,Dont Use Intelligent Platform Management Interface (IPMI) ,确认各个功能所属组

26

3.7.确认Oracle_Base Software Location

27

3.8.确认oraInventory

28

3.9.安装环境检查,一般需要运行两个脚本,选择Fix&CheckAgain

29

在先决条件检查页面,安装程序检查所有系统,参不安装的项必须满足系统平台的最低要求。如果检查通过,点击下一步。如果有任何不满足的被发现,点击修复和再次检查按钮。执行修复脚本的诊断会话框会出现。你会被提示使用root在每个节点上执行这个脚本。在第一个节点上开启一个终端,使用root用户在第一个节点上运行修复脚本,然后使用ssh登录到第二个节点,重复相同的操作。退出会话,关闭终端窗口。让所有节点上都运行了脚本之后,点击OK,关闭诊断窗口。

30

3.10.点击Finish开始安装,因要两虚机间复制文件,过程较慢,耐心等待,最后需要执行两个脚本,root.sh执行较慢,耐心等待。

31

3.11.当远程操作完成,执行配置脚本的窗口会出现。你会被提示使用root用户在每个节点上运行orainstRoot.sh和root.sh脚本。打开一个终端窗口,使用root顺次执行这个脚本。注意:你必须等待root.sh在第一个节点上执行完后,再到第二个节点上执行。

 

32

33

3.12.在所有节点都执行完脚本之后,点击OK按钮关闭对话框。配置向导会继续从安装产品页面执行。

40

3.13.当配置向导完成了,在完成页面点击关闭按钮来退出安装。

此处注意:因为没使用DNS最后会出现类似关亍SCAN的告警,确认后点击skip然后next继续。

完成安装时,你应该对安装进行验证。你应该确认软件正在运行。执行crsctk stat res -t命令

35

36

3.15.开始ASM 配置(ASMCA)

同样使用grid用户登录,直接运行asmca指令

#export DISPLAY=192.168.1.1:0.0

$asmca

3.15.创建磁盘组DATA和FRA每个磁盘组使用4个磁盘成员

 

步骤 显示/页面 描述 选项或值
a 配置ASM:磁盘组 点击创建
b 创建磁盘组 完成下列:名称DATA

使用4个磁盘成员

使用normal冗余

创建磁盘组

名称是FRA

在冗余选项,选择”外部(None)”

使用剩下的4个磁盘成员

c 磁盘组:创建 点击OK。当完成的时候退出ASMCA

 

点击create按钮创建2个磁盘组。

 

37

题图因我的已装过一遍虚机,所以起了另一个名字。

38

mount

39

4.安装数据库软件

4.1.登录oracle用户,使用SFTP工具将安装包传至一个节点oracle根目录,unzip两压缩包,ls查看database文件夹,进入文件夹执行:

[oracle@wangcw01 ~]$ ls

database                           linux_11g_32_R2_database_2of2.zip

linux_11g_32_R2_database_1of2.zip

[oracle@wangcw01 ~]$ cd database/

[oracle@wangcw01 database]$ ./runInstaller

Starting Oracle Universal Installer…

 

Checking Temp space: must be greater than 80 MB.   Actual 32323 MB    Passed

Checking swap space: must be greater than 150 MB.   Actual 3897 MB    Passed

Checking monitor: must be configured to display at least 256 colors.    Actua

l 16777216    PassedPreparing to launch Oracle Universal Installer from /tmp/OraInstall2016-01-29

_03-05-07PM. Please wait …[oracle@wangcw01 database]$

40

4.2.取消邮件反馈

选择仅安装软件,稍后再创建数据库实例。

41

4.3.选择ServerClas

42

4.4.勾选两个节点并设置SSH连接

43

4.5.点击OK Next继续,选择Enterprise Edition

44

4.6.设置Oracle_Base和Software_Location

45

4.7.选择对应管理组:

46

4.8.在执行先决条件检查页面,当先决条件都检查完毕时,出现总结页面。如果有检查失败的项目,点击修复&再次检查按钮。在集群节点上用root用户运行脚本,然后点击下一步。

47

4.9.点击Finish安装,由于需要进行节点间文件复制时间较久耐心等待,在文件都拷贝到所有节点后,执行配置脚本窗口会出项。在2个节点执行/u01/app/oracle/product/11.2.0/dbhome_1/root.sh脚本。

48

4.10.在所有节点都运行完root.sh脚本后,点击OK按钮关闭执行配置脚本窗口。

49

4.11.在完成页面上点击关闭按钮,完成安装幵且退出安装。

 

5.创建RAC数据库

模版 一般用途
类型 策略管理
服务池名 SP2
数据库名 wangcw
SYS/SYSTEM密码 password
数据文件位置 RACDATA磁盘组
快速恢复区 RACFRA磁盘组
快速恢复区大小 4G
memory target 800M
样例方案
EM

5.1.使用oracle用户登录, 变更目录到/u01/app/oracle/product/11.2.0/db_1/bin然后使用使用dbca命令。

5.2.选择集群安装

50

5.3.选择创建数据库

51

5.4.选择custom database

52

5.5. 数据库识别页面,选择策略-管理作为配置类型,在全局数据库名中输入wangcw。为数据库选择创建新服务池,输入SP2作为服务池的名称,选择基数为2.

53

5.6.管理选项页面,取消配置EM的复选框.

54

5.7. 在数据库凭证页面,选择为所有账户使用相同的管理密码。输入oracle作为密码,幵且确认密码后点击下一步。当一个密码告警出现时,点击yes继续.

55

5.8. 在数据库文件位置页面,你可以为数据库文件指定存储方式和位置。在存储类型的下拉列表中选择ASM。选择是用OMF,幵且确认数据库区域的值是+RACDATA。点击下一步继续。如果需要输入ASMSNMP用户的密码,键入password然后点击OK继续。

56

5.9. 恢复配置页面,在快速恢复区栏键入+RACFRA,然后在快速恢复区大小中输入4096MB。点击下一步继续。

57

5.10. 数据库内容页面,在复选框中选中案例,然后点击下一步,在这里选择了Castom,此界面可以手动选择需要安装的额外功能。

58

5.11.初始化参数页面中的内存标签页面,确保在内存大小中输入了800,然后确定使用AMM。点击字符集标签,然后在数据库字符集配置标签上选择使用Unicode。点击下一步。

59

5.12. 数据库存储页面上接受默认值然后点击下一步继续。

60

5.13.在创建选项页面选择创建数据库,然后点击完成。在总结页面,点击OK继续。

61

5.14.可监视创建进度。

62

5.15. 在安装最后,一个诊断数据库信息的窗口出现。点击退出。这将关闭诊断创建和退出数据库配置劣手。

63

5.16. 再次执行crsctl命令来确定wangcw数据库是否存在:

crsctl stat res -t

可修改开机加载脚本使database、grid开机自动启动。

  1. 修改/etc/oratab (root用户执行)

N改为Y

orcl:/u01/app/oracle/product/11.2.0/db_1:Y

 

  1. 配置rc.local (root用户执行)

vi /etc/rc.d/rc.local

增加以下行:

su – oracle -c ‘dbstart’

su – oracle -c ‘lsnrctl start’

Oracle随Linux自动启动设置完毕!

(此方法只在单节点Oracle上实现过,RAC上最好手动启动,查看各个部分运行正常性。)

修改sqlplus中glogin登录显示。

vi $ORACLE_HOME/sqlplus/admin/glogin.sql

 

加入:

set sqlprompt “_user’@’_connect_identifier> ”

 

含义:_user 代表 当前登陆用户名    _connect_identified 连接串名

 

sample:

SYS@orcl >

 

安装rlwrap方便sqlplus使用。

tar zxvf rlwarp….

cd rlwarp…

./configure

make

make install

rlwarp sqlplus / as sysdba

 

修改.bash_profile

su – oracle

[oracle@wangcw ~]$ vi .bash_profile

增加

alias sqlplus=”rlwrap sqlplus”

[oracle@wangcw ~]$ source .bash_profile

 

至此VBOX虚拟机中Oracle11gR2双节点RAC部署完毕,在这里感谢腾科OCP培训班,感谢 诗檀(上海)软件系统有限公司的网上教程,及QQ群、社区,安装过程中其帮助解决了很多疑惑。

发表评论

电子邮件地址不会被公开。 必填项已用*标注