关闭

ORA-00020错误处理及修改process的方法

564人阅读 评论(0) 收藏 举报

 

问题描述:数据库连接太多,连接打开没有长时间不关闭,时间长了会连接不上数据库。

解决方式:

1、增加process数量

2、检查应用程序使用数据库连接后有没有释放连接。 

 

查看系统参数配置

SQL>show parameter process
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
processes integer 300

SQL> show parameter session
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
sessions integer 335

                    


SQL> select count(*) from v$process;
COUNT(*)
----------
297
SQL>select count(*) from v$session;
COUNT(*)
----------
297

 

查看哪些程序产生大量的连接
SQL> selectprogram,status,count(*) from v$session
group by program,status having count(*) > 5
order by program,status;

 

定位session 最后run的SQL
SQL> select sql_text,count(*) from v$sql s , v$session se where se.prev_hash_value =s.hash_value group by sql_text;

 

在操作系统上查看进程
$ps -ef | grep ora


修改processes后,session等参数会自动修改
SQL> alter system set processes=5000 scope=spfile;

修改/etc/sysctl.conf 文件
kernel.sem=5010 641280 5010 128

#/sbin/sysctl -p 

重新启动数据库

 /////////////////////////////////////////////////////////////////////////////////////////////////////////////

后记:

本例中最后进行了增大数据库的日志文件操作,通常来说,日志文件的大小对数据库性能影响比较显著。日志切换的时候影响数据库。

对数据库监控可以用 Quest Spotlight on oracle

官方网站:http://www.quest.com/ ,可以免费试用30天哦。现在的版本是8.01

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:66497次
    • 积分:845
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:7篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论