当前位置:  数据库>oracle

Oracle监听配置及访问方式完全解析

    来源: 互联网  发布时间:2017-04-28

    本文导语:  三个配置文件 listener.ora 、sqlnet.ora 、tnsnames.ora ,都是放在$ORACLE_HOMEnetworkadmin 目录下。1. sqlnet.ora----- 作用类似于linux 或者其他unix 的nsswitch.conf 文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串。 例如我们客户...


三个配置文件 listener.ora 、sqlnet.ora 、tnsnames.ora ,都是放在$ORACLE_HOMEnetworkadmin 目录下。
1. sqlnet.ora-----
作用类似于linux 或者其他unix 的nsswitch.conf 文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串。
例如我们客户端输入
sqlplus sys/oracle@orcl

假如我的sqlnet.ora 是下面这个样子
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)


那么,客户端就会首先在tnsnames.ora 文件中找orcl 的记录. 如果没有相应的记录则尝试把orcl 当作一个主机名,通过网络的途径去解析它的 ip 地址然后去连接这个ip 上GLOBAL_DBNAME=orcl 这个实例,当然我这里orcl 并不是一个主机名
如果我是这个样子
NAMES.DIRECTORY_PATH= (TNSNAMES)

那么客户端就只会从tnsnames.ora 查找orcl 的记录, 括号中还有其他选项,如LDAP 等并不常用。
2. Tnsnames.ora------ 这个文件类似于unix 的hosts 文件,提供的tnsname 到主机名或者ip 的对应,只有当sqlnet.ora 中类似
NAMES.DIRECTORY_PATH= (TNSNAMES)
这样,也就是客户端解析连接字符串的顺序中有TNSNAMES 是,才会尝试使用这个文件。
PROTOCOL
:客户端与服务器端通讯的协议,一般为TCP ,该内容一般不用改。
HOST
:数据库侦听所在的机器的机器名或IP 地址,数据库侦听一般与数据库在同一个机器上,所以当我说数据库侦听所在的机器一般也是指数据库所在的机器。在UNIX 或WINDOWS 下,可以通过在数据库侦听所在的机器的命令提示符下使用hostname 命令得到机器名,或通过ipconfig(for WINDOWS) or ifconfig (for UNIX )命令得到IP 地址。需要注意的是,不管用机器名或IP 地址,在客户端一定要用ping 命令ping 通数据库侦听所在的机器的机器名,否则需要在 hosts 文件中加入数据库侦听所在的机器的机器名的解析。
PORT
:数据库侦听正在侦听的端口,可以察看服务器端的listener.ora 文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status [listener name] 命令察看。此处Port 的值一定要与数据库侦听正在侦听的端口一样。
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 ,SQLPLUS>;show parameter service_name; 进行查看
      (SERVICE_NAME = orcl)
)
)
#



下面这个类似
SALES =
     (DESCRIPTION =
         (ADDRESS_LIST =
             (ADDRESS = (PROTOCOL = TCP)(HOST = dg1)(PORT = 1521))
)
     (CONNECT_DATA =
         (SERVER = DEDICATED)
         (SERVICE_NAME = sales)
)
)










注意:如果数据库服务器用MTS ,客户端程序需要用database link 时最好明确指明客户端用dedicated 直连方式, 不然会遇到很多跟分布式环境有关的ORACLE BUG 。一般情况下数据库服务器用直接的连接会好一些,除非你的实时数据库连接数接近1000 。
3. listener.ora------listener
监听器进程的配置文件
关于listener 进程就不多说了,接受远程对数据库的接入申请并转交给oracle 的服务器进程。所以如果不是使用的远程的连接,并且不需要使用OEM时,listener 进程就不是必需的,同样的如果关闭listener 进程并不会影响已经存在的数据库连接。
Listener.ora
文件的例子
#listener.ora Network Configuration File: #E:oracleproduct10.1.0Db_2NETWORKADMINlistener.ora
# Generated by Oracle configuration tools.
#


