欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

ORA-12520错误解决实例

程序员文章站 2022-05-15 08:10:21
...

今天突然发现连接数据库时报错,用pl/sql dev连接数据时,有时能连接上,有时连接时报:ORA-12520: TNS: 监听程序无法找到需要的

问题描述:

今天突然发现连接数据库时报错,用pl/sql dev连接数据时,有时能连接上,有时连接时报:

ORA-12520: TNS: 监听程序无法找到需要的服务器类型的可用句柄

通过服务器登录数据库,报下面的报连接数错误:

[Oracle@dbserver22 ~]$ sqlplus"/as sysdba"

SQL*Plus: Release 11.2.0.3.0Production on 星期五 11月 14 10:23:23 2014

Copyright (c) 1982, 2011,Oracle. All rights reserved.

ERROR:

ORA-00020: maximum number ofprocesses (150) exceeded

请输入用户名:

ERROR:

ORA-01017: 用户名/口令无效; 登录被拒绝

……

SP2-0157: 在 3 次尝试之后无法连接到ORACLE, 退出 SQL*Plus

[oracle@dbserver22 ~]$

和开发沟通了解后,是因为在昨天晚上有新业务上线,业务量增大,导致连接数上升。

解决办法:

增加进程连接数

--停掉监听

[oracle@dbserver22 ~]$ lsnrctl stop

--杀掉连接进程

[oracle@dbserver22 ~]$ ps -ef |grep LOCAL=NO | cut -c 10-15 | xargs kill -9

--增加连接数

SQL> alter system set processes=650 scope=spfile;

系统已更改。

--重启数据库

SQL> shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup

ORACLE 例程已经启动。

Total System Global Area1.7103E+10 bytes

Fixed Size 2245480 bytes

Variable Size 6744444056 bytes

Database Buffers 1.0335E+10 bytes

Redo Buffers 21708800 bytes

数据库装载完毕。

数据库已经打开。

SQL> exit

--启动监听

[oracle@dbserver22 ~]$ lsnrctl start

总结:

可能问题的原因很简单,但准确的定位和找出原因是需要经验和技巧的,和开发人员的沟通很重要,最终只要找出原因,解决起来可能就很简单了!

Oracle 单实例 从32位 迁移到 64位 方法

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2