分类: 服务器与存储
2008-07-18 23:02:15
现在,一个FAL(Fetch Archive Log,获取归档日志)请求由MRP进程监测可用归档中的缺口来触发。用来连接回应这个请求的服务器由FAL_SERVER参数指定,你给这个参数设置一个合适的tnsnames别名。这使你的备用可以与主数据库连接并使用arc进程来传送所缺少的日志。
当上面的情形是日志记录在备用上时,主数据库上没有显示记录了任何问题。首先想到的肯定是连接性,但这很容易反驳。
所以为了获得更多的信息,对主数据库和备用数据库部署更多的日志记录,使用日志归档跟踪参数。这个参数具有跟踪一些后台进程的能力,并因此可用于主数据库和备用数据库上。
实际上,主数据库上的arc进程显示了什么出错了,因为这个跟踪不断地给出下面的信息:
那么,这到底告诉了我们什么呢?备用数据库在请求11402和11403,而主数据库知道备用数据库在请求这些,然而主数据库还认为这个备用数据库在请求10890,但是备用数据库已经使用了这个,无论是否接收到这个归档日志。
所以是这个日志在妨碍FAL进程正常地工作。
所以这是一个bug情形。看起来它与在log_archive_dest参数上设置max_connections 有关。
当试图将日志归档最大进程从6设置为1时,在主要的警告日志中会看到如下信息:
然后关闭最后运行的arc后台进程——注意根据Oracle的支持这是很安全的,而且pmon监测到它被废弃了并重启了arc进程:
这不能工作。当arc0进程重启时,它仍然认为它应该发送10890归档日志。唯一的解决方法是返回这个实例,幸亏有一个RAC主数据库使得它没有实际的服务损耗。