MOS 上有一篇文章专门介绍这个问题,参考:[ID 779552.1]。
在Oracle
10.2.0.4版本中,alert log 可能出现如下错误:
ORA-00494:enqueue [CF] held for too long (more than 900 seconds)
这个错误,通常和ORA-600 [2103] 一起出现。 他们的产生的原因都是一样的。进程在指定时间内(默认900秒)不能获取CF 队列。
一般只在系统高负载,高并发,IO 等待和争夺时,Oracle进程占有相关资源没有释放造成。
有2个bug
可能导致这个问题:
(1)Bug7692631-
'DATABASE CRASHES WITH ORA-494 AFTER UPGRADE TO 10.2.0.4'
(2)unpublished Bug 7914003 'KILL BLOCKER AFTER ORA-494 LEADS TO FATALBG PROCESS BEING KILLED'
解决方法:
在10.2.0.4 的Oracle 的机制中会kill 所有block的进程,包括后台进程和非后台进程。 要注意的是:
(1) 如果是非后台进程holder 了CF enqueue,那么kill 该进程,那么实例还可以正常运行。
(2)如果是后台进程,如LGWR holder了,那么kill LGWR 将会导致db crash。
为了避免kill
掉blocker 进程(后台和非后台进程),可以设置参数:
_kill_controlfile_enqueue_blocker=false.
这样所有blocker 进程都不会被kill 掉。即使该进程hold 了enqueue 很长时间。一般来说,最好的情况是避免kill 后台进程,允许kill 非后台进程。
为了阻止后台进程被kill,可以在init.ora 文件里设置参数:_kill_enqueue_blocker=1,该参数默认值为3.
当设置该参数之后,如果enqueue 被后台进程holder,该后台进程不会给kill。 所以实例不会crash。 如果enqueue被非后台进程holder,那么10.2.0.4 的机制还是会尝试去kill 非后台进程。
Oracle保留ORA-494 的原因是用户更倾向于instance crash,如果不crash,db 就会hang住。
-------------------------------------------------------------------------------------------------------
分享到:
相关推荐
10. **兼容性**: Oracle 10.2.0.4客户端与同样版本的数据库服务器有最佳的兼容性,但也可能与更高版本的服务器保持一定的兼容性,这取决于具体的特性和支持策略。 总的来说,Oracle 10.2.0.4 X64客户端是一个强大的...
Oracle 10.2.0.1 升级到 10.2.0.4 Oracle 10.2.0.1 升级到 10.2.0.4 是一个复杂的过程,需要遵循特定的步骤来确保升级的成功。在这个过程中,我们需要注意一些关键的步骤和注意事项,以避免可能出现的问题。 首先...
Oracle Instant Client SQL*Plus Win32 10.2.0.4 是一款专为Windows 32位操作系统设计的轻量级数据库访问工具。这个压缩包包含了运行Oracle数据库查询和管理所需的基本组件,特别是SQL*Plus,它是Oracle提供的一个...
标题中的“instantclient-basiclite-win32-10.2.0.4.zip”是一个Oracle Instant Client的基础轻量级版本,适用于32位Windows操作系统。这个压缩包包含了运行Oracle数据库应用程序所需的一些基本组件,主要用于连接到...
Oracle即时客户端instantclient-win32-10.2.0.5官方安装包 适用环境:Windows 7/8/10 32或64位 1. 与8.0.4及以后版本的PLSQL兼容 2. 不用安装oracle软件,解压即可使用,部署快。 3. 安装包中包括了Network文件夹,...
### Oracle 10g 10.2.0.1.0 升级至 10.2.0.5.0 的详细步骤 #### 一、升级背景与目的 Oracle 10g 10.2.0.1.0 版本升级到 10.2.0.5.0 版本主要是为了获取最新的功能改进、性能优化以及安全增强。此版本的升级通常涉及...
【cx-oracle instantclient-basic-win32-10.2.0.4 第一部分】这个压缩包文件是针对Oracle数据库连接的驱动程序,主要用于Windows 32位操作系统环境。cx-Oracle是一个Python模块,它提供了与Oracle数据库交互的能力,...
Oracle linux下的客户端安装包,一共三个,分别是: oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-sqlplus-11.2....
在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码
Oracle客户端是数据库管理和开发人员与Oracle数据库服务器交互的重要工具,尤其在Windows环境下,64位的Oracle客户端10.2.0.5版本提供了一套完整的功能,支持高性能的数据访问和管理。本压缩包包含Oracle客户端的...
在使用Oracle11g 11.2.0.4 32位客户端时,确保操作系统兼容性,正确配置tnsnames.ora文件以定义数据库连接,以及设置环境变量如ORACLE_HOME和PATH,以便系统能找到所需的库文件。此外,还要根据应用需求选择合适的...
### Oracle 10g启动后报ORA-16038错误的解决方法 #### 错误概述 在启动Oracle 10g数据库时遇到ORA-16038错误,该错误通常与归档日志操作有关。具体错误信息为: ``` ORA-16038: log 1 sequence #230 cannot be ...
非常详细的oracle rac教程 目录 1、安装环境 2 2、安装前系统配置 2 2.1存储规划 2 2.2 ip地址规划 2 2.3创建用户、组(所有节点) 3 2.4配置各节点环境变量 3 2.5关闭所有节点防火墙 4 ...8.1 ora-12545 57
- 对于从 10.2.0.4 升级到 10.2.0.5 的情况,需要安装补丁 p8350262。 - **重新启动 EM 控制台:** - 使用以下命令来重启 EM 控制台: - `#emctl stop dbconsole` - 再次确认所有服务已正确启动。 通过以上步骤...
其中的"10.2.0.3"代表的是Oracle数据库的版本号,这意味着该客户端能够与运行相同或兼容版本的Oracle服务器进行通信。"20061115"通常表示软件的发布日期,这有助于了解其历史背景和可能存在的已知问题。 在解压后的...
标题 "instantclient-basic-win32-10.2.0.5.zip" 指的是 Oracle Instant Client 的一个特定版本,适用于 Windows 32 位操作系统。Oracle Instant Client 是 Oracle 公司提供的一套轻量级软件包,它允许应用程序在不...
"instantclient-basic-win64-10.2.0.5"这个压缩包文件是Oracle Instant Client的特定版本,适用于64位的Windows系统,其版本号为10.2.0.5,这代表了该软件的发布日期和技术成熟度。 首先,我们来了解一下Oracle ...
Oracle即时客户端是一款轻量级的数据库连接工具,主要用于在不安装完整Oracle数据库服务器的情况下,提供对Oracle数据库的访问能力。它的主要特点是体积小、安装快速且易于管理,为开发者和系统管理员提供了极大的...
在"ojdbc14-10.2.0.4.0.jar"的版本号中,"14"代表它支持Oracle 10g数据库的第4次修正版,即Oracle 10.2.0.4。Oracle数据库版本通常由主版本号、次版本号、修订版本号以及补丁集组成,这里的"10.2.0.4"分别对应了这些...