ora-12516错误的处理

 突然就接开发人员说客户端用pl/sql dev连接数据库有问题,我试了一下出现的问题重现,在登入时就提示

ORA-12516: TNS: 监听程序无法找到匹配协议栈的可用句柄.

解决过程如下:

1.在服务器端以dba身份登入.

2.查看当前的session数量,及系统默认的最大session数.

SQL> select count(*) from v$session;

  COUNT(*)
----------
        147

SQL> show parameter processes

NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------
aq_tm_processes                      integer     0
db_writer_processes                  integer     1
job_queue_processes                  integer     0
log_archive_max_processes            integer     2
processes                            integer     150
SQL> show parameter sessions

NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------
java_max_sessionspace_size           integer     0
java_soft_sessionspace_limit         integer     0
license_max_sessions                 integer     0
license_sessions_warning             integer     0
logmnr_max_persistent_sessions       integer     1
mts_sessions                         integer     0
sessions                             integer     170
shared_server_sessions               integer     0

3.修改processes及sessions的值:

SQL> show parameter spfile;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      %ORACLE_HOME%\DATABASE\SPFILE%
                                                 ORACLE_SID%.ORA

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

SQL>alter system set sessions=200 scope=spfile;

4.查看当前的processes及sessions发现并无改变,故重启数据库:

SQL>shutdown immediate

SQL>startup

SQL> show parameter processes

NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------
aq_tm_processes                      integer     0
db_writer_processes                  integer     1
job_queue_processes                  integer     0
log_archive_max_processes            integer     2
processes                            integer     200
SQL> show parameter sessions

NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------
java_max_sessionspace_size           integer     0
java_soft_sessionspace_limit         integer     0
license_max_sessions                 integer     0
license_sessions_warning             integer     0
logmnr_max_persistent_sessions       integer     1
mts_sessions                         integer     0
sessions                             integer     225
shared_server_sessions               integer     0

5.在客户端再次利用pl/sql dev连接数据库,测试可以正常连接.没有再出现错误提示.

说明:

ORACLE的连接数(sessions)与其参数文件中的进程数(processes)有关,它们有如下的关系式:

sessions=1.1*processes+5

你可能感兴趣的:(oracle,职场,ORA-12516,休闲)