精华内容
下载资源
问答
  • TNSNAMES.ORA 配置

    千次阅读 2018-06-01 15:48:13
    TNSNAMES.ORA 配置2013年02月01日 15:41:01阅读数:3390 转自:http://www.blogjava.net/hwpok/archive/2010/01/07/308589.html上面的sqlnet.ora文件说明:SQLNET.AUTHENTICATION_SERVIC...

    TNSNAMES.ORA 配置

    转自:http://www.blogjava.net/hwpok/archive/2010/01/07/308589.html

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

    展开全文
  • tnsnames.ora配置

    2012-10-27 06:26:53
    Tnsnames.ora——这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应,只有当sqlnet.ora中类似 NAMES.DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会...
  • tnsnames.ora配置文件

    2018-07-10 09:35:22
    tnsnames.ora配置文件,免安装使用pl/sql连接远程数据库
  • tnsnames.ora 配置文件

    2017-02-16 11:19:04
    tnsnames.ora 配置文件
  • 常用Dos命令和Oracle数据库tnsnames.ora配置,上传只是可能自己以后会用到
  • Oracle的tnsnames.ora配置(PLSQL Developer)
  • Oracle 的 listener.ora 和 tnsnames.ora 配置 第一次使用oracle 不太懂 安装配置完监听后连接成功了,过两天之后再次连接报错,调试了半天发现是 listener.ora 和 tnsnames.ora 的问题 ! tnsnames.ora 配置 # ...

    Oracle 的 listener.ora 和 tnsnames.ora 配置

    第一次使用oracle 不太懂 安装配置完监听后连接成功了,过两天之后再次连接报错,调试了半天发现是 listener.ora 和 tnsnames.ora 的问题 !

    tnsnames.ora 配置

    # tnsnames.ora Network Configuration  #File:E:\app\King\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    
    LISTENER_ORCL =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    
    ORACLR_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
        (CONNECT_DATA =
          (SID = CLRExtProc)
          (PRESENTATION = RO)
        )
      )
    
    ORCL =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ORCL)
        )
      )
    

    SERVICE_NAME 服务的名称

    listener.ora 配置

    # listener.ora Network Configuration File: E:\app\King\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
    # Generated by Oracle configuration tools.
    
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = CLRExtProc)
          (ORACLE_HOME = E:\app\King\product\11.2.0\dbhome_1)
          (ENVS = "EXTPROC_DLLS=ONLY:E:\app\King\product\11.2.0\dbhome_1\bin\oraclr11.dll")
        )
      )
    
    LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
      )
    
    ADR_BASE_LISTENER = E:\app\King
    
    

    ORACLE_HOME oracle的安装目录

    展开全文
  • listener.ora、 tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,其中listener.ora是和数据库服务器端 相关,而tnsnames.ora和sqlnet.ora这2个文件不仅仅关系到服务器端,主要的还是和客户端...

    listener.ora、 tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,其中listener.ora是和数据库服务器端 相关,而tnsnames.ora和sqlnet.ora这2个文件不仅仅关系到服务器端,主要的还是和客户端关系紧密。 检查客户端oracle网络的时候可

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

    and: tnsping .... 查看服务器与端口

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!

    展开全文
  • listener.ora/sqlnet.ora/tnsnames.ora配置文件详解

    oracle网络配置 
    三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下。

    英文说明:

    The sqlnet.ora is an optional file expressing more parameters about the connection (eg: the trace level for debugging, the types of authentication you would like to support and so on). It may be found on the client or the server.

    The tnsnames.ora is used to find a Net8 listener and connect to it and pass to it the details of the database instance youwould like to connect to. It will be found on the client side. Note that a SERVER can be a client of another database so it is typical to find it on the SERVER as well.

    The listener.ora is used to setup the configuration of the net8 listener. to specify the port it will listen on, give it the details of the databases it can connect to and so on. This file is on the SERVER only.

    1.  sqlnet.ora-----通过这个文件来决定怎么样找一个连接中出现的连接字符串。 
    例如我们客户端输入 
    sqlplus sys/oracle@ora 
    假如我的sqlnet.ora是下面这个样子 
    SQLNET.AUTHENTICATION_SERVICES= (NTS) 
    NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME) 
    那么,客户端就会首先在tnsnames.ora文件中找ora的记录.如果没有相应的记录则尝试把ora当作一个主机名,通过网络的途径去解析它的 ip地址然后去连接这个ip上GLOBAL_DBNAME=ora这个实例,当然我这里ora并不是一个主机名

    如果我是这个样子 
    NAMES.DIRECTORY_PATH= (TNSNAMES) 
    那么客户端就只会从tnsnames.ora查找ora的记录,括号中还有其他选项,如LDAP等并不常用。

    2.  tnsnames.ora------这个文件类似于unix 的hosts文件,提供的tnsname到主机名或者ip的对应。 
    只有当sqlnet.ora中类似NAMES.DIRECTORY_PATH= (TNSNAMES) 这样,也就是客户端解析连接字符串的顺序中有TNSNAMES是,才会尝试使用这个文件。 
    例子: 
    ORA_TEST = 
        (DESCRIPTION = 
           (ADDRESS_LIST = 
              (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) 
           ) 
          (CONNECT_DATA = 
             (SERVER = DEDICATED) 
             (SERVICE_NAME = ora) 
          ) 
        ) 

    ORA_TEST:客户端连接服务器端使用的服务别名。注意一定要顶行书写,否则会无法识别服务别名。 
    PROTOCOL:客户端与服务器端通讯的协议,一般为TCP,该内容一般不用改。 
    HOST:ORACLE服务器端IP地址或者hostname。确保服务器端的监听启动正常。 
    PORT:数据库侦听正在侦听的端口,可以察看服务器端的listener.ora文件或在数据库侦听所在的机器的命令提示符下通过lnsrctl status [listener name]命令察看。此处Port的值一定要与数据库侦听正在侦听的端口一样。 
    SERVICE_NAME:在服务器端,用system用户登陆后,sqlplus> show parameter service_name命令查看。

    3.  listener.ora------listener监听器进程的配置文件 
    关于listener进程就不多说了,接受远程对数据库的接入申请并转交给oracle的服务器进程。所以如果不是使用的远程的连接,listener进程就不是必需的,同样的如果关闭listener进程并不会影响已经存在的数据库连接。 
    例子: 
    #listener.ora Network Configuration File: #E:/oracle/product/10.1.0/Db_2/NETWORK/ADMIN/listener.ora 
    # Generated by Oracle configuration tools. 
    SID_LIST_LISTENER = 
        (SID_LIST = 
             (SID_DESC = 
                 (GLOBAL_DBNAME = ora) 
                 (ORACLE_HOME = E:/oracle/product/10.1.0/Db_2) 
                 (SID_NAME = ora) 
             ) 
        )

    LISTENER = 
        (DESCRIPTION = 
            (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521)) 
        )

    LISTENER :监听名称,可以配置多个监听,多个监听的端口号要区分开来。 
    GLOBAL_DBNAME :全局数据库名。通过select * from global_name; 查询得出 
    ORACLE_HOME :oracle软件的跟目录 
    SID_NAME :服务器端(本机)的SID 
    PROTOCOL:监听协议,一般都使用TCP 
    HOST:本机IP地址,双机时候使用浮动IP 
    PORT:监听的端口号,使用netstat –an 检查该端口不被占用。

    当你输入sqlplus sys/oracle@orcl的时候 
    1. 查询sqlnet.ora看看名称的解析方式,发现是TNSNAME 
    2. 则查询tnsnames.ora文件,从里边找orcl的记录,并且找到主机名,端口和service_name 
    3. 如果listener进程没有问题的话,建立与listener进程的连接。 
    4. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。 
    5. 这时候网络连接已经建立,listener进程的历史使命也就完成了。

    sql*plus运行基本机理: 
    在用户输入sqlplus system/manager@test后,sqlplus程序会自动到sqlnet.ora文件中找NAMES.DEFAULT_DOMAIN参数,假如该参数存在,则将该参数中的值取出,加到网络服务名的后面,即此例中你的输入由sqlplus system/manager@test自动变为sqlplus system/manager@test.server.com ,然后再到tnsnames.ora文件中找test.server.com网络服务名,这当然找不到了,因为该文件中只有test网络服务名,所以报错。解决的办法就是将sqlnet.ora文件中的NAMES.DEFAULT_DOMAIN参数注释掉即可,如 #NAMES.DEFAULT_DOMAIN = server.com。假如NAMES.DEFAULT_DOMAIN参数不存在,则sqlplus程序会直接到tnsnames.ora文件中找 test网络服务名,然后取出其中的host ,port,tcp,service_name,利用这些信息将连接请求发送到正确的数据库服务器上。

    展开全文
  • tnsnames.ora 配置

    2008-10-27 16:16:00
    在Win环境下的Oracle中,Oracle/Network/ADMIN/tnsnames.ora 文件很重要,它作用是: 本地命名的配置。本地名可以用简单的名称就可以访问到所需的数据库或服务器所需的信息。而这些信息正是保存到了tnsnames.ora中。 ...
  • tnsnames.ora 配置示例

    2014-03-22 18:38:27
    Oracle\Network\ADMIN\tnsnames.ora
  • PLSQL Developer安装、tnsnames.ora配置 解答

    万次阅读 多人点赞 2016-04-04 15:35:33
    PLSQL Developer安装、tnsnames.ora配置 解答 instantclient instantclient-basic
  • 文件地址D:\app\think\product\11.2.0\instantclient_11_2\network\admin\tnsnames.ora# tnsnames.ora Network Configuration File: D:\app\think\product\11.2.0\client_1\NETWORK\ADMIN\tnsnames.ora# Generated ...
  • tnsnames.ora配置小结

    2020-01-04 08:30:23
    本文转载自:...listener.ora、 tnsnames.ora和sqlnet.ora这3个文件是关系oracle网络配置的3个主要文件,其中listener.ora是和数据库服务器端 相关,而tnsnames.ora和sqlnet.ora这...
  • 下午在公司内部服务器上安装了oracle11g,安装好之后想在本地用plsql远程连接看看,在tnsnames.ora配置文件里配置好后,plsql死活连不上,一直报ora-12154:TNS:无法解析指定的连接标识符,如下图: 最后检查下来,...
  • 2.tnsnames.ora配置 1.下载 instantclient版本(我下载的是instantclient_12_2) 2.在即时客户端的目录里新建文件夹 network ,network里在新建 admin,在admin目录下建一个后缀名为.ora的文件:tnsnames.ora 3....
  • [20160512]tnsnames.ora配置文件.txt --今天再次解决1个tnsnames.ora配置文件.看来这个文件最好不要手工修改!! --通过例子来说明: 78 = (DESCRIPTION =...
  • 1 tnsnames.ora是怎样一个文件 2 配置参数说明 3 示例 4 详细解读 一、 tnsnames.ora是怎样一个文件 客户端所需的一个文件,通过该文件配置数据库的链接地址,配置好后,在登陆时只需引用别名 二 、 配置参数说明...
  • 【 PLSQL Developer安装、tnsnames.ora配置 解答】 ======================================== 使用plsql远程连接数据库需要安装plsql工具+ oracle的远程客户端 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,654
精华内容 1,461
关键字:

tnsnames.ora配置