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

ORACLE数据库逐步解决ORA-12541、ORA-01034和ORA-27101、ORA-00119和ORA00132的过程

程序员文章站 2022-07-06 11:49:10
刚开始时,有一台服务器的ORACLE 11G数据库连接不上,报错:ORA-12541:TNS:无监听程序,解决之后碰到ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exist,最后又碰到ora-00119:... ......

刚开始时,有一台服务器的oracle 11g数据库连接不上,报错:ora-12541:tns:无监听程序
重启服务里面的两个oracle服务,都没解决。
在网上看到一篇文章说另一种可能是oracle目录目录下listener.log日志文件过大(达到4g,据说这是oracle在windows系统下的bug)导致的。
搜索找到listener.log,果然文件已经是4gb。
于是停止服务里面的oracle监听服务,重命名listener.log做备份,例如listener.log.bak。
启动oracle监听服务,会自动生成一个新的listener.log。
plsql连接数据库,这次却报了另一个错误:

ora-01034:oracle not available
ora-27101:shared memory realm does not exist

ORACLE数据库逐步解决ORA-12541、ORA-01034和ORA-27101、ORA-00119和ORA00132的过程

解决过程:

数据库所在服务器,cmd命令行中

1、输入:

sqlplus /nolog

2、输入:

conn /as sysdba

3、输入:

startup

这时报错:

ora-00119:invalid specification for system parameter local_listener
ora-00132:syntax error or unresolved network name 'listener_orcl'

ORACLE数据库逐步解决ORA-12541、ORA-01034和ORA-27101、ORA-00119和ORA00132的过程

4、找到init.ora.1112015105811(1112015105811每台机器不一样),路径在

d:\app\lc\admin\orcl\pfile\init.ora.1112015105811

先复制一份做备份,用记事本打开init.ora.1112015105811,找到下面行

local_listener=listener_orcl

把listener_orcl修改为tnsnames.ora中的address_list的值,如下(host值根据实际修改)

local_listener="(address = (protocol = tcp)(host = 172.16.1.100)(port = 1521))"

5、回到命令行窗口中,输入:

create spfile from pfile = 'd:\app\lc\admin\orcl\pfile\init.ora.1112015105811';

6、输入:

startup

这次终于没报错了,提示:oracle例程已经启动。用plsql成功连接数据库。

以上就是oracle数据库逐步解决ora-12541、ora-01034和ora-27101、ora-00119和ora00132的过程的详细内容,更多关于oracle ora-12541:tns:无监听程序的资料请关注其它相关文章!