tnsnames.ora配置小結

          listener.ora、 tnsnames.ora和sqlnet.ora這3個文件是關系oracle網絡配置的3個主要文件,其中listener.ora是和數據庫服務器端 相關,而tnsnames.ora和sqlnet.ora這2個文件不僅僅關系到服務器端,主要的還是和客戶端關系緊密。
          檢查客戶端oracle網絡的時候可以先檢查sqlnet.ora文件:

          # SQLNET.ORA Network Configuration File: $ORACLE_HOME/NETWORK/ADMIN/sqlnet.ora
          # Generated by Oracle configuration tools.

          SQLNET.AUTHENTICATION_SERVICES= (NTS)

          NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME, ONAMES)

          ##NAMES.DEFAULT_DOMAIN = us.oracle.com

          上面的sqlnet.ora文件說明:
          SQLNET.AUTHENTICATION_SERVICES= (NTS)——這個表示采用os認證,在數據庫服務器上,可以利用sqlplus “/ as sysdba”。一般這個配置在windows上是ok的,在unix環境下可能會有問題,一般在unix下可以去掉這個配置。

          NAMES.DIRECTORY_PATH= (TNSNAMES, HOSTNAME, ONAMES)——表示將首先利用tnsnames進行解析;如果tnsnames解析不到,將使用hostname解析;如果hostname解析不 到,將采用onames進行解析。

          被注釋掉的NAMES.DEFAULT_DOMAIN = us.oracle.com——表示采用默認的domain name為us.oracle.com,在tnsnames.ora中如果配置對應的解析,如果原來的別名oralocal,那么,當啟用這個參數后,在 tnsnames中的配置要改成oralocal.us.oracle.com。在使用tnsping時或者sqlplus登錄時,只需寫前面的別名,系 統會自動加上后面的domain name來進行解析。

          檢查完畢sqlnet.ora,一般都會發現是使用tnsname來解析別名的,那么,tnsnames.ora中可以有哪些配置種類呢?

          # TNSNAMES.ORA Network Configuration File: $ORACLE_HOME/NETWORK/ADMIN/tnsnames.ora
          # Generated by Oracle configuration tools.


          ###### 一般的配置 ##################################
          ORALOCAL =
            
          (DESCRIPTION =
              
          (ADDRESS_LIST =
                
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
              
          )
              
          (CONNECT_DATA =
                
          (SERVER = DEDICATED)
                
          (SERVICE_NAME = oralocal)
              
          )
            
          )


          ###### 這樣也行,用SID=oralocal ###########################
          ORALOCAL_2 =
            
          (DESCRIPTION =
              
          (ADDRESS_LIST =
                
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
              
          )
              
          (CONNECT_DATA =
                
          (SERVER = DEDICATED)
                
          (SID = oralocal)
              
          )

          ###### RAC的配置(3節點rac) ###############################
          ORALOCAL =
            
          (DESCRIPTION =
            
          (load_balance = yes)
            
          (failover = on)
              
          (ADDRESS_LIST =
                
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
                
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
                
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.3)(PORT = 1521))   
              
          )
              
          (CONNECT_DATA =
                  
          (SERVICE_NAME = oralocal)
                  
          (SERVER = DEDICATED)
                  
          (failover_mode=(type=select)(method=basic)(retries=20)(delay=20))
              
          )
            
          )
            
          ORALOCAL_NODE1 =
             
          (DESCRIPTION =
               
          (ADDRESS_LIST =
                 
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
                 
          )
                 
          (CONNECT_DATA =
                   
          (SERVICE_NAME = oralocal)
                   
          (INSTANCE_NAME = oralocal_node1)
                 
          )
             
          )


          ORALOCAL_NODE2=
             
          (DESCRIPTION =
               
          (ADDRESS_LIST =
                 
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))
                 
          )
                 
          (CONNECT_DATA =
                   
          (SERVICE_NAME = oralocal)
                   
          (INSTANCE_NAME = oralocal_node2)
                 
          )
             
          )
             

          ORALOCAL_NODE3 =
             
          (DESCRIPTION =
               
          (ADDRESS_LIST =
                 
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.3)(PORT = 1521))
                 
          )
                 
          (CONNECT_DATA =
                   
          (SERVICE_NAME = oralocal)
                   
          (INSTANCE_NAME = oralocal_node3)
                 
          )
             
          )


            
          )


          ###### DATA GUARD配置(primary庫和standby庫都需要配置)##############
          standby =
            
          (DESCRIPTION =
              
          (ADDRESS_LIST =
                
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.2)(PORT = 1521))
                  
          )
              
          (CONNECT_DATA =
                    
          (SERVER=DEDICATED)
                    
          (SERVICE_NAME = oralocal)
                
          )
            
          )

          primary =
            
          (DESCRIPTION =
              
          (ADDRESS_LIST =
                
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.1)(PORT = 1521))
                  
          )
              
          (CONNECT_DATA =
                    
          (SERVER=DEDICATED)
                    
          (SERVICE_NAME = oralocal)
                
          )
            
          )

          另外需要注意的2點情況:
          (1)如果tnsnames中的service_name配置錯誤,配置成了instance_name了,這個時候會發生tnsping能通,但是 sqlplus連接不上的奇怪情況。報錯ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor。這個時候查錯的時候,需要檢查對應的service_name。
          (2)如果遠程數據庫是rac,而且本地客戶端端遠程數據庫處于不同的網段,通過公網鏈接,rac對外的ip映射只有一個,即只映射到一個節點。請注意在 客戶端配置tnsnames的時候按照單機的情況來配置。呵呵,dba不僅僅要學習oracle,了解一些網絡的知識,特別是自己系統的網絡架構,也是需 要的。

          posted on 2010-01-21 13:48 鍵盤動物 閱讀(266) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2010年1月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          導航

          統計

          常用鏈接

          留言簿

          隨筆檔案

          新聞分類

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 玉龙| 房产| 应用必备| 毕节市| 高台县| 永州市| 克什克腾旗| 禹城市| 绵竹市| 阜宁县| 漯河市| 永州市| 永胜县| 合阳县| 阿拉善右旗| 东乌珠穆沁旗| 金乡县| 宣恩县| 临桂县| 麻城市| 灵宝市| 巴林左旗| 台东市| 营山县| 大安市| 富平县| 常山县| 威信县| 平潭县| 个旧市| 东宁县| 赫章县| 壶关县| 浦北县| 阿克苏市| 和顺县| 康平县| 霍邱县| 洛宁县| 德格县| 札达县|