由cursor_sharing=force导致的ora-600错误

1、在alert_lxdb.log日志中报600错误

Errors in file /u01/app/oracle/admin/lxdb/udump/lxdb_ora_50379.trc:

ORA-00600: internal error code, arguments: [kkslhsh1], [101], [], [], [], [], [], []

注意这个问题可能会导致产生非常大的trc 文件而导致 文件系统满!

2、本问题的产生根本原因: 设置了 cursor_sharing = force

目前看起来虽然系统没有这样设置但是 应用里面极可能设置了: alter session set cursor_sharing = force 。

因为从v$sqlarea中提取出的sql可能一看出来,现在查询 v$sqlarea.version_count的最大值是485,来自metalink 的bug 列表中显示,当这个数字大于100的时候 就可能导致问题。

SQL> select max(version_count) from v$sqlarea;

MAX(VERSION_COUNT)

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

485

3、解决办法暂时有三种:

(1)升级数据库到9.2.0.6的版本,如果设置 cursor_sharing = similar会导致inser ... select ..发生问题,则需要9.2.0.8才能解决。

(2)修改应用,去掉alter session 而使用绑定变量。

(3)周期性的暂时 alter system flush shared_pool,目前这样几小时一次或许可以临时解决问题。

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/

时间: 2024-09-27 10:31:22

由cursor_sharing=force导致的ora-600错误的相关文章

A Case about cursor_sharing=FORCE can introduce a execute plan stale

今天一位同事带着非常忐忑的心情来找我,棋牌项目的ORACLE数据库负载过高. 我连上服务器一看,果然,LOAD 100多.IOWAIT非常低. 再TOP一下,发现ACTIVE进程非常多,单个消耗CPU在20%左右. 然后这位同事跟我描述了一下,今天上了一个推广的活动,可能导致业务量猛增,我开始怀疑是正常的业务请求. --- 此处省略1000字. 于是开始抓STATSPACK报告,不过LOAD 100多抓起来非常呛. 最终发现以下SQL消耗CPU过多. 因为开启了cursor_sharing=FO

plsql连接oracle数据库报ora 12154错误解决方法_oracle

plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错"ORA-12154: TNS: 无法解析指定的连接标识符" 解决方法如下: 1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听 客户端:tnsping <tns_name> 服务器Linux下: #>lsnrctl status 查看监听状态 #>lsnrctl start 启动监听 2.通过Sql

[20150513]函数索引与CURSOR_SHARING=FORCE

[20150513]函数索引与CURSOR_SHARING=FORCE.txt --经常awr报表,大量听到的建议是你们的应用没有使用绑定变量.国内的许多项目这个问题更加严重,我敢打赌国内80%甚至更高的比例在 --应用中没有绑定变量(OLTP系统). --如果一个新项目我只要看一下程序使用绑定变量的情况,就知道这个项目是垃圾还是豆腐渣工程.到目前为止我接触的项目仅仅有1个做 --的稍微好一点. --如果不修改代码,一个最简单的方式就是修改参数CURSOR_SHARING = FORCE(补充一

ios调用外部SDK后导致的屏幕旋转错误

问题描述 ios调用外部SDK后导致的屏幕旋转错误 程序是用C++写的跨平台横屏游戏,渲染引擎是opengl那套,IOS版添加友盟分享的SDK时,进入友盟封装的界面,游戏就变竖屏了,并且IOS6以下版本没有这个问题. IOS6以上版本是通过UIViewController控制,IOS5以下版本通过AddSubview方式添加view. 友盟的第一个界面是UINavigationController 解决方案 应该还是哪里没整对,第一个view controller 最好是UINavigation

excel-EXCEL 宏文件更改宏的选项,ACV文件没有更改,会导致宏文件的错误吗

问题描述 EXCEL 宏文件更改宏的选项,ACV文件没有更改,会导致宏文件的错误吗 5C EXCEL 宏文件更改宏的选项,ACV文件没有更改,会导致宏文件的错误吗.我是用VB在EXCEL编写的宏文件,现在对宏的选项做了更改,而SCV文件没有更新,贵不贵造成宏文件无法运行的现象啊.现在就是我的宏文件无法工作,找不到原因了. 解决方案 建议你直接在vb里调用vba函数来实现,比用宏方便 解决方案二: 这个已经成为一种规格了 ,暂时改变不了啊 .现在的问题就是我的程序没有问题,只是改变了宏的选项,程序

Oracle数据库ORA 54013错误的解决办法_oracle

ORA-54013: 不允许对虚拟列执行 INSERT 操作 这是Oracle 11 的新特性 -- 虚拟列. 在以前的Oracle 版本,当我们需要使用表达式或者一些计算公式时,我们会创建数据库视图,如果我们需要在这个视图上使用索引,我们会创建基于函数的索引.现在Oracle 11允许我们直接在表上使用虚拟列来存储表达式.虚拟列的值是不存储在磁盘的,它们是在查询时根据定义的表达式临时计算的.我们不能往虚拟列中插入数据,我们也不能隐式的添加数据到虚拟列,我们只能使用物理列来插入数据.然后可以查询

HHVM崩溃导致网站报502错误的解决方法

为了提高性能,之前把博客更换到了HHVM平台,性能确实提高了不少,但是偶尔会遇到502错误,重启HHVM之后就修复,目测是HHVM崩溃了.在网上找了一下,大多数处理思路都是建一个计划任务,在HHVM崩溃的时候重启,由于Linux Cron Job执行的最小时间单位是分,如果HHVM崩溃,最长的宕机时间不会超过一分钟,对普通博客而言,在可以接受的范围内,因此这个方法颇受欢迎.现在就将我尝试过的几种方法分享和大家分享一下: 网站报502错误的方法集锦   方法一:监测进程状态重启HHVM 保存以下s

[20130313]cursor_sharing=force的问题.txt

[20130313]cursor_sharing=force的问题.txt 前一阵子,我把生产系统的cursor_sharing设置为force, 大概按照链接: http://space.itpub.net/267265/viewspace-754003 我发现一个奇怪的问题,自己在测试环境重复测试看看. 1.建立测试环境: SQL> select * from v$version where rownum BANNER ------------------------------------

merge语句导致的ORA错误分析

      最近处理了好几起关于merge导致的问题,其实看到merge语句内心也还是蛮纠结的,这一次还是碰到了问题,简直无语了.       先交代下问题的背景.有一套OLTP环境和OLAP环境需要同步一部分数据,都是在每天的半夜开始,OLAP的库的一个表数据会根据增量的逻辑从OLTP库中同步,有两种方式,一种是OLAP从OLTP中去抓取,另外一种是OLTP推送给OLAP.看起来表达的意思是差不多的,实现起来就是完全不同的风格,即一种主动一种被动,而对于大部分的应用需求来看,还是更倾向于OLA