我想添加访问数据库配置,更改tnsnames.ora文件,需要怎样添加?

解决方案 »

  1.   

    TEST_192.168.1.11 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = ORCL)
          (SERVER = DEDICATED)
        )
    )红色部分为需要更改的
      

  2.   

      
    ###### 一般的配置 ##################################   
    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,了解一些网络的知识,特别是自己系统的网络架构,也是需 要的
      

  3.   

    按照文件里原有的,复制一份,然后更改一下host和服务名,就可以了