ORA-12560:TNS:协议适配器错误 ORA-12518:TNS:监听程序无法分发客户机连接

ORA-12560:TNS:协议适配器错误的解决方法

ORA-12560:TNS:协议适配器错误 ORA-12518:TNS:监听程序无法分发客户机连接_第1张图片

造成ORA-12560:TNS:协议适配器错误的问题的原因有三个:

1.监听服务没有起起来。windows平台如下操作:开始一程序一管理工具一服务,打开服务面板,启动oraclehome92TNS listener服务。

2.database instance没有起起来。windows平台如下操作:开始一程序一管理工具一服务,打开服务面板,启动oracleservice XXXX,XXXX就是你的database SID.

3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者我的电脑-属性-高级-环境变量-系统变量-新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.

更加详细请看

https://www.modb.pro/db/538783

一般上面的错误会引起ORA-12518错误,如果不是 请参考下面解决办法
ORA-12560:TNS:协议适配器错误 ORA-12518:TNS:监听程序无法分发客户机连接_第2张图片
ORA-12518 报错是因为数据库服务进程超出最大限制而崩溃

show parameter processes; -- 查看数据库最大进程数量限制;
show parameter sessions; -- 查看数据库最大对话数量限制;
   
select count(*) from v$process; -- 监控一下看看当前的进程数量变化情况;
select count(*) from v$session; -- 监控一下对话数量变化情况;

如果以上最大限制和当前数量比较接近的话, 可以把最大值调大一些

alter system set processes=1000 scope=spfile;  --最大进程数
alter system set sessions=1500 scope=spfile;   -- 最大对话数量限制

再监控一下当前进程和对话数量的变化情况

select '进程数量',count(*) from v$process
union all
select '对话数量',count(*) from v$session;

你可能感兴趣的:(oracle,数据库)