精华内容
下载资源
问答
  • 相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。 在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,Sql Server不同,这些数据库...

    相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。

          在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,Sql Server不同,这些数据库可以通过直接指定IP的方式连接,但是Oracle则需要通过Oracle客户端配置网络服务名的方式来连接。否则就会出现“ORA-12154: TNS: 无法解析指定的连接标识符”。配置Oracle客户端详细步骤如下:
          安装好Oracle客户端之后,在开始菜单中依次找到“Oracle - OraClient10g_home1—>配置和移植工具—>Net Manager”并打开(Win7,Win8用户如果没有取得Administrator账号登陆需要以管理员方式运行),依次展开“Oracle Net配置—>本地—>服务命名”点击左侧“加号”配置新的网络服务

    image

    image

    image

    image

          最后,点击“下一步”完成即可,如果不知道或者忘记Oracle服务名可以通过查看服务获得,比如我这里配置的主机名是我本机,在我的电脑服务中找到oracle相关的服务

    image

    通过上面的服务名称,可以看出我安装的服务名就是“ORCL”,或者在服务端通过SQL Plus使用sys账号登陆,输入命令
    show parameter service_name查看。
    OracleDBConsoleORCL是Oracle网页端管理工具的服务,访问地址一般为“http://127.0.0.1:1158/em/console/logon/logon”,如果不习惯用这个来管理数据库可以不用启动。
    OracleJobSchedulerORCL是管理Oracle中计划任务的,一般不用启动。
    OracleOraDb10g_home1iSQL*Plus是SQL Plus的服务,如果不习惯在命令行下面操作数据库,可以不用启动。
    OracleServiceORCL,OracleOraDb10g_home1TNSListener都需要开启,前者是主服务,后者是监听服务。

         当在Oracle客户端中配置好Net Manager中配置好服务后就可以通过我们配置的网络服务名访问Oracle数据库了,此配置实质想D:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora中增加了一行配置(由于我的Oracle是安装在D盘Oracle目录中,具体路径根据安装时选择的路径而定)。

    复制代码

    # tnsnames.ora Network Configuration File: d:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.
    
    ORCL =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ORCL)
        )
      )

    复制代码

        如果在同一台电脑上面同时安装了Oracle客户端和服务端,那么在服务端的安装目录中也会存在同样的配置文件D:\Oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,在这种情况下如果我们配置好了客户端Net Manager然后连接Oracle数据库,可能会出现“ORA-12154: TNS: 无法解析指定的连接标识符”这时,你就应该怀疑,我到底访问的是哪个路径下的配置文件呢?此时可以使用tnsping命令

    image

          如果你是在客户端Net Manager中配置的网络服务,但是此时解析出来的使用参数文件却是D:\Oracle\product\10.2.0\db_1\NETWORK\ADMIN\sqlnet.ora,那么我想你应该明白了。这种情况有两种解决办法:
          第一:在服务端的Net Manager也配置相同的网络服务,或者直接拷贝D:\Oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora中的配置到D:\Oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora,每次配置了新的网络服务你都需要这么做,如果不想这么麻烦那就使用第二种解决办法。     
          第二:修改系统环境变量Path值,将D:\Oracle\product\10.2.0\client_1\bin;路径移至D:\Oracle\product\10.2.0\db_1\bin;前面即可一劳永逸。
          注意:造成以上这种情况出现的原因是:在一台电脑上同时安装了oracle客户端和数据库服务,并且是先安装客户端,再安装数据库服务造成的,如果先安装数据库服务,再安装客户端就不会出现这种情况了。
          根据以上方式配置完oracle后,相信在程序中就可以正常连接oracle数据库了。

          当我安装好PLSQL Developer软件后登陆时任然出现了“ORA-12154: TNS: 无法解析指定的连接标识符”,如果是Win7,Win8用户甚至可以会出现弹出一个白框的情况,这时需要以管理员身份运行PLSQL Developer,并且确保你的PLSQL Developer是读取的oracle客户端配置,直接取消登陆,在PLSQL Developer工具栏中找到“Tools—>Preferences”,在Oracle的Connection节点中找到Oracle Home选择OraClient10g_home1,保存后关闭PLSQL Developer就可以正常登陆了。

    image

         需要注意的是,在安装PLSQL Developer时不能安装在带有括号的目录中,如64bit系统的Program Files (x86)目录,就会出现无论你怎么设置,它依然不停的弹出“ORA-12154: TNS: 无法解析指定的连接标识符”。同样的问题也会出现在其他Oracle数据库管理软件中,比如Toad for Oracle

         “ORA-12154: TNS: 无法解析指定的连接标识符”是使用Oracle数据库的新手遇到的比较常见的问题之一,只要我们了解了它的工作方式,冷静排查,相信很容易就能够找到问题的解决办法的。

    本文转自:http://www.cnblogs.com/psforever/p/3929064.html  非常感谢博主分享

    展开全文
  • ora-12154

    2014-07-16 15:51:00
    64位oracle,32位pl/sql ...ora-12154 配置环境变量ORACLE_HOME:D:\softInstrall\oracle\product\11.2.0\dbhome_1 好之。 感谢伟大的百度 转载于:https://www.cnblogs.com/yimiyan/p/3848855.html...

    64位oracle,32位pl/sql 

    pl/sql配置完之后,一直报错:

    ora-12154

     配置环境变量ORACLE_HOME:D:\softInstrall\oracle\product\11.2.0\dbhome_1 好之。

    感谢伟大的百度

    转载于:https://www.cnblogs.com/yimiyan/p/3848855.html

    展开全文
  • ORA-12154

    千次阅读 2012-08-09 13:30:36
    PL/SQL能正常登录,使用sqlplus登录却提示错误:ORA-12154: TNS: 无法解析指定的连接标识符 原因:密码中包含特殊字符 解决方法:conn cryking/"1@23456"@orcl --用双引号把密码引起来即可。

    官方描述:

    ORA-12545: TNS:could not resolve the connect identifier specified

    Cause: A connection to a database or other service was requested using a connect identifier, and the connect identifier specified could not be resolved into a connect descriptor using one of the naming methods configured. For example, if the type of connect identifier used was a net service name then the net service name could not be found in a naming method repository, or the repository could not be located or reached
    Action:

    - If you are using local naming (TNSNAMES.ORA file):

    - Make sure that "TNSNAMES" is listed as one of the values of the NAMES.DIRECTORY_PATH parameter in the Oracle Net profile (SQLNET.ORA)

    - Verify that a TNSNAMES.ORA file exists and is in the proper directory and is accessible.

    - Check that the net service name used as the connect identifier exists in the TNSNAMES.ORA file.

    - Make sure there are no syntax errors anywhere in the TNSNAMES.ORA file. Look for unmatched parentheses or stray characters. Errors in a TNSNAMES.ORA file may make it unusable.

    - If you are using directory naming:

    - Verify that "LDAP" is listed as one of the values of the NAMES.DIRETORY_PATH parameter in the Oracle Net profile (SQLNET.ORA).

    - Verify that the LDAP directory server is up and that it is accessible.

    - Verify that the net service name or database name used as the connect identifier is configured in the directory.

    - Verify that the default context being used is correct by specifying a fully qualified net service name or a full LDAP DN as the connect identifier

    - If you are using easy connect naming:

    - Verify that "EZCONNECT" is listed as one of the values of the NAMES.DIRETORY_PATH parameter in the Oracle Net profile (SQLNET.ORA).

    - Make sure the host, port and service name specified are correct.

    - Try enclosing the connect identifier in quote marks. See the Oracle Net Services Administrators Guide or the Oracle operating system specific guide for more information on naming.

     

    情况一:

    监听、服务名都已经配好,但是出现

    PL/SQL能正常登录,使用sqlplus登录却提示错误:ORA-12154: TNS: 无法解析指定的连接标识符

    原因:密码中包含特殊字符

    解决方法:conn cryking/"1@23456"@orcl  --用双引号把密码引起来即可。

    展开全文
  • 主要介绍了Oracle连接出现ora-12154无法解析指定的连接标识符,需要的朋友可以参考下
  • 主要介绍了与虚拟机Oracle连接出现ora-12154问题的解决方法,需要的朋友可以参考下
  • 相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。 在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,Sql Server不同,这些数据库可以...
  • RMAN duplicate from active 时遭遇 RMAN-06136 ORA-17627 ORA-17629 ORA-12154 报错: ...
        

    RMAN duplicate from active 时遭遇 RMAN-06136 ORA-17627 ORA-17629 ORA-12154




    报错:

    RMAN-00571: ===========================================================

    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

    RMAN-00571: ===========================================================

    RMAN-03002: failure of Duplicate Db command at 10/08/2018 10:51:07

    RMAN-05501: aborting duplication of target database

    RMAN-03015: error occurred in stored script Memory Script

    RMAN-06136: Oracle error from auxiliary database: ORA-17629: Cannot connect to the remote database server

    ORA-17627: ORA-12154: TNS:could not resolve the connect identifier specified

    ORA-17629: Cannot connect to the remote database server


    解决:

       

        将oracle用户下的tnsnames.ora的内容拷贝到grid用户下的tnsnames.ora文件中。


    (Doc ID 1144273.1):

     If the listener is started from a different environment to rman client
          Then server processes will try to resolve the AUXILIARY service name using $TNS_ADMIN/tnsnames.ora where the value of TNS_ADMIN is as set in the 'listener runtime environment'.


    Duplicate From Active Database Errors : ORA-17629 ORA-17627 ORA-12154 (文档 ID 1144273.1)


    In this Document


    Symptoms

    Cause

    Solution


    APPLIES TO:

    Oracle Database - Enterprise Edition - Version 11.1.0.6 and later
    Oracle Net Services - Version 11.2.0.4 to 11.2.0.4 [Release 11.2]
    Information in this document applies to any platform.

    SYMPTOMS


    The duplicate database from active failed with the following errors : 

    ORA-17629: Cannot connect to the remote database server
    ORA-17627: ORA-12154: TNS:could not resolve the connect identifier specified
    ORA-17629: Cannot connect to the remote database server

    CAUSE

    Cause 1:

    For Active Duplication you need to connect to the target and Auxiliary DB using net service name ,even if you are running RMAN at the Auxiliary DB.
    The net service name to connect to the Auxiliary DB should also be configured at the target Database.
     

    Possible Cause 2:

    Mismatch of Parameters DEFAULT_DOMAIN and DB_DOMAIN

    db_domain=PROD.world         # init<SID>.ora
    default_domain=PROD.WORLD    # sqlnet.ora

    # DEFAULT_DOMAIN defined on sqlnet.ora is 'case' sensitive and when defined must match 
       DB_DOMAIN initialization parameter

    SOLUTION


    1. To be sure that the tnsnames.ora file of each machine (machine where is the source database and machine where is the auxiliary database) has the service name to connect to auxiliary database.

        If you are running with LDAP where there is no tnsnames.ora,   then make sure ldap.ora file under Target's and Auxiliary's $ORACLE_HOMEs 

    2. Verify that there are not duplicate service_name with different configuration in the tnsnames.ora file.

    As per the Step 2 of the below RMAN doc :
    http://download.oracle.com/docs/cd/B28359_01/backup.111/b28270/rcmdupdb.htm#i1008564
    .

    Step 2: Establish Oracle Net Connectivity to the Auxiliary Instance

    When duplicating from an active database, you must first have connected as SYSDBA to the auxiliary instance by means of a net service name. This net service name must also be available on the source database instance.
    The source database instance, to which RMAN is connected as TARGET, uses this net service name to connect directly to the auxiliary database instance.



    Double check using the following commands on the TARGET and AUXILIARY

    % tnsping <target_db>
    % tnsping <auxiliary_db>


    Once this is executed for the TARGET and AUXILIARY, it should return the same 'connect' information.

     


    Additional Note:

    If  the listener is started from a different environment to rman client then  server processes will try to resolve the AUXILIARY service name using $TNS_ADMIN/tnsnames.ora  where the value of TNS_ADMIN is as set in the 'listener runtime environment'.

     

    1、故障现象
        --下面的操作在auxiliary DB所在的机器上完成
        [oracle@linux4 ~]$ export ORACLE_SID=sybo3
        [oracle@linux4 ~]$ sqlplus / as sysdba
        SQL> startup nomount;
        [oracle@linux4 ~]$ rman target
    sys/oracle@TAR auxiliary sys/oracle@AUX   

        Recovery Manager: Release 11.2.0.1.0 - Production on Wed Jul 31 16:00:59 2013

        Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

        connected to target database: SYBO3 (DBID=2347733014)
        connected to auxiliary database: SYBO3 (not mounted)

        RMAN> duplicate database to sybo3 from active database spfile nofilenamecheck;

        Starting Duplicate Db at 31-JUL-13
        using target database control file instead of recovery catalog
        allocated channel: ORA_AUX_DISK_1
        channel ORA_AUX_DISK_1: SID=125 device type=DISK

        contents of Memory Script:
        {
           backup as copy reuse
           targetfile  '/u01/oracle/db_1/dbs/spfilesybo3.ora' auxiliary format
         '/u01/oracle/db_1/dbs/spfilesybo3.ora'   ;
           sql clone "alter system set spfile= ''/u01/oracle/db_1/dbs/spfilesybo3.ora''";
        }
        executing Memory Script

        Starting backup at 31-JUL-13
        allocated channel: ORA_DISK_1
        channel ORA_DISK_1: SID=23 device type=DISK
        RMAN-00571: ===========================================================
        RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
        RMAN-00571: ===========================================================
        RMAN-03002: failure of Duplicate Db command at 07/31/2013 16:01:07
        RMAN-03015: error occurred in stored script Memory Script
        RMAN-03009: failure of backup command on ORA_DISK_1 channel at 07/31/2013 16:01:07
        ORA-17629: Cannot connect to the remote database server                       
        ORA-17627: ORA-12154: TNS:could not resolve the connect identifier specified
        ORA-17629: Cannot connect to the remote database server

     

    2、故障分析与解决
        上面是一堆的RMAN与ORA相关错误号了
        在执行脚本backup as copy reuse时出现了错误,也就是说备份的时候出现错误RMAN-03009
        其次是ORA-17629,不能连接到远程数据库服务器,ORA-17627后跟着ORA-12154,说明是由于无法解析字符串
        下面来看看ORA-17629到底是什么问题
        [oracle@linux4 ~]$ oerr ora 17629
        17629, 00000, "Cannot connect to the remote database server"
        // *Cause:  Connecting to the remote server specified by database connect
        //          string for netowrk file transfer failed.
        // *Action: Check additional error messages

        重要的提示信息:for netowrk file transfer failed,网络文件传输失败。
        由于我们使用的是从活动数据库进行克隆,因此活动数据库的数据文件等等应当会通过网络复制到辅助数据库,更确切地是说是通过Oracle Net。
        也就是说尽管我们在辅助数据库端配置了到target DB以及到Auxiliary DB的tnsnames的连接是不够的,target DB端也要连接到Auxiliary DB传送文件。
        上面只是一个初步的推测,从Oracle Metalink找到了关于这个问题的描述。就是需要在两个服务器之间都配置到target DB与Auxiliary DB的tnsnames。

        检查一下两个主机的tnsnames.ora的配置
        [oracle@linux3 admin]$ more tnsnames.ora
        # tnsnames.ora Network Configuration File: /u01/oracle/db_1/network/admin/tnsnames.ora
        # Generated by Oracle configuration tools.

        TAR =                               #Target Server只有到Target DB的tnsnames.ora
          (DESCRIPTION =
            (ADDRESS_LIST =
              (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.25)(PORT = 1531))
            )
            (CONNECT_DATA =
              (SERVICE_NAME = SYBO3.ORASRV.COM)
            )
          )
     
        [oracle@linux4 admin]$ more tnsnames.ora  #Auxiliary Server有到Target DB和Auxiliary DB的tnsnames.ora
        TAR =
          (DESCRIPTION =
            (ADDRESS_LIST =
              (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.25)(PORT = 1531))
            )
            (CONNECT_DATA =
              (SERVICE_NAME = SYBO3.ORASRV.COM)
            )
          )

        AUX =
          (DESCRIPTION =
            (ADDRESS_LIST =
              (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.26)(PORT = 1531))
            )
            (CONNECT_DATA =
              (SERVICE_NAME = SYBO3.ORASRV.COM)
            )
          )



        解决方案
            在Target Server端添加到Auxiliary DB的tnsnames.ora,即与Auxiliary server端使用相同的tnsnames entry

        下面测试tnsnames的连通性
        [oracle@linux3 admin]$ tnsping aux 
        [oracle@linux3 admin]$ tnsping tar
        [oracle@linux4 admin]$ tnsping aux
        [oracle@linux4 admin]$ tnsping tar

        再次duplicate时,成功鸟,喝茶哟!









    About Me

    ........................................................................................................................

    ● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

    ● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和个人weixin公众号( xiaomaimiaolhr )上有同步更新

    ● 本文itpub地址: http://blog.itpub.net/26736162

    ● 本文博客园地址: http://www.cnblogs.com/lhrbest

    ● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

    ● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

    ● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

    ........................................................................................................................

    ● QQ群号: 230161599 (满) 、618766405

    ● weixin群:可加我weixin,我拉大家进群,非诚勿扰

    ● 联系我请加QQ好友 646634621 ,注明添加缘由

    ● 于 2018-10-01 06:00 ~ 2018-10-31 24:00 在魔都完成

    ● 最新修改时间:2018-10-01 06:00 ~ 2018-10-31 24:00

    ● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

    ● 版权所有,欢迎分享本文,转载请保留出处

    ........................................................................................................................

    小麦苗的微店 https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

    小麦苗出版的数据库类丛书 http://blog.itpub.net/26736162/viewspace-2142121/

    小麦苗OCP、OCM、高可用网络班 http://blog.itpub.net/26736162/viewspace-2148098/

    小麦苗腾讯课堂主页 https://lhr.ke.qq.com/

    ........................................................................................................................

    使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。

    ........................................................................................................................

    欢迎与我联系

     

     



    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26736162/viewspace-2215543/,如需转载,请注明出处,否则将追究法律责任。

    展开全文
  • Oracle安装ORA-12154和ORA-12169问题的解决
  • ORA-12154: TNS: 无法解析指定的连接标识符的解决方法
  • 主要介绍了Oracle导dmp出现文件ORA-12154: TNS: 无法解析指定的连接标识符问题的解决方案,需要的朋友可以参考下
  • oci8 ORA-12154

    2020-12-08 23:17:00
    <div><p>Hi when I invoke the new I get the following error. <p>Has anyone seen this ...<p>oci8.c:561:in oci8lib_240.so: ORA-12154: (OCIError)</p><p>该提问来源于开源项目:kubo/ruby-oci8</p></div>
  • ORA-12154: TNS: 无法解析指定的连接标识符 第一步: 查看自己的Oracle服务是否打开。 OracleDBConsoleORCL是Oracle网页端管理工具的服务,访问地址一般为“http://127.0.0.1:1158/em/console/logon/logon”,如果...
  • ora-12154和ORA-01033解决

    2019-01-30 16:59:17
    PLSQL连接Oracle错误ora-12154 cmd的命令行窗口下,输入lsnrctl start,回车即启动监听 再输入sqlplus /nolog,回车 再输入 conn / as sysdba;回车 再输入startup,回车.这步是启动oracle服务。再登录一下oracle就...
  • Oracle导dmp出现文件ORA-12154 TNS 无法解析指定的连接标识符解决方案
  • 相信使用过Oracle数据库的人一定碰到过“ORA-12154: TNS: 无法解析指定的连接标识符”错误,我在此做一个小小的总结。 在程序中连接Oracle数据库的方式与其他常用数据库,如:MySql,Sql Server不同,这些数据库...
  • 由于aly前面多了两个空格,会导致yyws-jy报ORA-12154
  • ORA-12154 TNS 无法解析指定的连接标识符
  • ORA-12154 oracle 监听器错误,解决方案
  • ORA-12154: TNS: 无法解析指定的连接标识符
  • ORA-12154:TNS:无法解析指定的连接标识符 ORA-12154:TNS:无监听程序 错误分析一、PL/SQL 客户端登录到数据库,如果配置错误会有以上错误,如下图。 这个错误主要是pl/sql客户端的tnsnames.ora配置错误,或者是输入 ...
  • ORA-12154_TNS无法解析指定的连接标识符

空空如也

空空如也

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

ora-12154