Oracle 12.2监听无法启动解决方法

为了解决Oracle 12.2监听无法启动的问题,需要按照以下步骤进行操作:

确认监听进程是否在运行

在解决问题之前,先要确认是否存在监听进程。可以通过执行以下命令来检查监听进程:

ps -ef | grep tns

如果没有监听进程运行,需要执行以下步骤来启动监听进程。

启动监听进程

  1. 检查“listener.ora”文件的配置

在运行监听进程之前,需要确保“listener.ora”文件的配置是正确的。在Oracle 12.2中,该文件通常位于“$ORACLE_HOME/network/admin/”目录下。打开文件,检查其中的监听器名称和端口号是否正确。示例如下:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = myhost)(PORT = 1521))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = my_global_database_name)
      (SID_NAME = my_sid)
      (ORACLE_HOME = /u01/app/oracle/product/12.2.0/dbhome_1)
    )
  )
  1. 启动监听进程

如果监听进程没有在运行,需要执行以下步骤来启动监听进程:

lsnrctl start

执行后,会显示类似下面的信息:

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 18-AUG-2017 10:41:02

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

Starting tnslsnr: please wait...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/myhost/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhost)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date                17-AUG-2017 11:48:34
Uptime                    1 days 22 hr. 50 min. 51 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/myhost/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhost)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "pdb1" has 1 instance(s).
  Instance "cdb2", status READY, has 1 handler(s) for this service...
Service "pdb1XDB" has 1 instance(s).
  Instance "cdb2", status READY, has 1 handler(s) for this service...
Service "pdb2" has 1 instance(s).
  Instance "cdb1", status READY, has 1 handler(s) for this service...
The command completed successfully

如果监听进程已经在运行,会显示类似下面的信息:

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 18-AUG-2017 11:06:59

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

Starting tnslsnr: please wait...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/myhost/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhost)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 111: Connection refused

总结

以上是解决Oracle 12.2监听无法启动的方法和步骤。通过检查监听进程的运行状态和配置文件的正确性,可以解决大部分的监听无法启动的问题。如果问题仍然存在,建议参考Oracle官方文档进行排查。

下面是两个示例说明:

示例1

如果在执行“lsnrctl start”命令时,出现以下错误:

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 18-AUG-2017 11:06:59

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

LSNRCTL> start
Starting /u01/app/oracle/product/12.2.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/myhost/listener/alert/log.xml
Failed to start listener: TNS-01106: Listener using listener name LISTENER has already been started
 TNS-12560: TNS:protocol adapter error
  TNS-00530: Protocol adapter error

说明监听进程已经在运行了,可以使用“status”命令来检查其状态。如果想重新启动监听进程,可以使用“stop”命令停止进程,然后再使用“start”命令启动进程。

示例2

如果在执行“lsnrctl start”命令时,出现以下错误:

LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 18-AUG-2017 11:06:59

Copyright (c) 1991, 2016, Oracle.  All rights reserved.

LSNRCTL> start
Starting /u01/app/oracle/product/12.2.0/dbhome_1/bin/tnslsnr: please wait...TNS-12537: TNS:connection closed
 TNS-12560: TNS:protocol adapter error
  TNS-00507: Connection closed
   Linux Error: 29: Illegal seek

说明启动监听进程时出现了错误。检查“tnsnames.ora”和“listener.ora”文件中的配置是否正确,确认所需的TCP/IP协议端口是否在网络配置中启用。如果问题仍然存在,建议从Oracle官方文档中查询解决方案。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Oracle 12.2监听无法启动解决方法 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • MySQL远程连接不上的解决方法

    MySQL远程连接不上可能是因为以下原因: 1.防火墙问题 2.MySQL配置问题 3.权限问题 针对第一种情况,需要检查服务器的防火墙是否阻止了MySQL的连接。可以先关闭防火墙,测试一下是否能够连接MySQL。如果可以连接,说明是防火墙导致的。 要开放MySQL需要使用的端口(默认为3306),在Linux操作系统中使用iptables命令开放端口。可以…

    database 2023年5月22日
    00
  • 数据库查询哪个对像里面包含什么字段方法语句

    要查询数据库中某个表的字段信息,可以使用以下两种方法: 方法一 使用DESC命令查询表中所有字段信息。该命令会查询表的每个字段,包括字段名、数据类型、是否为 NULL、键类型等信息。 DESC table_name; 其中,table_name为要查询的表名。 示例: 假设有一个表名为student,该表包括三个字段:id、name和age。如果要查询这个表…

    database 2023年5月21日
    00
  • mysql进阶知识

    一.存储引擎 引擎 指的是一个系统的核心部分 引擎有不同分类是为了适应不同的使用场景 查看mysql支持所有引擎 show engines; MRG_MYISAM 是一堆MYISAM表的集合 用于做水平分表,如果一个表中数据量太大 将导致效率降低 水平分表就是把整个大表拆成不同的小表,每一次查询 会判断数据在哪一个表中 然后对应去查找 以此来提高效率 nam…

    MySQL 2023年4月16日
    00
  • Navicat for MySQL 11注册码\激活码汇总

    Navicat for MySQL 11注册码\激活码攻略 Navicat for MySQL是一款功能丰富的数据库管理工具,但是它需要购买正版才能完整体验。对于没有购买的用户,可以通过搜集和使用注册码或激活码的方式进行激活。以下是搜集Navicat for MySQL 11注册码\激活码的攻略。 1. 寻找可靠的注册码\激活码来源网站 许多网站声称提供Na…

    database 2023年5月22日
    00
  • Oracle中分组查询group by用法规则详解

    让我进行如下的详细讲解: Oracle中分组查询Group by用法规则详解 什么是分组查询? 在Oracle中,分组查询可以使用GROUP BY关键字进行操作。它是一种特殊的SELECT语句,可以将一组结果按照一个或多个列分组,并且针对每一组计算一个聚合函数。 Group by语法说明 语法: SELECT column1, column2,…colu…

    database 2023年5月21日
    00
  • 某大型网络公司应聘时的笔试题目附答案

    某大型网络公司应聘时的笔试题目附答案 一、考题解析 这个考题是一道面试题,主要考察应聘者的数据结构和算法掌握情况。下面我们将具体分析考题。 1. 题目描述 给定一个数组,返回该数组中第k个最大的元素。要求时间复杂度O(n),n为数组的长度。 2. 解题思路 一个数组中的元素可以用最大堆来存储,最大堆可以用数组来模拟实现。假设数组为A,第一个元素为A[0],则…

    database 2023年5月22日
    00
  • 5招带你轻松优化MySQL count(*)查询性能

    下面我将为您详细讲解“5招带你轻松优化MySQL count(*)查询性能”的完整攻略。 介绍 在MySQL中,count()查询是一种基础的查询语句,用于统计数据表中的记录数。然而,如果数据量较大,count()查询可能会变得缓慢,并导致性能问题。针对这个问题,本文将介绍5招优化MySQL count(*)查询的方法,帮助你轻松提高查询性能。 1. 使用C…

    database 2023年5月19日
    00
  • MySQL与Oracle 差异比较之七 其它

    MySQL与Oracle 差异比较之七 其它 在这篇文章中,我们将介绍MySQL和Oracle数据库在其他方面的差异。包括数据类型、索引、触发器、存储过程方面的差异。 数据类型 MySQL和Oracle数据库支持的数据类型有很多差异。在MySQL中,有以下一些具有特殊意义的数据类型: SET:用于存储多个有限的字符串值。 ENUM:用于存储单一字符串值。 J…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部