同事在安装虚拟机上安装RAC,建库到了80%的时候出现了ORA-341和ORA-312错误。
由于是同事的虚机,我没有相应的环境,因此没有重新问题,也没有留下相应的操作记录,这里只是将过程简单的描述一下,希望对以后碰到这个问题的人有所帮助。
数据库版本10gr2 rac for linux,Oracle的cluster软件和数据库软件已经安装成功,在建立数据库的时候,出现了ORA-341错误和ORA-312错误。
Cluster安装和数据库软件安装应该没有问题,应为同事测试了在建立ASM,并在ASM成功的建立了数据库。
这次尝试使用裸设备方式建立数据库,结果报错。
检查了一下alert问题和创建脚本,为发现什么值得注意的事情。安装时候出现的错误信息还没有被记录到alert文件中。
现在唯一的线索就是这两个错误了。ORA-312错误信息没有太大的意义,而ORA-341给出错误描述和当前的实际情况有所差异,THREAD2的日志在被加到数据库时报错,而这个文件所在的裸设备还没有被使用。
仔细又检查了一下metalink,相关信息出奇的少,基本上这个错误不会在建立数据库的时候出现。
再次查看错误描述:
ORA-00341: log string of thread string, wrong log # string in header
Cause: The internal information in an online log file does not match the control file.
Action: Restore correct file or reset logs.
ORA-00312: online log string thread string: "string"
Cause: This message reports the filename for details of another message.
Action: Other messages will accompany this message. See the associated messages for the appropriate action to take.
看来只能怀疑裸设备的配置有问题了。
首先查看了Oracle建库是使用的mapfile文件,没有发现异常。然后对比了两个服务器上的/etc/sysconfig/rawdevices文件,也没有发现不一致的地方。
最后在检查给虚拟机分配的本地磁盘信息时,终于找到了问题所在。
两个虚拟机的磁盘配置都存在问题,其中添加thread2日志的裸设备文件对应操作系统磁盘文件被虚拟机添加了多次。
正式由于这个文件已经被使用,Oracle在初始化的时候发现了错误。
改正这个错误后,问题解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-69559/,如需转载,请注明出处,否则将追究法律责任。