ORACLE_监听

Oracle net server的主要作用是确定维护客户端与服务端的连接。客户端采用TCP/IP协议连接至数据库服务端,其网络环境可以是局域网也可以是广域网。客户端通过三次握手机制和服务端确立TCP连接,这个TCP连接由于只涉及客户端和服务端之间的系统内核调用,所以响应速度会比较快。OracleNET遵循OSI模型并处于OSI模型中的会话层。
Oracle net server 的配置文件主要有两个:listener.ora、sqlnet.ora。 listener.ora 位于Oracle服务端,主要用于配置监听。sqlnet.ora既可以位于Oracle服务端,也可以位于Oracle客户端,主要用于控制客户端和服务端Oracle net services的行为,列如会话跟踪级别和控制客户端连接等。
数据库连接方式:Easy connect 、local naming、directory naming、external naming.
b比较常见的数据库连接方式为为local naming,也就是说使用位于客户端的配置文件tnsnames.ora来连接。
**easy connect:**这种方式的优点在于不需要在tnsnames.ora文件中进行额外的配置,文档中一词汇比较能说明简单连接的特点:out-of-the-box(开箱即用),如果你仅仅是临时的连接到某一个数据库,可以临时采用这种方式。
格式:CONNECT username/passowrd@[//]host[:port][/service_name]
虽然Easy Connect这么方便,但是还是有他的缺点的,比如他不支持Oralce的一些高级特性,诸如:
- Connect-time failover
- Source Routing
- Load balancing
另外还有一些限制,Easy Connect支持TCP/IP协议(非ssl)
(注:sqlnet.ora添加:
NAMES.DIRECTORY_PATH= (EZCONNECT) )
local naming:
https://docs.oracle.com/cd/B10501_01/network.920/a96581/tnsnames.htm
directory naming:
https://docs.oracle.com/cd/B10501_01/network.920/a96580/config_c.htm#483698
external naming

关键字host:
listener.ora 的关键字host表示监听运行的数据库服务器。host 的之可以用IP、主机名、IP解析名表示。如果一台主机有多个IP,每个IP地址可以对应一个主机别名,这个主机别名则城为 IP地址解析名,由此可知,主机名是IP地址解析名的一种。
如果host配置为主机名(或:0.0.0.0),则监听运行在该服务器的所有已激活的网卡。
关键字port:
1.同一个主机下的不同IP可以使用同一个监听端口
(如果host 关键字中有一个主机名,则多个IP不能使用同一个监听端口可以指定关键字(IP=FIRST)解决。)
2.同一主机下的相同IP可以使用不同的监听端口。
3.同一主机下的不同IP可以使用不同的监听端口。

TNSPING命令的作用和适用场景
主要作用:
1.检查tnsnames.ora 文件中的连接串是否配置,或者配置是否符合语法。如果不符合语法规则。则报:TNS-12533
2.根据执行tnsping 命令所消耗的时间来诊断数据库的性能问题。当数据库出现问题时,可以使用tnsping 命令来观察故障组件的性能波动情况。
3.检查服务器端的监听是否启动。主要注意:tnsping 主要检查的是远程监听是否启动在相应的IP地址和端口上,并不检查监听中的实例服务和句柄。

静态注册
静态注册的配置内容:
1.SID_NAME:数据库实例名数据库实例名,其值需要和数据库参数INSTANCE_NAME保持一致,不可省略。
2.GLOBAL_DBNAME:数据库服务名,可以省略,默认和SID_NAME保持一致。
3.ORACLE_HOME:实例运行的ORACLE_HOME保持一致。Linux下默认和$ORACLE_HOME保持一致。windows下取注册表值,该参数无效。
eg:
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=ORCL)
( ORACLE_HOME=/u01/app/oracle/11.0.0.4/db)
(SID_NAME=ORCL)
)
)
监听的动态注册
实例启动时,PMON进程将数据库实例信息注册到监听上,当实例关闭时,PMON进程会从监听中自动撤销当前实例信息。要实现动态注册实例至少处于nomount状态。
监听状态中的服务名和实例名
当监听动态注册时,服务名取自数据库参数SERVICE_NAMES,监听的实例名取自 INSTANCE_NAME.
配置文件TNSNAMES.ORA连接串中的关键字service_name的值需要和监听配置文件listener.ora的关键字GLOBAL_DBNAME 或者oracle参数service_names的值相同。配置文件tnsname.ora连接串中的关键字SID的值需要和监听配置文件listener.ora的关键字SID_NAME的值相同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值