Oracle服务启动顺序导致ORA-12514

来源:互联网 发布:百度蜘蛛池源码 编辑:程序博客网 时间:2024/06/01 10:06
在window 上装了oracle11g,按照常规步骤安装完成后一切OK,如下图所示

C:\Users\Administrator>sqlplus  /nologSQL*Plus: Release 11.2.0.1.0 Production on 星期四 3月 9 10:49:26 2017Copyright (c) 1982, 2010, Oracle.  All rights reserved.SQL> conn user/password@orcl as sysdba;已连接。SQL> select  * from dual;DU--X

查看监听服务,结果如下

C:\Users\Administrator>lsnrctl  statusLSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-3月 -2017 10:57:55Copyright (c) 1991, 2010, Oracle.  All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))LISTENER 的 STATUS------------------------别名                      LISTENER版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production启动日期                  09-3月 -2017 10:38:54正常运行时间              00 小时 195 秒跟踪级别                  off安全性                    ON: Local OS AuthenticationSNMP                      OFF监听程序参数文件          D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora监听程序日志文件          d:\app\administrator\diag\tnslsnr\WIN-0738SGLLSFV\listener\alert\log.xml监听端点概要...  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-0738SGLLSFV)(PORT=1521)))服务摘要..服务 "CLRExtProc" 包含 1 个实例。  实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...服务 "gzyl" 包含 1 个实例。  实例 "gzyl", 状态 READY, 包含此服务的 1 个处理程序...服务 "gzylXDB" 包含 1 个实例。  实例 "gzyl", 状态 READY, 包含此服务的 1 个处理程序...命令执行成功

 此时,我做了一个实验,现在停掉监听服务,然后本地登录Oracle报错 ORA-12541: TNS: 无监听程序,没有监听我认为是正常的

但是,我再次启动监听,然后查看监听状态发现监听里面没有我的gzyl的实例了,但是这个时候我的实例是启动状态,只是之后监听重启了,服务没重启

报错如下:

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

解决办法:

net stop OracleServiceGZYL--停掉数据库服务

lsnrctl  stop--停掉监听服务

lsnrctl  start--启动监听服务

net start OracleServiceGZYL--启动数据库服务

再次查看监听状态。效果如下

C:\Users\Administrator>lsnrctl  statusLSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-3月 -2017 11:01:49Copyright (c) 1991, 2010, Oracle.  All rights reserved.正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))LISTENER 的 STATUS------------------------别名                      LISTENER版本                      TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Production启动日期                  09-3月 -2017 11:01:15正常运行时间              00 小时 037 秒跟踪级别                  off安全性                    ON: Local OS AuthenticationSNMP                      OFF监听程序参数文件          D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora监听程序日志文件          d:\app\administrator\diag\tnslsnr\WIN-0738SGLLSFV\listener\alert\log.xml监听端点概要...  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WIN-0738SGLLSFV)(PORT=1521)))服务摘要..服务 "CLRExtProc" 包含 1 个实例。  实例 "CLRExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...服务 "gzyl" 包含 1 个实例。  实例 "gzyl", 状态 READY, 包含此服务的 1 个处理程序...服务 "gzylXDB" 包含 1 个实例。  实例 "gzyl", 状态 READY, 包含此服务的 1 个处理程序...命令执行成功C:\Users\Administrator>sqlplus  /nologSQL*Plus: Release 11.2.0.1.0 Production on 星期四 3月 9 11:02:54 2017Copyright (c) 1982, 2010, Oracle.  All rights reserved.SQL> conn  user/password@gzyl as sysdba;已连接。SQL> select  * from dual;

 

可以看出,oracle数据库服务和监听服务的顺序是:

监听→数据库

如果要重启监听程序,最好是把数据库服务和监听服务都停掉,然后依次启动监听-数据库服务,个人怀疑是监听只能监听服务器启动的操作,这是本地cmd连接oracle遇到的一种情况 

 

阅读全文
0 0