1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

深入探讨Oracle网络服务解析

2022-11-25 | 数据库 | gtxyzz | 569°c
A+ A-

近来,浏览BBS时,常看到“Oracle网络服务解析”的疑问,针对以上这类问题,我归纳总结了5种常用的方法。具体如下: 1、Oracle Internet Directory 2、External Naming 3、主机命名 4、Oracle Easy Connect 5、本地命名

下面分别介绍这五种方法: 第一种:Oracle Internet Directory管理复杂的Oracle网络服务器时有优势,管理员可以在一个比较集中位置配置和管理Net Service Names 第二种:External Naming 使用非Oracle工具管理和解析Oracle网络服务名称 第三种:主机命名方法(客户端为windows xp,服务器端为linux+oracle 9i)

1、配置客户端的sqlnet.ora

#sqlnet.oraNetworkConfigurationFile:D:oracleproduct10.2.0client_1NETWORKADMINsqlnet.ora 
  • #GeneratedbyOracleconfigurationtools. #Thisfileisactuallygeneratedbynetca.Butifcustomerschooseto
  • #install"SoftwareOnly",thisfilewontexistandwithoutthenative #authentication,theywillnotbeabletoconnecttothedatabaseonNT.
  • SQLNET.AUTHENTICATION_SERVICES=(NTS) NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME)
  • 2、配置服务器端的listener.ora

    [oracle@linuxoracleadmin]$vilistener.ora 
  • #LISTENER.ORANetworkConfigurationFile:/u01/app/oracle/product/9.2.0/network/admin/listener.ora #GeneratedbyOracleconfigurationtools.
  • LISTENER= (DESCRIPTION=
  • (ADDRESS=(PROTOCOL=TCP)(HOST=linuxoracle)(PORT=1521))#注意HOST配置为主机名 )
  • SID_LIST_LISTENER= (SID_LIST=
  • (SID_DESC= (GLOBAL_DBNAME=linuxoracle)#注意GLOBAL_DBNAME为主机名
  • (ORACLE_HOME=/u01/app/oracle/product/9.2.0) (SID_NAME=dg1)
  • ) (SID_DESC=
  • (GLOBAL_DBNAME=linuxoracle) (ORACLE_HOME=/u01/app/oracle/product/9.2.0)
  • (SID_NAME=OEMREP) )
  • )
  • 说明: 如果没有正确配置GLOBAL_DBNAME,sqlplus连接时,会报如下错误:

    C:DocumentsandSettingsew>sqlplussystem/lijie123@linuxoracle 
  • SQL*Plus:Release10.2.0.1.0-Productionon星期三9月1917:31:522007 Copyright(c)1982,2005,Oracle.Allrightsreserved.
  • ERROR: ORA-12514:TNS:监听程序当前无法识别连接描述符中请求的服务
  • 3、配置完后,sqlplus连接 Microsoft Windows XP [版本 5.1.2600] (C) 版权所有 1985-2001 Microsoft Corp.

    C:DocumentsandSettingsew>sqlplussystem/lijie123@linuxoracle 
  • SQL*Plus:Release10.2.0.1.0-Productionon星期三9月1917:19:482007 Copyright(c)1982,2005,Oracle.Allrightsreserved.
  • ERROR: ORA-12154:TNS:无法解析指定的连接标识符
  • 报这样的错误,说明sqlplus不能正确解析linuxoracle,可能hosts或DNS的问题!!! 用记事本打开hosts 内容如下(省略了一部分):

    .............................................................. 
  • #102.54.94.97rhino.acme.com#sourceserver #38.25.63.10x.acme.com#xclienthost
  • 127.0.0.1localhost 修该为:
  • ............................................................... #102.54.94.97rhino.acme.com#sourceserver
  • #38.25.63.10x.acme.com#xclienthost 127.0.0.1localhost
  • 192.168.1.61linuxoracle
  • 4、sqlplus连接oracle服务器#p#

    C:DocumentsandSettingsew>sqlplussystem/lijie123@linuxoracle 
  • SQL*Plus:Release10.2.0.1.0-Productionon星期三9月1918:37:512007 Copyright(c)1982,2005,Oracle.Allrightsreserved.
  • 连接到:

    Oracle9iEnterpriseEditionRelease9.2.0.4.0-Production 
  • WiththePartitioning,OLAPandOracleDataMiningoptions JServerRelease9.2.0.4.0-Production
  • SQL> 成功!!!

    第四种:Oracle Easy Connect 只在oracle 10g以上版本使用 Oracel Easy Connect Naming 使用oracle easy connect naming必须满足以下要求 1、oracle net services 10g必须安装在客户端 2、客户端及服务器端必须支持TCP/IP,并启用 3、不允许高级连接描述符特性,如:连接池、外部过程调用 配置oracle easy connect naming 在sqlnet.ora增加下面这行:

    NAMES.DIRECTORY_PATH=(EZCONNECT,TNSNAMES)#注意增加了EZCONNECT 
    

    oracle easy connect naming方法示例 eg:

    connectscott/tiger@hostname:port/servicesname 
  • connectscott/tiger@//hostname/servicesname
  • 解释: 语法构件 描述 // 任选:通过URL连接时使用 hostname 必选: 主机名或IP port 任选:端口号 servicesname 必选:oracle网络服务的名称

    第五种:本地命名法 本地命名方法也被称为tnsnames.ora方法 可用Oracle net manager配置本地命名方法(当然也可以用OEM) 打开Oracle net manager,在Local选项中选择Service Naming进行添加,添加好的tnsnames.ora内容如下:

    eg: 
  • TEST= (DESCRIPTION=
  • (ADDRESS_LIST= (ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.61)(PORT=1521))
  • ) (CONNECT_DATA=
  • (SERVICE_NAME=dg1) )
  • ) TEST为网络服务名,SERVICE_NAME为oracle的服务名
  • 以上就探讨了些Oracle网络服务一般常用的解析方法,要想了解的更多相关问题的解决方案,请留意51cto.com站上的相关论坛。

    本文来源:1818IP

    本文地址:https://www.1818ip.com/post/11556.html

    免责声明:本文由用户上传,如有侵权请联系删除!

    发表评论

    必填

    选填

    选填

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。