记录一份Oracle 正确的监听配置文件listener.ora与tnsnames.ora

一、前言#

昨天中午接到领导指示,有其他组的负责人B在厄瓜多尔演示他们组的产品,然后我们组的负责人就想说也在那边搭一套环境,(北美那边的亚马逊云环境),让B帮忙演示下我们的系统。

于是,开始了一个比较曲折的过程。由于北美那边离咱们实在太远,网络相当不稳定,一步一卡,淡入淡出效果相当明显。

aws环境是windows server,好歹不用自己上传oracle安装包,直接官网下载下来。然后安装后,监听又出问题,自己没搞定,最后dba在家里远程搞了一个多小时才搞定。

最后把应用什么的全部部署完,已经搞到12点多了。哎

记录下这个曲折的过程,以及正确的listener.ora和tnsnames.ora的配置,备忘。

顺便提一句,后边得好好研究下docker了。每次演示,搞环境,太恼火了。

 

二、oracle 下载#

地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html

下载后,ctrl选中两个文件,然后用360解压缩到一个目录。

三、安装过程#

后边本地试下oracle安装,再补上

update:这里给个链接

https://blog.csdn.net/m0_38025207/article/details/81010593

值得注意的是,在按照上面执行完后,还要进行以下步骤:

1、net manager配置#

 

 

 

 

然后点击文件—保存网络配置。

 

 

 

 

然后在cmd中执行:

 

 

 

然后执行: lsnrctl start

 

 

 

然后查看上面红框处,是否包含了”CAD”

 

最后,利用navicat测试一下。

 

四、配置文件#

1.listener.ora#

复制代码
# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (SID_NAME = CAD)
      (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)
    )
  )

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

ADR_BASE_LISTENER = C:\app\Administrator
复制代码

值得注意的是,上面的host那,配的是其内网ip,不是外网ip。(就这个都折腾了大半天。。)

 

 2.tnsnames.ora#

复制代码
# tnsnames.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

CAD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 172.31.21.163)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = CAD)
    )
  )
复制代码

 

五、一些oracle命令#

1.lsnrctl status#

 

 我注意到,这里的红框标注的CAD,CLRExtProc和 listener.ora中是一致的

另外,这里的status是unknown。表示:

An UNKNOWN status means that the instance is registered statically in the  listener.ora file rather than dynamically
with service registra tion. Therefore, the status is non known.
------这个‘unknown’ 表征实例是静态注册到监听

lsnrctl start : 启动监听器

lsnrctl stop : 关闭

lsnrctl service:

列举监听器的服务信息,比如这些服务是否有任何专用的预生成服务器进程或与之相关的调度进程,以及每个服务已有多少连接被接受或拒绝。这种方法用来检查一个监听器是否在监听一个指定服务。

列出服务的一个汇总表及为每个协议服务处理程序所建立和拒绝的连接信息个数。

2.登录#

sqlplus “/ as sysdba”

conn cad/cad@CAD

 

3.netca #

进行监听的配置

 




posted @   三国梦回  阅读(21703)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示
CONTENTS