程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> oralce names server 簡介

oralce names server 簡介

編輯:Oracle數據庫基礎
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的新功能,等我有時間再說吧,或者 
哪位高手有興趣,也可以繼續深入。 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved