11G RAC 节点删除与添加

RAC删除节点并添加节点

oracle用户更新Inventory

$ORACLE_HOME/oui/bin/runInstaller -updateNodelist ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES=zycdbtst3" -local

删除db软件

$ORACLE_HOME/deinstall/deinstall -local

再在其他主机oracle 用户更新Inventory

$ORACLE_HOME/oui/bin/runInstaller -updateNodelist ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={zycdbtst1,zycdbtst2}" -local

$ORACLE_HOME/oui/bin/runInstaller -updateNodelist ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={zycdbtst1,zycdbtst2}" -local


删除节点

更新GI的inventory


更新grid 用户Inventory

$ORACLE_HOME/oui/bin/runInstaller -updateNodelist ORACLE_HOME "CLUSTER_NODES={zycdbtst3}" CRS=TRUE -silent -local

(cluster_nodes中输入的是要删除的节点名称)

卸载GI

$ORACLE_HOME/deinstall/deinstall -local


再到正常的节点上分别更新Inventory信息

$ORACLE_HOME/oui/bin/runInstaller -updateNodelist ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={zycdbtst1,zycdbtst2}" CRS=TRUE -silent -local

$ORACLE_HOME/oui/bin/runInstaller -updateNodelist ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={zycdbtst1,zycdbtst2}" CRS=TRUE -silent -local

在保留节点上删除 要剔除的节点

crsctl delete node -n zycdbtst3



实例删除(未操作)



查询状态

olsnodes -s

以上为删除操作


==========================================================================================================================================================================================================================================================================================


添加节点



在已存在的节点运行如下脚本


$ORACLE_HOME/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={zdata-db03,zdata-db04}"“CLUSTER_NEW_VIRTUAL_HOSTNAMES={zdata-db03-vip,zdata-db04-vip}" 


检查之后 可以忽略NTP错误 ;ORACLE_HOME无法share:在新节点直接重建或检查权限(重建比较方便一点)


若只有NTP错误。export IGNORE_PREADDNODE_CHECKS=Y,然后运行

$ORACLE_HOME/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={zdata-db03,zdata-db04}"“CLUSTER_NEW_VIRTUAL_HOSTNAMES={zdata-db03-vip,zdata-db04-vip}" 

copy 文件的进程比较慢。这里可能出现的问题主要是Inventory.xml 文件错误导致的,该文件的位置是可以通过  cat /etc/oraInst.loc 进行查找


successful之后 在 添加节点 上用root 跑两个脚本

orainstRoot.sh、root.sh

第一个脚本会跑得非常顺利,第二个脚本可能遇到各种问题,下面是这次安装碰到的坑


Using configuration parameter file: /crs11g/grid/11.2.0.3/crs/install/crsconfig_params

User ignored Prerequisites during installation

Failed to write the checkpoint:'' with status:FAIL.Error code is 256

Undefined subroutine &crsconfig_lib::dieformat called at /crs11g/grid/11.2.0.3/crs/install/crsconfig_lib.pm line 6146.

/crs11g/grid/11.2.0.3/perl/bin/perl -I/crs11g/grid/11.2.0.3/perl/lib -I/crs11g/grid/11.2.0.3/crs/install /crs11g/grid/11.2.0.3/crs/install/rootcrs.pl execution failed


当我们再次执行该语句时。提示无法找到相关文件

这里我们升级了yum源。然后就在 相关文件做了软链接,接下来才可以继续执行。


root.sh执行完了之后,就可以继续安装DB软件了。


在执行安装DB软件的时候,应该在已有DB软件的节点上执行相关命令:

export IGNORE_PREADDNODE_CHECKS=Y

$ORACLE_HOME/oui/bin//addNode.sh -silent "CLUSTER_NEW_NODES={zycdbtst3}" "CLUSTER_NEW_NODES_VIP={zycdbtst3-vip}"


若该命令无法将DB软件拷贝到目标节点时。可以手动将已有集群DB软件cp到目标文件:


步骤如下

1.从其他主机上压缩数据库软件


用root用户压缩:


tar cvf Oracle.tar /oracle/product/db11gr2($ORACLE_HOME)

2.用root用户tar数据库软件包Oracle .tar


解压tar -xvf Oracle .tar


配置/etc/oraInst.loc文件


oracle@Ttest55:/oracle/admin/audit/bdump/cat /etc/oraInst.loc


inventory_loc=/home/oracle/oraInventory


inst_group=oinstall


3.relink命令:


$ cd $ORACLE_HOME/oui/bin/


$./runInstaller  -invPtrLoc /etc/oraInst.loc -silent -clone ORACLE_BASE='/oracle/product' ORACLE_HOME='/oracle/product/db11gr2' ORACLE_HOME_NAME='oracle_home1'


其中ORACLE_HOME根据实际的$ORACLE_HOME来写,ORACLE_HOME_NAME可随便取名


relink完后需要用root用户执行脚本(视具体路径)


#sh /oracle/product/10205/root.sh

如果手动安装DB软件的话,需要自己分别到各个节点,手动将ORACLE_HOME下的inventory.xml  文件进行更新。如下所示:


$ORACLE_HOME/oui/bin/runInstaller -updateNodelist ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={zycdbtst1,zycdbtst2,zycdbtst3}" -local


然后进行实例切换或启动,验证安装是否完成


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31561453/viewspace-2647496/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31561453/viewspace-2647496/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RAC是一个完整的集群应用环境,它不仅实现了集群的功能,而且提供了运行在集群之上的应用程序,即Oracle数据库。无论与普通的集群相比,还是与普通的oracle数据库相比,RAC都有一些独特之处。 RAC由至少两个节点组成,节点之间通过公共网络和私有网络连接,其中私有网络的功能是实现节点之间的通信,而公共网络的功能是提供用户的访问。在每个节点上分别运行一个Oracle数据库实例和一个监听器,分别监听一个IP地址上的用户请求,这个地址称为VIP(Virtual IP)。用户可以向任何一个VIP所在的数据库服务器发出请求,通过任何一个数据库实例访问数据库。Clusterware负责监视每个节点的状态,如果发现某个节点出现故障,便把这个节点上的数据库实例和它所对应的VIP以及其他资源切换到另外一个节点上,这样可以保证用户仍然可通过这个VIP访问数据库。 在普通的Oracle数据库中,一个数据库实例只能访问一个数据库,而一个数据库只能被一个数据库实例打开。在RAC环境中,多个数据库实例同时访问同一个数据库,每个数据库实例分别在不同的节点上运行,而数据库存放在共享的存储设备上。 通过RAC,不仅可以实现数据库的并发访问,而且可以实现用户访问的负载均衡。用户可以通过任何一个数据库实例访问数据库,实例之间通过内部通信来保证事务的一致性。例如,当用户在一个实例修改数据时,需要对数据加锁。当另一个用户在其他实例中修改同样的数据时,便需要等待锁的释放。当前一个用户提交事务时,后一个用户立即可以得到修改之后的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值