Oracle RAC之--安装过程中碰到的问题及解决方法

简介: 这一篇主要讨论整个RAC安装过程中碰到的问题以及是如何解决的。 错误一: 配置共享磁盘的问题。如果共享磁盘本身有内容,可能会导致在安装完CLUSTERWARE后,执行root.sh时出错,错误信息为:Failed to upgrade Oracle Cluster Registry configuration。

这一篇主要讨论整个RAC安装过程中碰到的问题以及是如何解决的。

错误一:

配置共享磁盘的问题。如果共享磁盘本身有内容,可能会导致在安装完CLUSTERWARE后,执行root.sh时出错,错误信息为:Failed to upgrade Oracle Cluster Registry configuration。

这时可以利用dd命令来清除ocr和voting disk的共享磁盘。类似命令为:

dd if=/dev/zero of=/dev/rdsk/c2t0d2s3 bs=1073741824 count=1

其中of指定需要清除的共享磁盘设备,而bs指定该设备的空间大小。

清除之后,再次运行root.sh,则问题消失。

错误二:

Oracle默认不会使用s0分区,如果指定了s0分区作为ocr或voting disk,那么在执行root.sh时也会收到同样的错误信息:Failed to upgrade Oracle Cluster Registry configuration。

这个时候可以指定其他的分区来替换s0分区。

错误三:

vip找不到public interface的问题。这个问题实际上是Oracle的bug。

Oracle认为192.168.*.*、10.*.*.*、172.16.*.*——172.31.*.*等ip属于private IP。因此无法自动绑定到interface上。

在使用cluvfy工具验证时会出现下面的错误:

ERROR: 
Could not find a suitable set of interfaces for VIPs.

而在安装完ClusterWare后,第二个节点执行root.sh脚本之后,会出现下面的错误:

The given interface(s), "ce0" is not public. Public interfaces should be used to configure virtual IPs.

这个的解决方法就是用root身份手工启动VIPCA,进行手工配置。

Oracle对这个问题的详细描述是:Doc ID:Note:316583.1:Subject:VIPCA FAILS COMPLAINING THAT INTERFACE IS NOT PUBLIC。

相关的bug信息是:Bug 4437727 - VIPCA FAILS COMPLAINING THAT INTERFACE IS NOT PUBLIC。

 

错误四:

那就是如果没有设置默认的网关信息,那么手工配置VIPCA的时候会出错。

如果/etc/defaultrouter没有正确的配置,那么启动vipca后,进行正确的配置。Oracle会执行6个步骤,Create VIP application resource、Create GSD application resource、Create ONS application resource、Start VIP application resource、Start GSD application resource、Start ONS application resource。

当执行到第四个步骤Starting VIP application resource时后出现错误。错误信息为:

CRS-1006: No more members to consider 
CRS-0215: Could not start resource 'racnode1-vip'. 
CRS-1006: No more members to consider 
CRS-0215: Could not start resource 'racnode2-vip'.

配置了默认路由,就可以解决这个问题了。


错误五:

也是在安装ClusterWare时碰到的。对于绑定PRIVATE ID的概念理解的不是很清晰,在加上cluvfy工具验证时出现的错误:

ERROR: 
Could not find a suitable set of interfaces for VIPs.

因此尝试手工通过下面的命令绑定VIP。

ifconfig eth0:1 plumb 
ifconfig eth0:1 172.25.198.224 netmask 255.255.0.0 broadcast 172.25.255.255 up

但是Oracle需要自动绑定这个虚拟IP,这种通过手工绑定的方式会导致ClusterWare安装配置IP时出现下面的错误:

SEVERE: The virtual hostname(s), vip-node1,vip-node2, you have specified appears to be already assigned to another system on the network

解决方法就是去掉手工绑定的VIP,通过Oracle的配置工具使得Oracle自动进行绑定。

错误六:

在数据库安装阶段碰到了。在Oracle编译racg_install时出现编译错误。检查log文件发现类似下面的问题:

makefile '/data/oracle/product/10.2/racg/lib/ins_has.mk' 的目标 'racg_install' 时出错。

在make.log中出现类型下面的错误:

racg_install// data /oracle/product/10.2/racg/lib/ins_has.mk:7: /data/oracle/product/10.2/crs/lib/env_has.mk: 没有那个文件或目录 make: *** 没有规则可以创建目标“/data/oracle/product/10.2/crs/lib/env_has.mk”。 停止。

根据错误信息发现是找不到env_has.mk文件造成的问题。而这个错误居然在METALINK和GOOGLE上都找不到产生问题的原因。

