Oracle监听配置(一)--监听配置文件

Oracle监听配置(⼀)--监听配置⽂件
为了使得外部进程如CAMS后台程序能够访问Oracle数据库必须配置Oracle⽹络服务器环境。配置Oracle⽹络服务器环境是通过配a和a这三个监听 配置⽂件,都是放在$ORACLE_HOME\network\admin⽬录下。
1、a
其作⽤类似于linux或者其他unix的f⽂件,通过这个⽂件来决定怎么样⼀个连接中出现的连接字符串。
例如我们客户端输⼊sqlplussys/oracle@orcl
假如a的内容如下:
SQLNET.AUTHENTICATION_SERVICES=(NTS)
NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME)
那么,客户端就会⾸先在a⽂件中orcl的记录。如果没有相应的记录则尝试把orcl当作⼀个
主机名,通过⽹络的途径去解析它的ip地址,然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例,当然我这⾥orcl并不是⼀个主机名
如果a的内容如下:
NAMES.DIRECTORY_PATH=(TNSNAMES)
光纤气体传感器那么客户端就只会从a查orcl的记录,括号中还有其他选项,如LDAP等并不常⽤。
2、a
这个⽂件类似于unix的hosts⽂件,定义⼀个或多个⽹络服务net service cams 实例,提供的tnsname到主机名或者ip的对应,只有当a中类似NAMES.DIRECTORY_PATH=(TNSNAMES)这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会尝试使⽤这个⽂件。
PROTOCOL:客户端与服务器端通讯的协议,⼀般为TCP,该内容⼀般不⽤改。
HOST:数据库侦听所在的机器的机器名或IP地址,数据库侦听⼀般与数据库在同⼀个机器上,所以当我说数据库侦听所在的机器⼀般也是指数据库所在的机器。在UNIX或WINDOWS下,可以通过在数据库侦听所在的机器的命令提⽰符下使⽤hostname命令得到机器名,或通过ipconfig(forWINDOWS)o
rifconfig(forUNIX)命令得到IP地址。需要注意的是,不管⽤机器名或IP地址,在客户端⼀定要⽤ping命令ping通数据库侦听所在的机器的机器名,否则需要在hosts⽂件中加⼊数据库侦听所在的机器的机器名的解析。
PORT:数据库侦听正在侦听的端⼝,可以察看服务器端的a⽂件或在数据库侦听所在的机器的命令提⽰符下通过
lnsrctlstatus[listenername]命令察看。此处Port的值⼀定要与数据库侦听正在侦听的端⼝⼀样。默认端⼝号为1521。
SERVICE_NAME:在服务器端,⽤system⽤户登陆后,sqlplus>show parameter service_name命令察看。
ORCL:对应的本机,SALES对应的另外⼀个IP地址,⾥边还定义了使⽤主⽤服务器还是共享服务器模式进⾏连接
#连接的时候输⼊的TNSNAME
ORCL=
(DESCRIPTION=
(ADDRESS_LIST=
#下⾯是这个TNSNAME对应的主机,端⼝,协议
(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))
)
(CONNECT_DATA=
#使⽤专⽤服务器模式去连接需要跟服务器的模式匹配,如果没有就根据服务器的模式⾃动调节
(SERVER=DEDICATED)
#对应service_name
(SERVICE_NAME=orcl)
)英菲尼迪万人盛典
)
#下⾯这个类似
SALES=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=dg1)(PORT=1521))
)郑渊洁博客
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=sales)
)
)
注意:如果数据库服务器⽤MTS,客户端程序需要⽤databaselink时最好明确指明客户端⽤dedicated直连⽅式,不然会遇到很多跟分布式环境有关的ORACLEBUG。⼀般情况下数据库服务器⽤直接的连接会好⼀些,除⾮你的实时数据库连接数接近1000。
3、a
该⽂件是listener进程的配置⽂件,关于listener进程就不多说了,接受远程对数据库的接⼊申请并转交给oracle的服务器进程。所以
如果不是使⽤的远程的连接,并且不需要使⽤OEM时,listener进程就不是必需的,同样的如果关闭listener进程并不会影响已经存在的数据库连接。
姜斌是谁a⽂件的例⼦
#aNetworkConfigurationFile:#E:\oracle\product\10.1.0\Db_2\NETWORK\a
#GeneratedbyOracleconfigurationtools.
#下⾯定义LISTENER进程为哪个实例提供服务,这⾥是ORCL,并且它对应的ORACLE_HOME和GLOBAL_DBNAME其中
GLOBAL_DBNAME不是必需的,除⾮使⽤HOSTNAME做数据库连接中央党校
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=boway)
落叶的忧伤(ORACLE_HOME=/u01/app/oracle)
(SID_NAME=ORCL)
)
)
#的名字,⼀台数据库可以有不⽌⼀个
#再向下⾯是监听的协议,ip,端⼝等,这⾥使⽤的tcp协议和1521端⼝,并且使⽤的是主机名
LISTENER=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=dg1)(PORT=1521))
)
上⾯的例⼦是⼀个最简单的例⼦,但也是最普遍的。⼀个listener进程为⼀个instance(SID)提供服务。
4、的操作命令
$ORACLE_HOME/bin/lsnrctl start,将监听⽂件中定义的启动起来
停⽌的命令为
$ lsnrctl stop
监测当前状态的命令为
$ lsnrctl status
5、上⾯说到的三个⽂件都可以通过图形的配置⼯具来完成配置
$ORACLE_HOME/netca向导形式的
$ORACLE_HOME/netmgr
本⼈⽐较习惯netmgr,
profile配置的是a也就是名称解析的⽅式
servicename配置的是a⽂件
listeners配置的是a⽂件,即进程
具体的配置可以尝试⼀下然后来看⼀下配置⽂件。
这样⼀来总体结构就有了

本文发布于:2024-09-21 20:32:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/516662.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据库   服务器   连接   配置   机器   进程   监听器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议