首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > Oralce names server简介
【标  题】:Oralce names server简介
【关键字】:Oralce,names,server
【来  源】:http://blog.csdn.net/hdy007/archive/2007/01/01/1472035.aspx

Oralce names server简介

  SQLNET.ORA文件

  参数NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)表明解析客户端连接时所用的主机字符串的方式

  TNSNAMES表示采用TNSNAMES.ORA文件来解析

  ONAMES表示Oracle使用自己的名称服务器(Oracle Name Server)来解析,目前Oracle建议使用轻量目录访问协议LDAP来取代ONAMES

  HOSTNAME表示使用host文件,DNS,NIS等来解析

  oracle names server 用最简单的话说,就是将客户端的tnsnames.ora放到一台server上,每台客户端在连接数据库server时,由names server 负责将 connect string 翻译成 ip address+sid+port,完成连接。当然,每台客户端上都要做相应的配置,指明使用 names server 代替本 tnsnames.ora ,并且需指明缺省的 names server 的地址和port。

  使用 oracle names server 的好处是,所有客户端,只用设置一次,将来即使需要修改 tns 配置,也只需要修改 names server 上的东西,客户端不用再做任何修改。

  下面就结合一个例子具体说说 oracle names server 的配置

  1、在安装 oracle 软件时当然要选相应的组件。oracle names server需要一个schema来存储 tns 配置,所以names server 需要oracle db 建立这个schema的脚本是 $ORACLE_HOME/network/admin/namesini.sql

  首先建立一个用户:

   create user names identified by names default tablespace users
   temorary tablespace temp;   
   grant connect,resource to names;   
   connect names/names   
   @namesini.sql

  2、在数据库server 端运行 net8 assistant(图形界面的工具), 建立 names server:

  点中 "NameServer" ,然后点“+”按钮,根据向导的提示继续,首先填 names server 的名字,比如:ns1 然后选用协议,我只会选 tcp/ip ,主机当然就是这台机器, port用推荐的1575

  选 “use a region database”这个是和多names server 有关的选项,我们可以先不理会,使用缺省值。

  填写数据库相关信息:主机、sid、port、schema(这里就是我们刚才创建的用户:names/names)

select NameServer is in the root region.

  完成,保存设置,会生成 names.ora

  3、使用 names server 代替本地的 tnsnames.ora:

  还是在net8 assistant 里,点 profile ,在naming method 里只选 onames.

  4、指定客户端使用的names server(在这里,这台server既是服务器又是客户端):

  从下拉菜单中选 Preferred Oracle NameServer,在这页里填上names server的ip address + port.

  5、保存设置,退出

  在命令行方式下:

   namesctl   
   namesctl>start

  6、将tns配置加入到oracle names server 的repository里:

  使用 net8 assistant

  选中刚才建立的 nameserver : ns1

  从下拉菜单中选择 manage data 可以从一个tnsnaems.ora文件直接load进去,但是我老没成功,只好一个一个手工加。(也许是没运行namesupg.sql的原因,可文档里说是可选的,不明白)

  每写一个点一下 execute ,比如:

   Service Name = test
   Protocol = TCP
   Host = 192.168.2.99
   Port = 1521
   SID = test

  很简单,不用多说了。

  7、用sqlplus测试一下:

sqlplus system/manager@test

  如果连接没问题,就可以把sqlnet.ora复制到各个客户端,就可以用了。

  sqlnet.ora的样子大概应该是这样:

   ......
   names.preferred_servers = (address_list =
   (address=(protocol=tcp)(host=192.168.2.99)(port=1575))
   )
   names.directory_path = (onames)
   ......

  以前一直没用过 oracle names server,既然有人问,就研究了一下,不过我介绍的只是oracle names server最基本的功能,其他oracle 8i版本的names server的新功能,等我有时间再说吧,或者哪位高手有兴趣,也可以继续深入。 

论架构技术在项目中的具体应用:【上一篇】
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1 错的原因???:【下一篇】
【相关文章】
  • 回归命令行 SQLServer的命令行工具们(2) – sqlcmd.exe(中篇)
  • ZT:如何用Python访问SQLServer的代码示例
  • 回归命令行 SQLServer的命令行工具们(2) – sqlcmd.exe(上篇)
  • 通过C#程序生成数据库的实体类,根据SqlServer存储过程生成数据操作类
  • JDK6.0的新特性之五:轻量级Http Server
  • SQL SERVER索引,优化
  • 用命令行自动化SQL Server 2000相关系统的发布
  • SQL SERVER 与ACCESS、EXCEL的数据转换
  • 如何在SQL Server中快速删除重复记录?
  • Socket编程实例--一个Socket Server和Client端实现数据收发的例子
  • 【随机文章】
  • 闪光作品那部分中的左边电线那个效果,可以表示出油的流向
  • 超强奉献:CPU编年大全4
  • WINCE恢复默认HIVE注册表的方法
  • 存储过程从入门到熟练(c#篇)
  • P690动态分区的动态资源分配
  • JavaScript中有趣的冒泡
  • MCSA2000认证专题
  • Jsp-Tip-1-servlet
  • SGA_TARGET自动内存管理
  • WORD平衡栏长有妙招
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.