How to Check Whether Oracle Binary/Instance is RAC Enabled and Relink Oracle Binary in RAC (文档 ID 28

来源:互联网 发布:俄罗斯交友软件下载 编辑:程序博客网 时间:2024/06/06 01:09

适用于:

Oracle Database - Enterprise Edition - Version9.2.0.1 and later
Information in this document applies to anyplatform.

目标:

本注意事项是检查RealApplication Clusters(RAC)选项是否链接到Oracle二进制文件以及数据库实例是否是RAC实例,以及如何在RAC环境中重新链接Oracle二进制文件。

 

可能的错误包括“Oraclehome不是集群数据库home”。

解决方案:

检查Oracle二进制是否已启用RAC:

作为ORACLE_HOME的拥有者:

在LINUX/UNIX(不包括AIX)中:

ar -t $ORACLE_HOME/rdbms/lib/libknlopt.a|grep kcsm.o

在AIX上:

 ar -X32_64 -t$ORACLE_HOME/rdbms/lib/libknlopt.a|grep kcsm.o

如果上面的命令没有返回任何东西,RAC选项没有链接。一个启用RAC的oracle二进制应该返回“kcsm.o”。

 

检查正在运行的实例是否是RAC实例:

这里有多个选项:

1. 检查sqlplus banner(适用于Windows):

   $ORACLE_HOME/bin/sqlplus/ as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on Fri Dec 26 12:11:13 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, Real Application Clusters, OLAP and DataMining options

RAC实例将在banner中显示“Real Application Clusters”选项。

2. 检查实例是否存在lmon后台进程

ps -ef| grep lmon | grep <ORACLE_SID>

oracle   627     1 0   Apr 15     ?  1:02 ora_lmon_racdb1

只有RAC实例具有lmon后台进程。

3. 检查cluster_database参数

SQL> show parameter cluster_database

输出“true”表示它是RAC实例,但这不可靠,因为RAC实例可能在维护期间将cluster_database设置为false。

 

重新链接oracle二进制与RAC选项的步骤:

在ORACLE_HOME存在的所有节点上执行以下命令:

1.作为ORACLE_HOME所有者,停止从家中运行的所有资源(数据库,侦听器,ASM等)。 停止数据库时,使用NORMAL或IMMEDIATE选项。

2.如果以root用户重新链接11gR2GI home,解锁GI home:$GRID_HOME/crs/install/rootcrs.pl-unlock

3.作为ORACLE_HOME所有者,执行以下命令重新链接:

cd $ORACLE_HOME/rdbms/lib

make -f ins_rdbms.mk rac_on ioracle

如果互连是infiniband并且正在使用RDS协议而不是UDP:

cd $ORACLE_HOME/rdbms/lib

make -f ins_rdbms.mk ipc_rds ioracle

注意:在执行之前,请确认infiniband互连和RDS协议

注意:如果您更改超过1个HOME,请对所有HOME重复make命令。

4. 如果以root用户重新链接11gR2GI home,锁GI home:$GRID_HOME/crs/install/rootcrs.pl -patch

0 0
原创粉丝点击