一、初始化第3个节点
1.1 配置hosts 文件
[root@jssdbn2 ~]# vi /etc/hosts
修改hosts 文件中的内容,修改完成后,hosts 文件中至少包含下列的内容:
192.168.10.11 jssdbn1
192.168.10.12 jssdbn2
192.168.10.13 jssdbn3
192.168.10.21 jssdbn1-vip
192.168.10.22 jssdbn2-vip
192.168.10.23 jssdbn3-vip
10.10.10.101 jssdbn1-priv
10.10.10.102 jssdbn2-priv
10.10.10.103 jssdbn3-priv
注意,这里不仅新增加的节点中hosts 文件需要修改,同一个RAC 环境中所有节点的
hosts 文件都必须重新修改。
1.2 配置SSH 密钥认证
RAC 环境中各节点间不仅时刻保持通讯,而且还有可能互访文件,因此必须要保证各
节点间访问不需输入DBA 手动密码即可自动完成,这里我们通过配置SSH 来实现这一点。
首先是在新增加的节点时操作,即jssdbn3 节点(注意执行命令的用户):
[root@jssdbn3 ~]# su - oracle
[oracle@jssdbn3 ~]$ mkdir ~/.ssh
[oracle@jssdbn3 ~]$ chmod 700 ~/.ssh
[oracle@jssdbn3 ~]$ ssh-keygen -t rsa
[oracle@jssdbn3 ~]$ ssh-keygen -t dsa
然后转至jssdbn1 节点执行,也是以oracle 身份进行操作
[oracle@jssdbn1 ~]$ ssh jssdbn3 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@jssdbn1 ~]$ ssh jssdbn3 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
最后传输jssdbn1 节点中配置好的认证密钥信息到节点2 和节点3,执行命令如下:
[oracle@jssdbn1 ~]$ scp ~/.ssh/authorized_keys jssdbn2:~/.ssh/authorized_keys
[oracle@jssdbn1 ~]$ scp ~/.ssh/authorized_keys jssdbn3:~/.ssh/authorized_keys
配置完成后,在三个节点分别执行下列命令:
ssh jssdbn1 date
ssh jssdbn2 date
ssh jssdbn3 date
ssh jssdbn1-priv date
ssh jssdbn2-priv date
ssh jssdbn3-priv date
1.3 配置ASM 共享盘
在新增的节点上配置ORACLE ASM 驱动,首先执行oracleasm configure 命令,注意要
以root 身份进行。
[root@jssdbn3 ~]# /etc/init.d/oracleasm configure
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
提示:如果本步执行出错(可能出错机率最高的是在Scanning system for ASM),不妨将
转换一下命令行的执行方式,改成:
[root@jssdbn3 ~]# sh /etc/init.d/oracleasm configure
有可能解决你的问题!
如果configure 执行正常,下面检查一下磁盘组:
[root@jssdbn3 Server]# /etc/init.d/oracleasm scandisks
Scanning the system for Oracle ASMLib disks: [ OK ]
如无问题,再接着listdisks,应该能够看到当前RAC 环境中创建的ASM 盘:
[root@jssdbn3 Server]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
确保上述oracleasm listdisks 显示的结果与实际情况相同。新节点的配置基本告以段落,
下面准备开始安装crs 喽。
二、添加clusterware 到新节点
2.1 检查安装环境
首先是检查安装环境,仍然是使用runcluvfy.sh 脚本来进行验证,该脚本可以在现有RAC
配置中的任意节点上执行,这里在节点1 执行,如下:
[oracle@jssdbn1 ~]$ /data/software/clusterware/cluvfy/runcluvfy.sh stage -pre crsinst -n jssdbn3 -verbose
如果返回信息中提示“Could not find a suitable set of interfaces for VIPs.”,可以忽略该错误信息,这是一个bug,Metalink 中有详细说明,doc.id:338924.1。
没有其它错误的话,安装可以正常进行,下面准备正式进入安装阶段。
2.2 安装clusterware 到新节点
在当前RAC 环境中任意节点的$ORA_CRS_HOME,执行oui/bin/addNode.sh 脚本敲出视界界面
需要注意最后一个脚本,即root.sh 执行时会调用vipca,不过vipca 脚本中部分代码对
应一个bug:3937317,建议在执行root.sh 前首先修改vipca 文件
[root@jssdbn3 ~]# vi /data/ora10g/product/10.2.0/crs_1/bin/vipca
找到如下内容:
Remove this workaroundwhenthe bug3937317 is fixed
arch=`uname -m`
if [ "$arch" = "i686" -o "$arch" = "ia64" ]
then
LD_ASSUME_KERNEL=2.4.19
exportLD_ASSUME_KERNEL
fi
#Endworkaround
在fi 后新添加一行:
unset LD_ASSUME_KERNEL
保存退出, 然后再在jssdbn3 节点端执行root.sh
接下来需要将新节点的ONS(Oracle Notification Services)配置信息写入OCR(Oracle
Cluster Register),在节点1 执行脚本如下:
[oracle@jssdbn1 ~]$ /data/ora10g/product/10.2.0/crs_1/bin/racgons add_config jssdbn3:6200
提示: jssdbn3 的端口号可以查询该结节中
/data/ora10g/product/10.2.0/crs_1/opmn/conf/ons.config 文件中的配置
至此,新节点的CLUSTERWARE 配置完成,要检查安装的结果,可以在新节点中调用
cluvfy 命令进行验证,例如:
[oracle@jssdbn3 ~]$ /data/ora10g/product/10.2.0/crs_1/bin/cluvfy stage -post crsinst -n jssdbn3 -verbose
三、复制oracle 软件到新节点
接下来要复制ORACLE 数据库软件到新节点,复制操作可以在现的RAC 环境中的任
意节点中开始,这里我们选择在jssdbn1 节点上操作。本步操作非常简单,步骤也少。
在Linux 视窗界面中执行addNode.sh
[oracle@jssdbn1 ~]$ cd /data/ora10g/product/10.2.0/db_1/oui/bin/
[oracle@jssdbn1 bin]$ ./addNode.sh
四、配置监听服务到新节点
客户端连接数据库服务器必须借助监听服务,因此新节点要正常处理连接请求,首先就
需要创建有相应的监听。
以ORACLE 身份登陆到linux 系统,执行$ORACLE_HOME/bin 目录中的netca 命令即可
五、添加实例到新节点
首先是以oracle 身份登陆到图形界面的linux 系统, 然后执行
$ORACLE_HOME/bin/dbca,然后就能看到欢迎窗口。
提示1:如果执行dbca 时遇到connect to ":....",No protocol specified,可以先尝试su - root,
然后执行xhost +,然后再回到oracle 用户下执行dbca。
提示2:本步操作可以在当前RAC 环境中的任意节点上执行,注意是当前RAC 环境中
的节点,不是要添加实例的节点上执行哟
截止到目前,新节点已经是这个RAC 配置中的一员了,使用crs_stat 命令查看:
[oracle@jssdbn1 admin]$ /data/ora10g/product/10.2.0/crs_1/bin/crs_stat -t
任意结节登陆sqlplus 命令行,查询gv$instance 视图,结果如下:
SQL> select inst_id,instance_name,version,startup_time,status from gv$instance
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22253646/viewspace-667321/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22253646/viewspace-667321/