修改oracle数据库连接数(ora-12516)

错误代码:ora-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程

解决方案:

1.使用dba权限连接数据库 
sqlplus / as sysdba
2.查看当前连接和最大连接数
-- 查询当前连接
select count(*) from v$process;
-- 查询最大连接数
select value from v$parameter where name = 'processes';
3.查看当前session数和最大session-- 当前session数
select count(*) from v$session;
-- 查看最大session数
select value from v$parameter where name = 'sessions';
4.根据上面的连接数去扩大对应的参数
-- 修改session
alter system set sessions=400 scope = spfile;
-- 修改processes
alter system set processes = 3000 scope = spfile;

5.修改配置之后需要重启服务
shutdown immediate;
 startup mount;
alter database open;
6.如果使用的是pdb数据库,那么需要启动pdb
-- 查看所有的pdb
select con_id,name,open_mode from v$pdbs;
-- 启动pdb
alter pluggable database pdb名称 open;

下面是完整的处理经过

Windows PowerShell
版权所有 (C) 2014 Microsoft Corporation。保留所有权利。

PS C:\Users\Administrator> sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on 星期二 62 13:54:44 2020

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


连接到:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

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

  COUNT(*)
----------
       291

SQL> select value from v$parameter where name = 'processes'
  2  ;

VALUE
--------------------------------------------------------------------------------
300

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
sessions                             integer     480
shared_server_sessions               integer
SQL> show parameter processes;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes                      integer     1
db_writer_processes                  integer     2
gcs_server_processes                 integer     0
global_txn_processes                 integer     1
job_queue_processes                  integer     1000
log_archive_max_processes            integer     4
processes                            integer     300
SQL> show parameter processes;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes                      integer     1
db_writer_processes                  integer     2
gcs_server_processes                 integer     0
global_txn_processes                 integer     1
job_queue_processes                  integer     1000
log_archive_max_processes            integer     4
processes                            integer     300

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

  COUNT(*)
----------
       287


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

系统已更改。

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

  COUNT(*)
----------
       192

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

系统已更改。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 1.0335E+10 bytes
Fixed Size                  5415672 bytes
Variable Size            2919238920 bytes
Database Buffers         7381975040 bytes
Redo Buffers               28135424 bytes
数据库装载完毕。
SQL>
SQL>
SQL> alter database open;

数据库已更改。

SQL> select name,cdb from v$database;

NAME      CDB
--------- ---
ORCL      YES

SQL> select 1 from dual;

         1
----------
         1

SQL> select con_id,name,open_mode from v$pdbs;

    CON_ID NAME                           OPEN_MODE
---------- ------------------------------ ----------
         2 PDB$SEED                       READ ONLY
         3 NAME1         				  MOUNTED
         4 NAME2                          MOUNTED


SQL> alter pluggable database NAME1 open;

插接式数据库已变更。

SQL> alter pluggable database NAME2 open;

插接式数据库已变更。

SQL> select con_id,name,open_mode from v$pdbs;

    CON_ID NAME                           OPEN_MODE
---------- ------------------------------ ----------
         2 PDB$SEED                       READ ONLY
         3 NAME1         				  READ WRITE
         4 NAME2            			  READ WRITE

SQL> EXIT;
从 Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 断开
PS C:\Users\Administrator>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值