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

在window 上装了oracle11g,按照常规步骤安装完成后一切OK,如下图所示

C:\Users\Administrator>sqlplus  /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 3月 9 10:49:26 2017

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

SQL> conn user/password@orcl as sysdba;
已连接。
SQL> select  * from dual;

DU
--
X

查看监听服务,结果如下

C:\Users\Administrator>lsnrctl  status

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-3月 -2017 10:5
7:55

Copyright (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 - Produ
ction
启动日期                  09-3月 -2017 10:38:54
正常运行时间              00 小时 195 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          D:\app\Administrator\product\11.2.0\dbhome_1\network\a
dmin\listener.ora
监听程序日志文件          d:\app\administrator\diag\tnslsnr\WIN-0738SGLLSFV\list
ener\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  status

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-3月 -2017 11:0
1:49

Copyright (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 - Produ
ction
启动日期                  09-3月 -2017 11:01:15
正常运行时间              00 小时 037 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          D:\app\Administrator\product\11.2.0\dbhome_1\network\a
dmin\listener.ora
监听程序日志文件          d:\app\administrator\diag\tnslsnr\WIN-0738SGLLSFV\list
ener\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  /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 3月 9 11:02:54 2017

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

SQL> conn  user/password@gzyl as sysdba;
已连接。
SQL> select  * from dual;

 

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

监听→数据库

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值