zoukankan      html  css  js  c++  java
  • Oracle服务启动顺序导致ORA-12514

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

    C:UsersAdministrator>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:UsersAdministrator>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:appAdministratorproduct11.2.0dbhome_1
    etworka
    dminlistener.ora
    监听程序日志文件          d:appadministratordiag	nslsnrWIN-0738SGLLSFVlist
    eneralertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
      (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:UsersAdministrator>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:appAdministratorproduct11.2.0dbhome_1
    etworka
    dminlistener.ora
    监听程序日志文件          d:appadministratordiag	nslsnrWIN-0738SGLLSFVlist
    eneralertlog.xml
    监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROC1521ipc)))
      (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:UsersAdministrator>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遇到的一种情况 

  • 相关阅读:
    java的Scanner获取输入内容
    Java数据类型的转换
    Java十进制数转二进制的方法
    Java查看项目目录以及导入项目
    ios 证书申请和发布流程
    Spring 注解大全
    Spring Boot开发Web应用
    Spring Boot中Web应用的统一异常处理
    Spring Boot中使用AOP统一处理Web请求日志
    Spring Boot属性配置文件详解
  • 原文地址:https://www.cnblogs.com/wxjnew/p/6526112.html
Copyright © 2011-2022 走看看