`

oracle 10g中一个奇怪的定时bug

阅读更多
最近遇到台机器很奇怪,oracle连接数正常,但好象隔了4-5个月的一天,就突然发现
CPU 基本是100%,HANG住了,但内存和连接数没上升,只有重新启动机器,后来发现这个应该是BUG,参考如下三个连接介绍:

http://blog.csdn.net/tianlesoftware/article/details/6592316
http://walksing.iteye.com/blog/722730
http://www.itpub.net/thread-1120192-1-1.html

下面是摘录主要部分介绍:
CPU使用率100%,vmstat 显示有大量等待运行的进程,有大量的上下文切换。 sqlplus 和 lsnrctl 命令无效。 数据基本是hang住了。 啥都不能用。



       该bug 存在与Oracle 10.2.0.1.





       结合网上google的结果,该bug 对cpu 表现是。用户使用30%左右,系统使用70%。

       系统启动198天,会触发这个bug。 解决这个问题一是升级数据库,二是定期重启操作系统。

Bug 4612267 说明



MOS 上的2篇相关文章:

Bug 4612267 - OCI client spins when machineuptime >= 249 days [ID 4612267.8]

SQL*Plus 10.2.0.1 Hangs, When System UptimeIs Long Period of Time [ID 338461.1]



说明如下:

Affects:

    
Product (Component)

      
Oracle Server

 
    
Range of versions believed to be affected

      
Versions < 11

 
    
Versions confirmed as being affected

      
10.1.0.5

 
10.2.0.1

 
    
Platforms affected

      
Generic (all / most platforms affected)

 



Fixed:

    
This issue is fixed in

      
10.2.0.2

 
11.1.0.6  (Base Release)

 





Description

       OCIclients may spin once the machine has been up for longer than 249 days (24.9days on some machines). The spin will show repeated calls to times() fromsltrgatime64().



--根据官网的说法,是OS 系统超过249天,就会触发这个bug。 有时候是24.9 * N 天。 从我google的结果看,基本都是在198和199这两天触发这个bug。



修改方法:
1) 重启主机;
2) 打patch set,如升级到10.2.0.4;
3) 对该bug单独打临时patch 4612267。
第一种方法没有彻底解决问题,以后照旧;第二种方法,升级时间长,且要求停库很久,当前生产环境暂不适合;本文采用第三种方法。

参考文档:
Doc ID: 338461.1 SQL*Plus 10.2.0.1 Hangs, When System Uptime Is Long Period of Time
Doc ID: 4612267.8 Bug 4612267 - OCI client spins when machine uptime >= 249 days

二、先停监听、dbconsole和数据库
先复制$ORACLE_BASE/oraInventory/oraInst.loc到$ORACLE_HOME目录下

$ lsnrctl stop
$ emctl stop dbconsole
$ sqlplus / as sysdba
SQL> shutdown immediate

注意:dbconsole是在已经装了Oracle EM的情况下要停止,如果未安装则无需干涉。

三、安装patch

$ mkdir $ORACLE_BASE/patches
$ cd $ORACLE_BASE/patches
$ rz    (SecureCRT里上传 p4612267_10201_LINUX.zip 文件, 其它上传方式也可以)
$ unzip p4612267_10201_LINUX.zip  
$ cd 4612267/
$ $ORACLE_HOME/OPatch/opatch apply
Invoking OPatch 10.2.0.1.0
...
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/10.2.0/db_1')

Is the local system ready for patching?

Do you want to proceed? [y|n]
y    (此处输入y)
User Responded with: Y
...
ApplySession adding interim patch '4612267' to inventory

The local system has been patched and can be restarted.

OPatch succeeded.

四、验证patch

$ $ORACLE_HOME/OPatch/opatch lsinventory
Invoking OPatch 10.2.0.1.0

Oracle interim Patch Installer version 10.2.0.1.0
Copyright (c) 2005, Oracle Corporation. All rights reserved..


Oracle Home       : /u01/app/oracle/product/10.2.0/db_1
Central Inventory : /u01/app/oracle/oraInventory
   from           : /u01/app/oracle/product/10.2.0/db_1/oraInst.loc
OPatch version    : 10.2.0.1.0
OUI version       : 10.2.0.1.0
OUI location      : /u01/app/oracle/product/10.2.0/db_1/oui
Log file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch-2009_Jan_13_11-06-27-HKT_Tue.log

Lsinventory Output file location : /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/lsinv/lsinventory-2009_Jan_13_11-06-27-HKT_Tue.txt

--------------------------------------------------------------------------------
Installed Top-level Products (2):

Oracle Database 10g                                                  10.2.0.1.0
Oracle Database 10g Products                                         10.2.0.1.0
There are 2 products installed in this Oracle Home.


Interim patches (1) :

Patch 4612267      : applied on Tue Jan 13 11:05:10 HKT 2009
   Created on 5 Oct 2005, 13:48:00 hrs US/Pacific
   Bugs fixed:
     4612267


--------------------------------------------------------------------------------

OPatch succeeded.

五、启动数据库、监听和dbconsole

$ sqlplus / as sysdba
SQL> startup
$ lsnrctl start
$ emctl start dbconsole

六、如果有需要,还可以删除patch,删除前先停库

$ cd $ORACLE_BASE/patches/4612267
$ $ORACLE_HOME/OPatch/opatch rollback -id 4612267
Invoking OPatch 10.2.0.1.0
...
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/10.2.0/db_1')

Is the local system ready for patching?

Do you want to proceed? [y|n]
y    (此处输入y)
User Responded with: Y
...
RollbackSession removing interim patch '4612267' from inventory

The local system has been patched and can be restarted.

OPatch succeeded.

此时再执行上面的验证patch命令就会发现该patch已经删除了。



3
4
分享到:
评论

相关推荐

    oracle10G和oracle11G的OCI.dll

    oci.dll是Oracle Call Interface的缩写,它是Oracle数据库的一个核心组件,允许开发者使用各种编程语言与Oracle数据库进行交互。在Oracle 10G和11G版本中,oci.dll扮演了至关重要的角色,为应用程序提供了访问数据库...

    oracle 11g ,10g软件资源 百度云下载

    Oracle 10g(10g代表10th Generation,即第十代)是Oracle公司发布的一个重要版本,发布于2004年。这一版本在之前的版本基础上进行了大量的改进和优化,引入了许多新特性,特别是在网格计算方面有着显著的进步。以下...

    oracle 10g _64x

    Oracle 10g是Oracle公司推出的数据库管理系统的一个版本,它主要针对64位操作系统环境设计。Oracle数据库系统在IT行业中有着广泛的应用,尤其在大型企业、金融机构和互联网公司的数据存储和管理方面扮演着核心角色。...

    Oracle11g中文文档.zip

    Oracle 数据库 11g 中的分区.pdf Oracle 数据库 11g :真正应用测试与可管理性概述.pdf Oracle 数据库 11g:可管理性概述.pdf Oracle 数据库 11g:新特性概述.pdf Oracle 真正应用集群 11g .pdf Oracle性能...

    oracle 10g 考试题库

    Oracle 10g 是Oracle公司推出的数据库管理系统的一个版本,它在2003年发布,提供了许多增强功能和性能优化,对于数据库管理员(DBA)来说是重要的学习和认证目标。"Oracle OCP"(Oracle Certified Professional)是...

    oracle 10g在linux下定时备份手册

    Oracle 10g在Linux环境下进行定时备份是数据库管理中的重要任务,确保数据的安全性和可恢复性。以下是一份详细的Oracle 10g Linux定时备份手册: 1. **使用crontab设置定时任务** 在Linux系统中,我们通常使用`...

    oracle11g官方中文文档完整版

    Oracle 数据库 11g 中的分区.pdf Oracle 数据库 11g:可管理性概述.pdf Oracle 数据库 11g:新特性概述.pdf Oracle 真正应用集群 11g .pdf Oracle高级压缩.pdf Oracle性能优化包 11g .pdf Oracle真正应用测试...

    linux中安装ORACLE10g数据库详细步骤

    Linux 中安装 ORACLE10g 数据库详细步骤 Linux 是一个开源的操作系统,在服务器应用中广泛使用。ORACLE 是一个关系型数据库管理系统,是当前最流行的数据库管理系统之一。安装 ORACLE10g 数据库需要在 Linux 操作...

    Oracle 10g ODBC驱动 各种版本的

    1. **10.1.0.5**:这个版本可能是Oracle 10g的第一个主要更新,包含了对基础10g版本的一些改进和错误修复。可能包括性能优化、安全性增强以及对新特性的支持。 2. **10.2.0.2**:这是一个后续的维护版本,通常会有...

    Oracle 11g Concepts中英文对照.pdf

    Oracle 11g 是一个功能强大且灵活的关系数据库管理系统(RDBMS),它提供了一个强大的数据存储和管理平台。为帮助用户更好地理解和使用 Oracle 11g,我们将从以下几个方面对 Oracle 11g 的概念进行详细介绍。 ...

    Linux下Oracle 10g安装

    在Linux上安装Oracle 10g是一个涉及多步骤的过程,不仅需要对Linux操作系统有深入的了解,还需要掌握Oracle数据库的相关知识。本文介绍了安装Linux操作系统、配置系统以满足Oracle数据库要求、安装Oracle数据库软件...

    oracle10g 安装操作实用手册

    企业管理产品(Oracle Enterprise Manager 10g GridControl)提供了一个全面的数据库管理解决方案。 2. 产品获取:官方提供免费软件版本和正版付费版本。免费软件面向学生和中小企业,而正版软件则提供完整的支持和...

    Oracle 10g 补丁

    Oracle 10g数据库是Oracle公司推出的一款关系型数据库管理系统,具有高性能、高可用性和安全性等特点。在系统升级过程中,可能会遇到各种问题,其中之一就是"oracleDBConsole"服务无法启动。这个问题通常与数据库的...

    ORACLE定时任务不能自动执行的检查修复步聚

    Oracle 定时任务是 Oracle 数据库中的一种功能,可以根据设置的计划执行某些任务。但是,在某些情况下,Oracle 定时任务可能不能自动执行。这可能是由于某个版本的 BUG 导致的。下面将介绍如何检查和修复 Oracle ...

    Oracle 10g入门与提高

    Oracle 10g是Oracle公司推出的数据库管理系统的一个版本,它在数据库管理领域具有广泛的使用,尤其对于企业级应用和大数据处理。本资料“Oracle 10g入门与提高”是一份PPT教程,旨在帮助初学者掌握Oracle 10g的基础...

    ArcSDE 10.2 FOR Oracle10g、11g安装包

    ArcSDE 10.2 for Oracle 10g 和 11g ...总结来说,ArcSDE 10.2 for Oracle 10g和11g是一个复杂的系统,它在Windows环境中提供了对Oracle数据库的强大GIS功能。理解和掌握这些知识点对于成功部署和管理GIS项目至关重要。

    Oracle_10g安装包

    Oracle_10g安装包Oracle_10g安装包Oracle_10g安装包Oracle_10g安装包

    Oracle10g-linux安装包

    Oracle10g-linux安装包

    如何完全卸载Oracle 10g

    3. **选择要卸载的产品**:在Universal Installer界面中,选择“删除一个产品—卸载Oracle软件”,然后选择你想要卸载的Oracle产品版本,通常是Oracle Database 10g。 4. **执行卸载**:确认无误后,点击下一步并...

Global site tag (gtag.js) - Google Analytics