服务器重启后oracle监听不能自动启动(但服务已设置自动),手动启动后马上停止

服务器重启后oracle监听不能自动启动(但服务已设置自动),手动启动后马上停止,第1张

我们管理的有三台windows服务器都有这种情况,监听是一点都不敢动,而且重启之后还会d出对话框提示 监听遇到了问题需要关闭,不过这个时候监听还是可以用的,但是一旦手动lsnrctl stop listener之后就起不起来了,这个错误是只有在windows *** 作系统当中才有的,当时我们也没有解决只有重启系统才能把监听启起来,不然的话是没有什么办法启动监听的,最后换成了linux的版本后才稳定下来。 楼主可以考虑将数据库备份后重装一次系统,然后恢复数据库。具体做法是将$ORACLE_BASE/oradata/$ORACLE_SID/ 目录下的所有文件在停机状态下进行copy(包括redo、undo、temp、controlfile、其他数据文件保存起来)还有$ORACLE_HOME/dbs目录下的服务参数文件、密码文件保存下来 ,然后重装oracle,将sid设置为和当前一样的名称,停机将原来保存的文件替换到相应的位置,然后启动数据库即可。
要是这个还不能解决的话,那么就考虑重装系统,然后再安装数据了。 当然这个是最不得已的方法,要是有其他更直接的办法可以解决监听问题的话 那就可以去尝试。

首先:不像是oracle的问题,貌似系统的问题
其次:在排除系统问题的情况下,在cmd下,输入“lsnrctl start”,看是否能正常启动,然后将错误提示贴出来
最后:千万别着急,做技术的越着急,越容易出低级问题。
希望我的回答对你有帮助

ora-12514的错误的原因有很多,但无外乎这几种:

1ora-12514: TNS: 没有监听器

显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。启动监听器:

$ lsnrctl start或C:lsnrctl start

2、ora-12514: TNS: 无法处理服务名

检查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:oracleora92networkadmin tnsnamesora,Linux/Unix下/network/admin/tnsnamesora)里每项服务的首行服务名称前不能有空格。

3、ora-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME

打开NetManager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。同时检查sqlnetora,例如如果想要采用简便连接方式连接就需要在NAMESDIRECTORY_PATH参数中添加EZCONNECT。

拓展知识:

ora-12514:TNS:监听程序当前无法识别链接描述符中请求的服务

该问题是由于缺少监听器的SID_LIST描述项引起的,采用netca进行配置的时候经常会遇到该问题,listenerora示例如下

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /opt/oracle/product/9204)

(PROGRAM = extproc))

(SID_DESC =

(GLOBAL_DBNAME = SAMPLECOM)

(ORACLE_HOME = /opt/oracle/product/9204)

SID_NAME = SAMPLE)))LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = tcycom)(PORT = 1521)))

怎么可能~?
net的tcp连接你都没搞清楚~
有一个监听socket,用来监听端口1111
当有一个客户请求连接的时候,监听的服务器会创建另外一个socket对象与客户端通行,而通信的端口是随即分配的,比如是2222
那么这个服务器的另外一个socket就和客户端通信,占用端口2222,服务器以前的监听socket继续监听1111
又有一个客户端请求连接的时候,会再次创建一个socket,用另外一个随即端口与之通信,比如3333,而1111继续监听其它请求
够明白了~~~?~~?
总之,1111端口使用来『监听』的,不是用来『通信』的,而通信端口随即分配(根据设置可以手动分配)

这是winspc连接linux 出现错误,就是服务器没有开sftp服务
解决:在linux服务器上,
确保sftp定义在sshd的配置文件(一般为/etc/ssh/sshd_config)中有如下一行:
Subsystem sftp /usr/libexec/openssh/sftp-server
然后启动(或者重新启动)sshd服务。

从来没见过这种情况。。。。
这情况和监听没关系,而是你整个数据库服务丢失了,应该是优化的时候把注册文件给破坏了。。。
先把电脑重启一下先。。。。然后使用em control 独立登陆,然后看看列表中还有你原先那个数据库o 么?然后看看原先数据库的控制文件和数据文件还都在么?
可以的话MM我QQ好了。375133123

首先 ping 服务器 看看网络通不通。
然后 执行 telnet <serverip> 1521;看看端口有没有打开 ,比如防火墙没有给你的机器开数据库端口。
如果以上两步都能通过 ,应该就能连上的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13481077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-15
下一篇 2023-08-15

发表评论

登录后才能评论

评论列表(0条)

保存