到$ORACLE_HOME/crs/lib目录下,确实找不到相应的env_has.mk。但是在$ORACLE_HOME/crs/crs/lib目录下可以找到这个文件。

造成这个错误出现的主要原因是CRS的主目录和ORACLE_HOME主目录出现冲突。

当时设置的ORACLE_HOME是/data/oracle/product/10.2,而安装Oracle的ClusterWare时指定的主目录是/data/oracle/product/10.2/crs。由于两个目录存在着嵌套关系,导致了这个问题的产生。

而后将ORACLE_HOME设置为/data/oracle/product/10.2/database,而Oracle的ClusterWare目录不变,仍为/data/oracle/product/10.2/crs,错误不在出现。

错误七:

在第二次重建系统时出现的。由于存储设备没有进行格式化。因此存储设备本身保留了ASM的配置信息。

这种情况下第一次已经分配的ASM磁盘对于新的ASM实例是不可用的。

解决方法是通过第一个问题中介绍的清除ocr和voting disk的方式来清除裸设备的信息,比如:

dd if=/dev/zero of=/dev/rdsk/c2t0d2s3 bs=1073741824 count=1

更为重要的是,选择ASM磁盘组的时候,不能选择和上次配置同名的磁盘组,否则会出现错误信息:ORA-15032和ORA-15063。

指定另外的ASM磁盘组名称后,问题得以解决。

错误八:

在安装5117016补丁集后出现的节点2上的数据库无法启动的错误。

错误信息为:

ORA-01078: failure in processing system parameters 
ORA-01565: error in identifying file '+DISK/testrac/spfiletestrac.ora' 
ORA-17503: ksfdopn:2 Failed to open file +DISK/testrac/spfiletestrac.ora 
ORA-03113: end-of-file on communication channel

同时从后台的alert文件中可以看到如下的错误:

Errors in file /data/oracle/admin/testrac/udump/testrac2_ora_4598.trc: 
ORA-07445: 出现异常错误: 核心转储 [kkxcms()+1160] [SIGSEGV] [Address not mapped to object] [0x000000168] [] []

Oracle的Note:390591.1上有详细的描述和解决方法。

整个过程碰到的比较麻烦和难于处理的问题都已经列出来了。安装过程中碰到的小问题更多。可能这些问题对于一个有了一定安装经验的人来说,不算什么。但是对于缺少安装经验的人或者第一次尝试安装RAC环境的人,每个问题都是一次考验。考验你是否进行了充分的知识准备;考验你的问题分析、解决能力;考验你搜索、寻找问题解决方法的能力;最重要的是考验你的信心、耐心和毅力。

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

转自 http://www.linuxidc.com/Linux/2012-05/60304p2.htm


目录
相关文章
|
14天前
|
机器学习/深度学习 Oracle 关系型数据库
Oracle 19c单机一键安装脚本分享
Oracle 19c单机一键安装脚本分享
18 2
|
14天前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
40 2
|
23天前
|
Oracle 关系型数据库
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
分布式锁设计问题之Oracle RAC保证多个节点写入内存Page的一致性如何解决
|
2月前
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
111 3
|
2月前
|
存储 负载均衡 Oracle
|
22天前
|
存储 自然语言处理 Oracle
Oracle数据库字符集概述及修改方式
【8月更文挑战第15天】Oracle 数据库字符集定义了数据的编码方案,决定可存储的字符类型及其表示方式。主要作用包括数据存储、检索及跨系统传输时的正确表示。常见字符集如 AL32UTF8 支持多语言,而 WE8MSWIN1252 主用于西欧语言。修改字符集风险高,可能导致数据问题,需事先备份并评估兼容性。可通过 ALTER DATABASE 语句直接修改或采用导出-导入数据的方式进行。完成后应验证数据完整性。此操作复杂,须谨慎处理。
|
19天前
|
数据采集 Oracle 关系型数据库
实时计算 Flink版产品使用问题之怎么实现从Oracle数据库读取多个表并将数据写入到Iceberg表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6天前
|
存储 Oracle 关系型数据库
Oracle同一台服务器创建多个数据库
【8月更文挑战第30天】在 Oracle 中,可在同一服务器上创建多个数据库。首先确保已安装 Oracle 软件并具有足够资源,然后使用 DBCA 工具按步骤创建,包括选择模板、配置存储及字符集等。重复此过程可创建多个数据库,需确保名称、SID 和存储位置唯一。创建后,可通过 Oracle Enterprise Manager 进行管理,注意服务器资源分配与规划。
18 10
|
15天前
|
存储 Oracle 关系型数据库
分享几个Oracle数据库日常维护中常见的问题
分享几个Oracle数据库日常维护中常见的问题
55 1