永发信息网

oracle数据库老是死

答案:2  悬赏:30  手机版
解决时间 2021-04-04 06:49
oracle9i的数据库,用于网站web的数据存储。最近一段时间web页面访问老是特别特别慢,然后数据库无缘无故的死掉,查看alert没有看出什么毛病,用toad连接有时会报超出最大进程数。但是查看历史最高连接数是68,oracle默认是150啊,改成300后还是会死。不知道是什么问题,希望高人能给点意见!<br>因为出现问题所以更改过代码,但是出现问题之前貌似较长一段时间没有更新过代码
最佳答案
估计你的问题是这个,优化sql!仔细看看sql!

查看用户最大游标数量

这个cursor主要是由于应用程序端(JAVA)造成的,测试结果是
1、对于jdbc来说,每一个从Connection中产生的Statement相当于一个Session,此时会在v$session中产生或者重用一条session记录,v$open_cursor中记录的就是每个session打开的cursor数量,一个对多个父子关系。

2、除非Statement close物理关闭,否则在这个session在v$open_cursor中相关联的记录将一直存在,不会释放。 jakarta dbcp数据库连接池有一个StatementCache功能,它不会物理关闭Statement,所以造成了我们的cursor溢出,看来Oracle的Statement不能再客户端进行Cache,当我的cache size就算为1,运行一段时间cursor也会溢出,我们必须Close Statementsession来确保相应Session中打开的游标关闭。

3、系统参数open_cursor的含义就是这个Session中能够打开游标的最大数,用SQL
表示如下:
select max(cursor_count) from (select count(*) cursor_count
from v$open_cursor where user_name='ORAL' group by sid);

当这条SQL返回结果达到open_cursor参数的取值,jdbc就会抛出

Oracle 最大游标数
2008-06-26 09:241.

检查数据库中的 OPEN_CURSORS 参数值。

可以使用如下查询语句:

SQL> show parameter open_cursors;

2. 获取打开的游标数。
下面的查询按降序显示用户“SCOTT”为每个会话打开的游标数。

SQL> select o.sid, osuser, machine, count(*) num_curs
2 from v$open_cursor o, v$session s
3 where user_name = 'ORAL' and o.sid=s.sid and machine !='SYSTEM'
4 group by o.sid, osuser, machine
5 order by num_curs desc;

3.'ORA-01000:超出最多允许打开的游标数'问题

可以修改oracle中最大游标数

(1)修改srvm/admin/init.ora文件中的OPEN_CURSOR;

(2)alter system set open_cursor=(游标数) scope=both;

(3)在应用程序中执行完数据库操作后,及时关闭与数据库操作相关对象(statement,resultset,connection)

4.主要原因

在程序中没有及时关闭statement等相关对象造成游标资源一直被占用!

注:造成'打开最大游标数'问题主要之程序代码方面造成的.

(1)在事务操作是容易发生。

(2)程序中,在循环里面做statement操作时可能发生。
全部回答
oracle是一种适用于大型、中型和微型计算机的关系数据库管理系统,它使用sql(structured guery language)作为它的数据库语言。 sql主要包括数据定义、数据操纵(包括查询)和数据控制等三方面功能。sql是一种非过程化程度很高的语言,用户只需说明"干什么"而无需具体说 明"怎么干"语言简洁、使用方便功能强大,集联机交互与嵌入于一体,能适应广泛的使用环境。oracle数据库由三种类型的文件组成:数据库文件、日志文 件和控制文件。 数据字典是由oracle自动建立并更新的一组表,这些表中记录用户的姓名、描述表和视图以及有关用户权限等的信息。数据字典是只读的,只允许查询。 也就是说数据字典是一种数据库资源,每个用户都可以访问数据字典,dba可通过数据字典来监视oracle rdbms的使用,并帮助用户完成其应用。oracle rdbms本身也要利用数据库字典来管理和控制整个数据库。 提起数据库,第一个想到的公司,一般都会是oracle。该公司成立于1977年,最初是一家专门开发数据库的公司。 oracle在数据库领域一直处于领先地位。1984年,首先将关系数据库转到了桌面计算机上。然后,oracle的下一个版本,版本5,率先推出了分布 式数据库、客户/服务器结构等崭新的概念。oracle的版本6首创行锁定模式以及对称多处理计算机的支持……最新的oracle8主要增加了对象技术, 成为关系-对象数据库系统。目前,oracle产品覆盖了大、中、小型机等几十种机型,oracle数据库成为世界上使用最广泛的关系数据系统之一。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
女人有奶是喂小孩看起来也美观。 男人为啥也
网上买裤子怎么选尺码?
---MayIspeaktoBill,please?---________A.Y
如果你跟你的上司关系闹僵了,怎么缓和?
我想知道公司没有给我们办社保卡,但是有办工
电动车的电池在充电时,向 外泄漏液体这是什么
共享文件夹怎么添加,电脑上创建的新件文件夹
关于闲暇的成语
第子规全文,一字不差
像橘子一样的果实,又不是橘子,叫什么?
百战百胜的成语故事是什么?
别人给你打钱。会给你的手机发短信吗?
为应对全球变暖将会给本国带来的灭顶之灾,20
常州音乐电台"爱听935“,昨天八一建军节九点
周公解梦 梦见好多老人挖很深的坑怎么回事
推荐资讯
龙,真是虚构的吗
阅读材料,回答下列问题。材料一:表一:我国
北斗七星 北方六月的位置?
从事专业承包隧道施工十多年,因国家对高铁投
什么是SCI,SSCI CSSCI,北大核心期刊
抽油烟机费电吗,百得抽油烟机是十大名牌吗
中国联合网络通信有限公司秭归县分公司怎么样
QQ空间第10级的积分是90,11级积分160,12级积
电脑中的任务栏在哪,华硕电脑桌面上有个任务
别克英朗16款豪华版带不带倒车影像
会议牵头人需要准备什么
这是小气吗?我不喜欢别人没经过我的同意就拿
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?