Issues when Add Nodes into RAC 10g

近期在客户处将原先的4节点RAC扩充到8节点。期间碰到一些问题,总结一下。 系统环境: Redhat Enterprise Server 4,Oracle RAC 10.2.0.4,OCFS2 一。现象: 往CRS中添加节点时运行rootaddnode.sh会报PRKC-1044错误。 PRKC-1044 – FAILED TO CHECK REMOTE COMMAND EXECUTION 原因: 在配置ssh对等性的时候,设置的passphrase非空。 解决方法: 重新配置ssh对等性,在Enter passphrase (empty for no passphrase): 时直接回车,不要输入任何密码。 二。现象: 在使用dbca往RAC中添加新节点时报TNS-04602错误。 TNS-04414: File Error caused by: TNS-04602: Invalid syntax error: Expected “LITERAL” before or at… 原因: 数据库中没有设置remote_listener参数。 解决方法: [sourcecode language=”sql” light=”true”]alter system set remote_listener=’LISTENERS_RAC’ scope=both;[/sourcecode] 三。总结…

How to change private interface in 10g cluster

如果要修改Private Interface的实际IP地址,必须要在操作系统级别修改,比如通过ifconfig命令以及修改/etc/hosts文件等,而为了避免发生node evictions,需要保证CRS stack down。在修改完IP地址以后,再重新让CRS stack up,才可以使用oifcfg命令修改保存在OCR中的信息。 在10gR2以前起停CRS Stack使用init.crs。 #init.crs stop #init.crs start 在10gR2以后可以使用crsctl命令。 #crsctl stop crs #crsctl start crs 1. 检查当前的网络资源配置 % $ORA_CRS_HOME/bin/oifcfg getif 2. 删除原先的Private Interface设置 % $ORA_CRS_HOME/bin/oifcfg delif –global eth1 3. 添加新的Private Interface设置(此处例子仅仅修改subnet,如果修改了eth1,就是修改了interface name) % $ORA_CRS_HOME/bin/oifcfg setif –global eth1/192.168.1.0:cluster_interconnect 4. 再次检查网络资源配置确认已经修改成功 % $ORA_CRS_HOME/bin/oifcfg getif 5. 重新启动数据库实例,以确认RAC使用了正确的Private Interface作Cache Fusion。在告警日志中检查如下输出: Cluster communication is configured…

How to Generate AWR Differences Report

生成系统正常期间内和故障期间内的AWR性能数据比较报告,可能可以帮助我们更加简单的定位问题所在。 可以通过awrddrpt.sql脚本生成。 SQL> @?/rdbms/admin/awrddrpt.sql 脚本会要求输入需要比较的第一份和第二份AWR报告的起始结束Snap ID,生成的AWR报告基本上如下图所示。 在普通的AWR报告各个部分都增加了1st, 2nd以及%Diff,这表示第一份时,第二份时各自的情况以及两次的相差百分比。 如果我们因为某些原因(比如权限问题)无法读取awrddrpt.sql,那么也可以通过DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_TEXT函数来完成。 DBMS_WORKLOAD_REPOSITORY.AWR_DIFF_REPORT_TEXT( dbid1 IN NUMBER, inst_num1 IN NUMBER, bid1 IN NUMBER, eid1 IN NUMBER, dbid2 IN NUMBER, inst_num2 IN NUMBER, bid2 IN NUMBER, eid2 IN NUMBER) RETURN awrdrpt_text_type_table PIPELINED; dbid通过以下SQL获取。 SQL> select DBID from v$database; DBID ———- 777920305 inst_num通过以下SQL获得。 SQL> select instance_number from v$instance; INSTANCE_NUMBER ————— 1…