问题是因后台无法登录发现该BUG的,连PLSQL及服务器上的Oracle DBA也无法登录oracle

查看系统相关资源:

负载高,系统层的CPU使用高, 解决方法: 重启服务器,问题解决

通过查找原因:

得到以下BUG而引起问题的所在

Oracle版本是10.2.0.1。只要Linux x86主机运行天数是是24.8的倍数都有可能引发该bug(刚刚好上面系统运行的时间是198天),因为time()函数值为null,造成无限死循环,从而耗尽cpu。

该Oracle 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

我采取的是第三种方法,打补丁包的方式。而且据oracle官方文档说明,oracle11已经修复该问题。

下面是pache 4612267补丁包的安装及验证方法:

先停监听、dbconsole和数据库

$ 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已经删除了。

注:

Running STRACE tool shows:

$ strace /oracle/home/bin/sqlplus -V 2>&1 |less

……

old_mmap(NULL, 385024, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x41794000

gettimeofday({1122996561, 411035}, NULL) = 0

access("/usr/local/UD/conf/sqlnet.ora", F_OK) = -1 ENOENT (No such file or directory)

access("/usr/local/UD/lib/oracle/network/admin/sqlnet.ora", F_OK) = -1 ENOENT (No such file or directory)

access("/usr/local/UD/conf/sqlnet.ora", F_OK) = -1 ENOENT (No such file or directory)

access("/usr/local/UD/lib/oracle/network/admin/sqlnet.ora", F_OK) = -1 ENOENT (No such file or directory)

fcntl64(-1218313656, F_SETFD, FD_CLOEXEC) = -1 EBADF (Bad file descriptor)

It is looping on the times() function.--死循环中

times(NULL) = -1825782405

times(NULL) = -1825782405

times(NULL) = -1825782405

times(NULL) = -1825782405

times(NULL) = -1825782405

times(NULL) = -1825782405

times(NULL) = -1825782405

系统资源过高的真正原因在于此!!

oracle 整倍数,Linux x86主机运行天数是24.8的倍数都有可能引发Oracle bug及解决方法...相关推荐

  1. Linux x86主机运行天数是是24.8的倍数都有可能引发oracle bug及解决方法

    问题是因后台无法登录发现该BUG的,连PLSQL及服务器上的oracle DBA也无法登录oracle 查看系统相关资源: 负载高,系统层的CPU使用高, 解决方法: 重启服务器,问题解决 通过查找原 ...

  2. centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课...

    centos linux 系统日常管理4  scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法  第十七节课 rsync可以增量同步,scp不行 ...

  3. linux没有jre文件夹,linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法...

    linux上配置jdk时,java命令提示没有此文件或文件夹的解决方法 出现这个问题可能有以下几种原因: 1.对该文件没有执行的权限. 2.我们的机器是64位的,而下载的jdk是32位的. 我就是后一 ...

  4. 运行shell脚本报错:“syntax error near unexpected token 的解决方法”

    运行shell脚本报错:"syntax error near unexpected token 的解决方法" 今天写了个Cshell脚本,运行报错syntax error near ...

  5. Linux服务器init 5启动图形界面,报错Retrigger failed udev events的解决方法

    1.开启linux系统的桌面环境,使用startx未成功,报如下错误: 提示:Retrigger failed udev events [root@5201351 /]# startx xauth: ...

  6. Idea运行web项目时,提示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方法

    Idea运行web项目时,提示java.lang.ClassNotFoundException: com.mysql.jdbc.Driver解决方法 参考文章: (1)Idea运行web项目时,提示j ...

  7. tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法

    tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法 参考文章: (1)tomcat运行时候出现java ...

  8. webpack 运行提示“The ‘mode‘ option has not been set”的原因和解决方法

    webpack 运行提示"The 'mode' option has not been set"的原因和解决方法 参考文章: (1)webpack 运行提示"The 'm ...

  9. win8 java不是内部或外部命令_win8系统运行java提示“ava不是内部或外部命令两种解决方法...

    Java一种可以撰写跨平台应用软件的面向对象的程序设计语言,最近有一些小伙伴使用win10操作系统的时候遇到了一个问题,win8系统win8系统运行java突然提示"java不是内部或外部命 ...

最新文章

  1. mysql_connect 废弃_解决Deprecated: mysql_connect():
  2. 计算机管理文件和文件夹的教案任务设置,信息教学设计:文件和文件夹的基本操作...
  3. 可爱妈妈对我的\情色\教育
  4. HarmonyOS之常用布局DirectionalLayout的使用
  5. HDU 2255 二分图最佳匹配 模板题
  6. Leetcode--12. 整数转罗马数字
  7. mysql 变量作表名查询_使用MySQL函数变量作为表名查询
  8. Java 开发人员必备的开发工具,这些没用进BAT想都别想
  9. c++中的堆(优先级队列 priority_queue)
  10. python易错盲点排查之+=与+的区别分析以及一些赋值运算踩过的坑
  11. 【大数据部落】基于随机森林、svm、CNN机器学习的风控欺诈识别模型
  12. python的猴子补丁monkey patch
  13. 【MCM-2017】2017年数学建模美赛题目原文及翻译-A (个人思路)
  14. Android 将签名布局旋转90度,Android签名生成和互转(示例代码)
  15. IV WOE 评分卡 分箱
  16. 基于MATLAB对低照度图像进行直方图均衡化和同态滤波操作
  17. VSCode全局搜索快捷键失效
  18. 黄芪桂圆枸杞红枣茶的作用
  19. 初学实体框架EF(Entity Framework)
  20. RISC-V指令集架构------RV32I基础整数指令集

热门文章

  1. 4个参数搞定ABTEST样本量的最优选择
  2. 计算机应用评估和调整,随时评估并进行相应的调整.doc
  3. Django框架学习---入门-内容复习(2.1)
  4. 图形引擎实战:移动平台海飞丝系统-运动篇
  5. mysql五中约束_大学计算机基础B答案
  6. 你们听歌都是用什么软件听?这里有三款优秀的小众音乐播放器!
  7. 软件工程毕业设计课题(83)微信小程序毕业设计PHP家政服务预约小程序系统设计与实现
  8. cloudreve win10 解析域名_利用Cloudreve搭建自有网盘系统
  9. [SSD固态硬盘闪存 3] QLC 闪存给SSD主控带来了很大的难题?
  10. linux离线软件包下载,Linux离线安装Docker