记录一份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
进行监听的配置