项目上使用的Oracle服务器经常出现无法登陆的情况,尝试查看数据库dump文件,没有发现在无法登陆时的报错信息,使用SecureCRT连接服务器登录sqlplus时出现错误"ORA-00020: maximum number of processes
(150) exceeded",解决方法如下:
开始时怀疑数据库死锁,通常这种情况下可以通过查询下列表/视图,杀死死锁的进程解决:
V$LOCK |
列出当前Oracle持有的锁和未解决的锁请求 |
V$SESSION |
列出当前连接到数据库的Session信息 |
DBA_BLOCKERS |
显示锁住对象的会话 |
DBA_WAITERS |
显示等待被锁住对象的会话 |
DBA_DDL_LOCKS |
列出所有DDL锁和未解决的DDL锁请求 |
DBA_DML_LOCKS |
列出所有DML锁和未解决的DML锁请求 |
DBA_LOCK |
列出所有锁和latch,以及所有未解决的锁请求 |
DBA_LOCK_INTERNAL |
每个锁或latch显示一行,每个未解决的锁请求显示一行 |
通过查询V$SESSION视图,发现连接总量已达到上限150,由于在做Oracle ADF开发,该OracleDB作为开发数据库,连接较多属于允许范围内,遂增大最大连接数,修改对应init.ora文件中"procdsses=150",重启DB。
10g里面如此修改无效,可以通过sqlplus连接至数据库
SQL> show parameter processes; //查看processes连接数设置
SQL> show parameter sessions; //查看sessions连接数设置
SQL> alter system set processes=300 scope=spfile; //设置processes连接数
不需要设置sessions连接数,sessions连接数为processes * 1.1 + 5
重启DB,问题解决。
附:用于确定锁住数据库对象的锁的SQL
select c.owner,
c.object_name,
c.object_type,
b.sid,
b.serial#,
b.status,
b.osuser,
b.machine
from v$locked_object a,
v$session b,
dba_objects c
where b.sid = a.session_id
and a.object_id = c.object_id;
项目上使用的Oracle服务器经常出现无法登陆的情况,尝试查看数据库dump文件,没有发现在无法登陆时的报错信息,使用SecureCRT连接服务器登录sqlplus时出现错误"ORA-00020: maximum number of processes
(150) exceeded",解决方法如下:
开始时怀疑数据库死锁,通常这种情况下可以通过查询下列表/视图,杀死死锁的进程解决:
V$LOCK |
列出当前Oracle持有的锁和未解决的锁请求 |
V$SESSION |
列出当前连接到数据库的Session信息 |
DBA_BLOCKERS |
显示锁住对象的会话 |
DBA_WAITERS |
显示等待被锁住对象的会话 |
DBA_DDL_LOCKS |
列出所有DDL锁和未解决的DDL锁请求 |
DBA_DML_LOCKS |
列出所有DML锁和未解决的DML锁请求 |
DBA_LOCK |
列出所有锁和latch,以及所有未解决的锁请求 |
DBA_LOCK_INTERNAL |
每个锁或latch显示一行,每个未解决的锁请求显示一行 |
通过查询V$SESSION视图,发现连接总量已达到上限150,由于在做Oracle ADF开发,该OracleDB作为开发数据库,连接较多属于允许范围内,遂增大最大连接数,修改对应init.ora文件中"procdsses=150",重启DB。
10g里面如此修改无效,可以通过sqlplus连接至数据库
SQL> show parameter processes; //查看processes连接数设置
SQL> show parameter sessions; //查看sessions连接数设置
SQL> alter system set processes=300 scope=spfile; //设置processes连接数
不需要设置sessions连接数,sessions连接数为processes * 1.1 + 5
重启DB,问题解决。
附:用于确定锁住数据库对象的锁的SQL
select c.owner,
c.object_name,
c.object_type,
b.sid,
b.serial#,
b.status,
b.osuser,
b.machine
from v$locked_object a,
v$session b,
dba_objects c
where b.sid = a.session_id
and a.object_id = c.object_id;
分享到:
相关推荐
ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法 ora-00604 错误 解决 方法ora-00604 错误 解决 方法
在oracle里面运行一下,解决Exception java.sql.SQLException ORA-00600 内部错误代码
创建物化视图ORA-12014错误解决方法 创建物化视图ORA-12014错误解决方法
ORA-06512 数字或值错误,字符缓冲区太小的解决方法。 有图有真相,希望对你有帮助。
每一个DBA在进行数据库管理的过程中不可避免的要遇到形形色色的错误(ORA- 1547 ,ORA-904,ORA-1578 ......)。有些错误由于频繁出现、原因复杂而被 Oracle DBA 们戏称之为\\\\\\\"经典的错误\\\\\\\"。其中ORA-3113 \\...
Drop goldengate用户时,报ORA-00604 ORA-20782 ORA-06512错误
如何解决ORACLE系统Ora-00600错误故障.pdf
用oracle数据库新建连接时遇到ora-12505,此问题解决后又出现ora-12519错误,郁闷的半天,经过一番折腾问题解决,下面小编把我的两种解决方案分享给大家,仅供参考。 解决方案一: 今天工作时在新建连接的时候遇到...
关于WIN10系统使用oracle instant client 时候提示ORA-01019错误的解决方案,本方案是配置好环境变量后依然提示ORA-01019错误的解决方案,内附本人制作测试的全过程说明
解决Navicat Premium连接Oracle出现ORA-28547:connection to server failed
ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...
oracle的ORA-12514错误 解决办法
在运行查询SELECT * FROM V$SESSION 会出现ORA-29275:部分多字节字符的错误,这是什么原因开始我不得其解,网上也没有介绍什么好办法。本文给出答案。
离线误删空间文件导致的ORA-01033及ORA-01145问题的解决办法,在解决ORA-01033的过程中,又出现ORA-01145 * 第 1 行出现错误: ORA-01145: 除非启用了介质恢复, 否则不允许立即脱机 接着的解决步骤
在oracle数据库遇到ora-227101错误的解决办法
如何解决ORA-04031 错误 文章内容 1.和共享池(shared pool)相关的实例参数 2.诊断ORA-04031 错误 3.解决ORA-04031 错误 • 已知的Oracle BUG • 共享池碎片 o V$SQLAREA 视图 o X$KSMLRU 视图 • 小的共享池尺寸 o ...
使用PL/SQL登录ORACLE数据 报错,error while trying to retrieve text for error ORA-01804,的解决方法,操作步骤,在windows server 2008R2 64位,oracle 12C,PLSQL Developer 12 64位,以上使用环境正常,
Oracle创建新的数据库MYORCL后用Navicat连接新的数据库,报ORA-28547错误,而连接原来默认的数据库ORCL则可以连接上。 解决方案: Navicat --> 工具 --> 选项... --> 其他 --> OCI, OCI library(oci....
ERwin连接oracle报ORA-01041内部错误,hostdef扩展名不存在解决办法,实验可解决问题。
如果内存块仍然不够满足需求,那么就会出现ORA- 04031错误。这些错误同样可能发生在ASM的实例中。默认的共享池的大小基本能够满足大部分的环境,但是如果遇到ORA-04031错误的时候可能就需要增大。 当遇到这个错误的...