精华内容
下载资源
问答
  • oracle数据库TNS

    2015-04-28 15:59:00
    TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,下面看一如何配置它吧: TNS简要介绍与应用 :Oracle中TNS的完整定义:...

    TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,下面看一如何配置它吧:


    TNS简要介绍与应用 :
    Oracle中TNS的完整定义:transparence Network Substrate透明网络底层,监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器。
    TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,当然在少数情况下,不用配置TNS也可以连接Oracle数据库,比如通过JDBC。如果通过TNS连接Oracle,那么客户端必须安装Oracle client程序。

    Oracle当中,如果想访问某个服务器,必须要设置TNS,它不像SQL SERVER那样在客户端自动列举出在局域网内所有的在线服务器,只需在客户端选择需要的服务器,然后使用帐号与密码登录即可。而Oracle不能自动列举出网内的服务器,需要通过读取TNS配置文件才能列出经过配置的服务器名。
    配置文件名一般为:tnsnames.ora,默认路径:%ORACLE_HOME%\network\admin\tnsnames.ora

    上图中的CGDB和STDCG就是对应的TNS,HOST是指向数据库服务器的IP,当然局域网内用计算机名称也是可以的。通过客户端Net Manager创建一个连接到数据库服务器的连接服务时,实际上就是在tnsnames.ora文件中增加了一个TNS的内容。
    TNS的详细配置文件
    TNS的配置文件包括服务器端和客户端两部分。服务器端有listener.ora、sqlnet.ora和tnsnames.ora,如果通过OCM(Oracle Connection Manage)和域名服务管理客户端连接,服务器端可能还包括cman.ora等文件;客户端有tnsnames.ora,sqlnet.ora。Oracle所有的TNS配置文件的默认路径:%ORACLE_HOME%\network\admin
    listener.ora:监听器配置文件,成功启动后是驻留在服务器端的一个服务。监听器是用来侦听客户端的连接请求以及建立客户端和服务器端连接通道的一个服务程序。默认情况下Oracle在1521端口上侦听客户端连接请求。
    sqlnet.ora:用来管理和约束或限制tns连接的配置,通过在该文件中设置一些参数,可以管理TNS连接。根据参数作用的不同,需要分别在服务器和客户端配置.。
    tnsnames.ora:配置客户端到服务器端的连接服务,包括客户端要连接到的服务器和数据库的配置信息。
    TNS配置
    可以通过Oracle Net Configuretion Assitant配置TNS,也可以手动配置。首先在Oracle服务器端安装完成之后,应该先着手配置LISTENER,LISTENER是进行Oracle通讯的首要组件,紧接着在客户端安装Oracle client,同时配置tnsnames.ora文件。
    首先监听器包括两个部分:Oracle要监听的地址、端口、通讯协议;Oracle要监听的数据库实例,非RAC环境下,LISTENER只能监听本服务器的地址和实例,RAC环境下,LISTENER还可以监听远程服务器。每个数据库最少要配置一个监听器。(注:RAC环境,指的是Oracle服务器集群配置的环境)

    LISTENER部分配置了Oracle要监听的地址和端口信息;该文件中还会包括SID_LIST_LISTENER部分,这部分配置了Oracle需要监听的实例。(注:在上述截图中并没有SID_LIST_LISTENER这一部分,这是因为Oracle自9i版本引入了动态监听服务注册,在数据库启动时,会自动注册当前数据库实例到监听列表,所以无需配置SID_LIST_LISTENER部分了)
    HOST参数可以是Oracle服务器主机名称,也可以是相应的IP地址。在一个多IP的服务器上可以配置listener同时监听多个地址,比如下面的配置:LISTENER= (DESCRIPTION= (ADDRESS_LIST= (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.11)(PORT=1521)) (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.11) (PORT=1521))) ),或者可以配置多个监听器,分别监听不同的IP地址。
    一般说的TNS配置其实就是对tnsnames.ora文件的配置,tnsnames.ora有客户端的配置,也有服务器端的配置。客户端和服务器端配置的区别是因为服务器端的配置跟LISTENER的配置相关。下面是一个简单的配置示例:

    tnsnames.ora也包括两部分,ADDRESS_LIST 部分包含了Oracle数据库服务器的监听地址信息,也就是要告诉TNS数据库可通过这个地址和CLIENT进行通讯;CONNECT_DATA 定义了CLIENT要连接的数据库,以及数据库的连接方式,(专用或共享)。
    在一个多IP环境中,TNS也可以配置多个远程IP地址:CGDB = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.55)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.56)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = CGDB) (SERVER = DEDICATED) ) )
    sqlnet.ora是个很重要的配置,它可以控制和管理Oracle连接的属性,根据参数作用的不同决定在客户端配置还是在server端配置。sqlnet.ora的配置是全局性的,也就说sqlnet.ora的配置是对所有的连接起作用,如果想对某个特殊的连接或服务进行约束或限制,可以 在TNS配置相应参数。

    转载于:https://www.cnblogs.com/Yannik/p/4463244.html

    展开全文
  • TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,当然在少数情况下,不用配置TNS也可以连接Oracle数据库,比如通过JDBC。...
  • Oracle数据库TNS常见错误解决方法 收藏 1、ORA-12541:TNS:没有监听器  原因:没有启动监听器或者监听器损坏。若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用...

    Oracle数据库TNS常见错误解决方法 收藏
    1、ORA-12541:TNS:没有监听器
      原因:没有启动监听器或者监听器损坏。若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用“Net Configuration Assistant”工具向导之“监听程序配置”增加一个监听器即可(基本不用写任何信息,一路OK。在添加之前可能需要把所有的监听器先删!)
      2、ORA-12500:TNS:监听程序无法启动专用服务器进程或ORA-12560:TNS:协议适配器错误
      原因:ORACLE的数据库服务没有启动。使用命令net start ORACLESERVICEORADB(ORADB为数据库名字)即可。如果仍没有解决,请继续向下看。
      3、如果数据库服务启动失败,则很有可能是其注册表项值损坏,最好的做法是以下两步:
      1)ORADIM -DELETE -SID oradb 删除数据库服务项
      2)ORADIM -NEW -SID oradb 新增数据库服务项
      注:这个过程中如果出错,就重启计算机!
      4、ORA-12154:TNS:能解析服务名
      原因:ORACLE的网络服务名没有正确配置。请使用“Net8 Configuration Assistant”工具向导之“本地网络服务名配置”配置TNS即可。如果仍没有解决,请继续向下看。
      5、ORA-1034 :TNS:ORACLE不可用
      原因:ORACLE的数据库服务正确启动,但是数据库没有打开!
      使用命令:
      1)svrmgrl 启动服务管理器
      2)connect internal 以internal身份登陆
      3)startup 打开数据库
      6、ORA-12560:TNS:协议适配器错误(顽固性的)
      原因:未知。
      解决:必杀技--打开“Windows任务管理器”,杀死ORACLE.exe及ORADIM.exe进程,书写自己的ora_startup.bat,执行之!
     PS:
      1、ora_startup.bat:
      net start OracleOraHome81TNSListener
      net start ORACLESERVICEORADB
      svrmgrl 一般情况下不用,不过有时少不了它的,具体步骤见第5步。
      2、ora_shutdown.bat:
      net stop OracleOraHome81TNSListener
      net stop ORACLESERVICEORADB
      3、ORACLE相关服务名请参见“管理工具”之“服务”中以ORACLE开头的服务名
      1、TNS-12154 Error 或ORA-12154
      特征:SQL*NET没有找到连接串或别名
      原因1:(1)没有找到TNSNAMES.ORA文件,该文件的缺省路径为: 
    windows 95/98 client
      sql*Net 2.x - ORAWIN95NETWORKADMIN
      Net8 - ORAWIN95NET80admin
      Net8i - ORACLEORA81NETWORKADMIN
      windows NT client
      sql*Net 2.x - ORANTNETWORKADMIN
      Net8 - ORANTNET80ADMIN
      Net8i - ORACLEORA81NETWORKADMIN
      UNIX Client
      $ORACLE_HOME/NETWORK/ADMIN
      or /etc
      or /var/opt/oracle
      . 在客户端设置TNS_ADMIN
      在注册表 HKEY_LOCAL_MACHINESoftwareOracle 设置TNS_ADMIN. TNS_ADMIN 指向TNSNAMES.ORA文件的位置
      措施:按上述说明检查文件位置
      原因2:(2)TNSNAMES.ORA文件中内容格式不对
      措施:检查文件格式,标准格式如下:
    DEV1.WORLD =
    (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp) (Host = 145.45.78.56) (Port = 1521) ) )
    (CONNECT_DATA = (SID = ORCL) ) )
      原因3: (3) TNSNAMES.ORA与SQLNET.ORA不一致
      措施: SQLNET.ORA格式如下:
    TRACE_LEVEL_CLIENT = OFF
    SQLNET.AUTHENTICATION_SERVICES = (NONE)
    NAMES.DIRECTORY_PATH = (TNSNAMES)
    AUTOMATIC_IPC = OFF
      因为没有NAMES.DEFAULT_DOMAIN=world,所以DEV1.WORLD连接串不能连接,可以在TNSNAMES.ORA中增加
    DEV1 =
    (DESCRIPTION = (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP) (Host = 145.45.78.56) (Port = 1521) ) )
    (CONNECT_DATA = (SID = ORCL) ) )
    此时可连接。
      2、NL-00462 Error 或ORA-00462
      特征:监听器无法启动
      原因:LISTENER.ORA文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。
      措施:重新编辑文件
     3、NL-00405 Error 或ORA-00405
      特征:LISTENER.ORA文件不可读或找不到
      原因:LISTENER.ORA文件内容错误,例如,括号不匹配、参数名错误等、多余的空格等。
      措施:确保文件位置在缺省目录下$ORACLE_HOME/network/admin,或设置环境变量TNS_ADMIN指向这个文件所在位置。
      4、TNS-01155 Error 或ORA-01155
      特征:LISTENER.ORA文件中SID_LIST_LISTENER变量赋值不对
      原因:LISTENER.ORA文件内容错误,SID_LIST_LISTENER变量赋值不对。
      措施:确保文件中赋值正确,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。
      5、TNS-12537 、TNS-12560、TNS-00507 Error
      特征:LISTENER.ORA文件中引用了一个无效的协议适配程序
      原因:LISTENER.ORA文件中PROCOTOL变量赋值不对。
      措施:确保文件中赋值正确,一般用tcp协议,$ORACLE_HOME/network/admin/samples目录下有样例文件,可供参考。用adapters tnslsnr检查协议程序
      6、TNS-12203 Error
      特征:不能与目标连接
      原因:监听器是否启动;别名是否配置
      措施:检查监听器是否启动,例如lsnrctl status;检查TNSNAMES.ORA的别名配置
      7、TNS-12533 Error
      特征:不能与目标连接
      原因:非法的address参数,
      措施:检查TNSNAMES.ORA的ADDRESS参数
      1)用tnsping net_service_name测试网络服务名是否配置正确!
      2)用sqlplus程序通过test网络服务名进行测试,如sqlplus system/manager@test。如果不能连接到数据库,则在tnsname.ora文件中的test网络服务名(net service)后面加上sqlnet.ora文件NAMES.DEFAULT_DOMAIN参数的值,

    展开全文
  • 1: 防火墙是否关闭. 2: 查看监听器是否启动 转载于:https://my.oschina.net/u/3213673/blog/1563739...

    1: 防火墙是否关闭.

    2: 查看监听器是否启动

    转载于:https://my.oschina.net/u/3213673/blog/1563739

    展开全文
  • ORA-12154:TNS:could not resolve the connect identifier specified ,即无法解析指定的连接 标识符。这说明缺少了一个环境变量,TNS_ADMIN 解决方法:windows: 右击 我的电脑 -> 属性-> 高级-> 环境...

    ORA-12154: TNS:could not resolve the connect identifier specified ,即无法解析指定的连接

    标识符。这说明缺少了一个环境变量,TNS_ADMIN

    解决方法:windows:

    右击 我的电脑 -> 属性 -> 高级 -> 环境变量 -> Administrator 的用户变量 -> 新建 ,            

    变量名为:TNS_ADMIN 

    变量值为:%ORACLE_HOME%/NETWORK/ADMIN/                 

    其中 %ORACLE_HOME% 即 Orcale 的安装路径,

    其实,设置的该环境变量的值为 tnsnames.ora文件所在路径,特别是重装后或其它操作,忘了设置TNS_ADMIN 变量,PL/SQL 登陆就会报“无法解析指定的连接标识符”的错误 ,而设置TNS_ADMIN变量是为了能够找到 tnsnames.ora。如果本机上安装了ORACLE,并且设置了 ORACLE_HOME 环境变量,那么会自动在 %ORACLE_HOME%/NETWORK/ADMIN/位置查找 tnsnames.ora 文件。

     

    Oracle ORA-12154: TNS: 无法解析指定的连接标识符”错误

    主要原因

    1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。

    2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.

    3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\Oracle\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建
    ,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.

    4. 本机DNS解析不对。

    诊断工具:

    1.tnsping命令:如果能够ping通,则说明客户端能解析listener的机器名,而且lister也已经启动,但是并不能说明数据库已经打开,而且tsnping的过程与真正客户端连接的过程也不一致。但是如果不能用tnsping通,则肯定连接不到数据库。

    2.lsnrctl命令listener control 监听控制因为你在键入 lsnrctl 回车之后,就进入到监听控制界面。在启动、关闭或者重启oracle监听器之前确保使用lsnrctl status命令检查oracle监听器的状态:

      1、lsnrctl status:检查当前监听器的状态

      2、lsnrctl start [listener-name]启动所有的监听器,可以指定名字来启动特定的监听器

      3、lsnrctl stop [listener-name]关闭所有的监听器,可以指定名字来关闭特定的监听器

      4、$lsnrctl reload重启监听器,此命令可以代替lsnrctl stop,lsnrctl start

      5、lsnrctl hep 可以显示所有可用的监听器命令

    转载于:https://www.cnblogs.com/TNPC/p/9121085.html

    展开全文
  • oracle数据库tns配置方法详解-转

    千次阅读 2014-08-11 23:58:24
    TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,下面看一如何配置它吧 TNS简要介绍与应用 Oracle中TNS的完整定义:...
  • 本文从客户端和服务器的角度阐述 连接Oracle数据库如何配置,但是我们开发者的计算机一般充当着两个角色:自己既是客户端也是服务端,就是自己连自己。生产环境中,服务器和客户端位于不同的计算机,是分开配置的。...
  • Oracle数据库TNS详解

    2019-10-04 23:23:54
    TNSOracle数据库正确使用的必备条件之一,它用来管理和配置Oracle连接工具,目前我有用的工具如:SQL Server和Toad,它像是一个中间的桥梁,让客户端和数据库可以进行通讯,也就是我们平时的读写等等。 简要介绍 ...
  • 最近在自己电脑中安装oracle,然后使用PL/SQL 连接的时候,各种问题考验着我,也让我长见识了,同时我也在网上收集了一些问题,一块和大家分享一下:   1、ORA-12541:TNS:没有监听器 因:没有启动监听器或者监听器损坏。...
  • oracle用户下执行tnsping 服务名(service_name)->这里指的是tnsname文件里的service_name 如果后面出现OK,则表示tns正常。如下图所示: 本文转自 Super康 51CTO博客,原文链接:...
  • 1、ORA-12541:TNS:没有监听器  原因:没有启动监听器或者监听器损坏。若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用...
  • 1、ORA-12541:TNS:没有监听器 原因:没有启动监听器或者监听器损坏。若是前者,使用命令net start OracleOraHome10gTNSListener(名字可能有出入)即可;如果是后者,则使用“Net Configuration Assistant”工具向
  • ORACLE数据库-TNS协议分析详解ORACLE数据库-TNS协议分析详解ORACLE数据库-TNS协议分析详解ORACLE数据库-TNS协议分析详解
  • Oracle数据库-TNS连接

    2020-03-17 11:44:38
    Oracle数据库-TNS连接 第一份工作是在东亚银行,规定要穿正装上班,当时身上没有什么钱,只能去地摊上买黑裤子搭白衬衫,不忍直视。 进入项目组,第一件事就是给电脑安装Oracle客户端和PL/SQL。就如同你的钱存在银行...
  • 数据库执行TNSping失败,系统显示如下错误信息: % tnsping ora817 TNS Ping Utility for Solaris: Version 8.1.7.0.0 - Production on 09-10月-2003 14:23:45   (c) Copyright 1997 Oracle Corporation. All ...
  • sqlplus连接oracle数据库(连接本地oracle数据库和连接远程的oracle数据库) 虽然我们现在平时都是使用PLSQL Developer这个软件工具了,但是我们还是要了解sqlplus 想要成功连接本地的oracle数据库,首先要确保...
  • 错误现象:别人访问我oracle数据库时,提示“无监听程序”,ping IP能ping通,TNS配置正确。操作:按照网上的说法我将本机的tnsnames.ora、listener.ora中的localhost都改成了本机的IP或者本机的计算机全名,改完...
  • oracle数据库配置监听和TNS

    万次阅读 2019-06-18 22:36:28
    默认是有一个tns的,可以启动来远程连接数据库 [oracle@localhost ~]$ ps -ef | grep tns oracle 4539 4506 0 21:18 pts/1 00:00:00 grep tns [oracle@localhost ~]$ lsnrctl start ##启动监听 查...
  • 通过TNS信息连接Oracle数据库

    千次阅读 2019-02-19 20:27:48
    首先简单介绍一下TNS ...ORCLYZC = //此处为网络服务名,用于plsql连接远程oracle数据库时的数据库名 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.221)(PO...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,897
精华内容 15,958
关键字:

oracle数据库tns