Oracle listener侦听问题

本文记录了在VM环境下安装Oracle后,遇到Listener无法启动的问题及解决过程。通过调整hosts文件中localhost的别名设置,成功解决了TNS-12547和TNS-12560错误。
    最近,在VM下装了一个ORACLE,在公司运行时,listener正常运行,因为导师要求我演示一些程序,用到ORACLE,故我决定将VM移植到我的PC机上,oracle运行一切正常,但在监听的时候,启动不了,报一下错误:
LSNRCTL> start
Starting /home/oracle/product/10.1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.1.0.3.0 - Production
System parameter file is /home/oracle/product/10.1/config/listener.ora
Log messages written to /home/oracle/product/10.1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=MT)(PORT=1521)))

Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
TNS-12547: TNS:lost contact
 TNS-12560: TNS:protocol adapter error
  TNS-00517: Lost contact
   Linux Error: 104: Connection reset by peer
          这非常奇怪,在公司的时候一切正常,同样为什么在PC机就有问题呢,上网baidu,google了许多资料,基本都是说listener.log文件大小大于2G,但我删除这个listener.log文件,还是不行,尝试了许多办法后,想是不是listnert.ora文件没有问题,而是系统的配置问题,例如hosts,protocals等文件等,于是尝试修改hosts,
127.0.0.1              MT localhost.localdomain
#127.0.0.1               MT localhost
为,即增加localhost的alias
#127.0.0.1              MT localhost.localdomain
127.0.0.1               MT localhost
  然后尝试lsnrctl start启动listener,果然成功拉!

### 配置 Oracle `listener.ora` 文件 #### 监听器概述 监听器是Oracle网络服务的一部分,负责接收来自客户端的连接请求并将其转发给相应的数据库实例。通过配置`listener.ora`文件可以自定义监听器的工作方式。 #### 文件位置 通常情况下,在Windows操作系统上该文件位于路径类似于`C:\app\<username>\product\11.2.0\dbhome_1\network\admin\[^3]`,而在Linux或Unix环境下则可能存在于`$ORACLE_HOME/network/admin/`. #### 基本结构与语法 一个典型的`listener.ora`文件包含多个部分: - **LISTENER**:这是默认名称,也可以指定其他名字来创建额外的监听进程。 - **ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)**: 定义了监听地址和端口号,默认使用TCP协议[^2]. - **SID_LIST_<Listener_Name>**: 列出了由当前监听器管理的服务名列表及其对应的本地侦听程序信息。 ```plaintext # Example of a simple LISTENER entry in listener.ora file. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1) (SID_NAME = orcl) ) ) ``` 上述示例展示了如何设置一个基本的监听器条目,并指定了它所关联的一个特定数据库实例的信息[^4]. 对于更复杂的环境,还可以添加更多选项如启动模式、日志级别等参数以满足不同的需求. 为了使更改生效,完成编辑后需重启监听器服务或者执行命令重新加载配置而无需停止服务: ```bash lsnrctl reload ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值