下面定义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,端口等,这里使用的tcp1521端口,并且使#用的是主机名
LISTENER =
     (DESCRIPTION =
         (ADDRESS = (PROTOCOL = TCP)(HOST = dg1)(PORT = 1521))
)




上面的例子是一个最简单的例子,但也是最普遍的。一个listener 进程为一个instance(SID) 提供服务。
监听器的操作命令
$ORACLE_HOME/bin/lsnrctl start ,
其他诸如stop,status 等。具体敲完一个lsnrctl 后看帮助。
上面说到的三个文件都可以通过图形的配置工具来完成配置

$ORACLE_HOME/netca
向导形式的
$ORACLE_HOME/netmgr

本人比较习惯netmgr,
profile
配置的是sqlnet.ora 也就是名称解析的方式
service name
配置的是tnsnames.ora 文件
listeners
配置的是listener.ora 文件,即监听器进程
具体的配置可以尝试一下然后来看一下配置文件。
这样一来总体结构就有了


    
 
 

您可能感兴趣的文章:

  • Linux系统下Oracle的启动与Oracle监听的启动
  • Oracle 监听内存泄露问题
  • 重启linux系统,oracle监听服务起不来
  • 回收Oracle的监听器日志文件
  • oracle8的监听如何起来
  • Oracle监听口令及监听器安全详解
  • Oracle数据库监听器的问题
  • oracle 11g的警告日志和监听日志的删除方法
  • Oracle教程:浅析监听器安装/配置入门
  • Oracle监听器Server端与Client端配置实例
  • Oracle监听器服务不能启动的解决方法
  • Oracle 11g2的监听器配置教程
  • [图文]如何保护好Oracle服务器上的监听器
  • linux下oracle的自启动脚本解析
  • oracle SQL解析步骤小结
  • 解析mysql与Oracle update的区别
  • 细化解析Oracle 10g STATSPACK的新功能
  • 深入解析Oracle参数及参数文件
  • Oracle数据库安装配置流程示例详细解析
  • Oracle中DBMS_SQL解析SQL语句的流程
  • [Oracle] RAC 之 - 负载均衡深入解析
  • Oracle数据库安全性管理基本措施实例解析
  • 解析Oracle查询和删除JOB的SQL
  • 解析jdbc处理oracle的clob字段的详解
  • 职场专家解析Oracle认证门道
  • oracle 索引不能使用深入解析
  • oracle的rownum深入解析
  • 解析如何查看Oracle数据库中某张表的字段个数
  • Oracle row_number() over()解析函数高效实现分页
  • 解析学习Oracle架构所应了解的基础知识
  • Oracle基本查询过滤排序示例解析
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 配置Oracle management server /Oracle启动OMS
  • 在Redhat7.2+Oracle8i如果硬件配置中用P4处理器,对oracle的安装有没有影响(100分)
  • weblogic 中怎样配置 oracle JDBC driver?
  • redhat 8.0+oracle 8.1.7下面配置proc环境的问题
  • linux下怎么配置jdbc 访问oracle ,知情者请告知
  • oracle的jdbc的配置
  • 一个jsp的数据库问题-oracle的服务端如何配置
  • 不会配置oracle怎么办?
  • JDBC from ORACLE 8.1.7的配置问题
  • Linux上怎么配置oracle的ODBC数据源?
  • 请问jboss+oracle文件怎样配置,数据库中文字段不为乱码
  • jdk1.3+tomcat怎样配置oracle驱动程序
  • 请问哪里有 小性机 +linux +oracle 的配置方案?
  • Linux主机下配置Oracle 10G自动启动过程记
  • 如何配置 linux 下 oracle 的 listener .ora 和
  • 求.bash_profile配置oracle详解
  • 用redhat linux8.0+Oracle8i做网络数据库服务器,我需要怎样配置?
  • 配置Oracle RAC需要注意的问题
  • Oracle数据库安装配置示例
  • Linux Apache PHP Oracle 安装配置
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,