又是这个百无聊赖的问题,尽管问题芝麻点大,却让我们好找啊!

非常久没有安装oracle了。今天安装11g的时候,用PLSQL Developer连接时,就出现了这个俗不可耐的问题:ORA-12154 TNS无法解析指定的连接标识符。

我自觉得安装的时候已经非常小心翼翼了,结果还是出了纰漏,于是乎,我抱着不解决这个问题誓不罢休的决心開始一步步排查问题,功夫不负有心人,终于得以解决。

以下我具体给大家介绍解决这个问题的思路:

首先搞清楚问题的主体有两个:oracle服务和PLSQL Developer。

一、先排查oracle服务这边。

1、开启服务和监听

命令行输入:lsnrctl start

或者界面操作 右键 我的电脑-->管理-->服务和应用程序-->服务,右键点击OracleOraDb11g_home1TNSListener-->启动类型-->自己主动(延迟启动)。这样启动的优点是仅仅要在使用oracle服务监听的时候才启动,节约内存。当然,在启动服务监听后顺便启动服务。

右键点击 OracleServiceORCL 与上面相同操作。

监听启动之后能够查看监听具体状态。

命令行输入:lsnrctl status。

监听和服务都启动成功之后,再用PLSQL Developer连接试一下,假设能够,以下步骤能够省略,假设不行,请看以下第二步。

2、用sqlplus測试连接

命令行输入:sqlplus/nolog

再输入:conn username/password @ 实例 as sysdba 。

演示样例:conn sys/123456@orcl as sysdba 或者 conn system/123456@orcl as sysdba。

说明:username和password是在安装oracle将要结束时。有个口令管理的选项进入设置的,username有非常多。比方sys,system,scott,可是password要自己设置。

假设能连接上,则可继续阅读下文,假设连接不上,则能够就此止步,去研究oracle安装哪里出了问题。

为了检測更加保险,我们还能够ping oracle服务。

命令行输入:tnsping localhost:1521/orcl。

假设出现“OK”字样,可表示ping 通。

试着PLSQL Developer继续连接,假设还连接不上。则继续下文。

细致检查D:\app\Administrator\product\11.2.0\dbhome_2\NETWORK\ADMIN 中tnsnames.ora文件内容有没有错误。比方多了空格啊什么的,特别是地址指向。只是一般在第一次使用的时候是不须要修改里面的东西。这里注意了,oracle 11g 安装完之后。安装文件夹下会有两个dbhome。dbhome_1和dbhome_2。两个里面都有tnsnames.ora。我们要检查的是dbhome_2文件夹里的tnsnames.ora。

二、PLSQL Developer

以上流程假设比較顺利。基本能够排除oracle服务的问题。我们再把问题转向PLSQL Developer。

1、打开PLSQL Developer,先不登录,点击取消。接着我们照样进入了操作主界面。点击菜单条中 工具-->首选项-->连接,右边选择oracleclient,选中你安装的。然后点击应用,确定就可以。

2、又一次登录,填上你刚刚ping oracle服务的username、password和实例。

再连接,假设还连接不上。把数据库实例加上主机名和port号。

演示样例:localhost:1521/orcl,这中配置是和tnsnames.ora配置一一相应的。再连接试试,必须成功,再不成功,那就超出我个人能力范围了,呵呵~

以下给出tnsnames.ora原汁原味的配置格式:

# tnsnames.ora Network Configuration File: d:\app\Administrator\product\11.2.0\dbhome_2\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)
)
)

说明:

    1、假设是我们能够配置多个数据库实例,orcl是当中之中的一个。

当然我们能够继续加入其它不同的实例。方法是。在tnsnames.ora中加入诸如例如以下代码:

ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

这样我们就在本地服务上多了一个orcl2的实例,我们能够试一试。

    2、当然我们也能够配置远程的oracle服务,原理一样,仅仅是改动host以及port号。代码例如以下:

  REMOTEORCL=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.105)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

这样在登录时候。填写相应的实例、username和password就搞定了。

ORA-12154 TNS无法解析指定的连接标识符的更多相关文章

  1. ORA-12154:TNS:无法解析指定的连接标识符

    问题:ORA-12154:TNS:无法解析指定的连接标识符 原因:没有配置tnsnames.ora文件 解决方案: 配置环境变量变量名:ORACLE_HOME 变量值:如:D:\Database\pr ...

  2. Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序

    问题1:ORA-12154: TNS: 无法解析指定的连接标识符 在一台服务器上部署了Oracle客户端,使用IP/SID的方式访问,老是报ORA-12154错误,而使用tnsnames访问却没有问题 ...

  3. <转>ORA-12154: TNS: 无法解析指定的连接标识符

    相信作为ORACLE数据库的开发人员没有少碰到“ORA-12154: TNS: 无法解析指定的连接标识符”,今天我也又碰到了类似的情况,将我的解决方法进行小结,希望能对碰到同样问题的友人们提供帮助. ...

  4. Oracle数据库ORA-12154: TNS: 无法解析指定的连接标识符详解

    ORA-12154: TNS: 无法解析指定的连接标识符(转自http://www.cnblogs.com/psforever/p/3929064.html) 相信使用过Oracle数据库的人一定碰到 ...

  5. C#连接oracle数据库提示ORA-12154: TNS: 无法解析指定的连接标识符

    C#连接oracle数据库提示ORA-12154: TNS: 无法解析指定的连接标识符如果PLSQL Develope能连接上而用代码无法连接上则可以考虑sqlnet.ora文件中是否有NAMES.D ...

  6. PL/SQL连接远程服务器数据库,出现ORA-12154: TNS: 无法解析指定的连接标识符。

    故障环境:上礼拜新装了一台服务器(win server2008r2),并在服务器上安装了ORACLE 11g database.且已经做好监听配置,开通了1521端口. 我又在局域网内另一台pc端装了 ...

  7. oracle 可以连接数据库,vs连不上. 报错提示:ORA-12154: TNS: 无法解析指定的连接标识符

    方法1:问题:VS 连接 Data Source=ORCL_Service19;User Id=*;Password=* 连接不上 oracle 可以连接数据库,vs连不上,报错提示:ORA-1215 ...

  8. PL/SQL登录Oracle18数据库:ORA-12154:TNS无法解析指定的连接标识符

    PL/SQL登录Oracle18数据库出现ORA-12154:TNS无法解析指定的连接标识符解决以下问题:首先更改Oracle客户端的tnsnames.ora,我的路径是:D:\OracleSQL\n ...

  9. 解决 ORA-12154 TNS无法解析指定的连接标识符

    相信作为ORACLE数据库的开发人员没有少碰到"ORA-12154: TNS: 无法解析指定的连接标识符",今天我也又碰到了类似的情况,将我的解决方法进行小结,希望能对碰到同样问题 ...

随机推荐

  1. 【HDOJ】4089 Activation

    1. 题目描述长度为n的等待队列,tomato处于第m个,有如下四种可能:(1)激活失败,概率为$p_1$,队列中的顺序不变:(2)连接失败,概率为$p_2$,队头玩家重新排在队尾:(3)激活成功,概 ...

  2. poj2400Supervisor, Supervisee(KM)

    http://poj.org/problem?id=2400 KM算法http://philoscience.iteye.com/blog/1754498 题意:每个雇主对雇员有个满意度 雇员对雇主有 ...

  3. [swustoj 371] 回文数

    回文数(0371) 问题描述 一个自然数如果把所有数字倒过来以后和原来的一样,那么我们称它为回文数.例如151和753357.我们可以把所有回文数从小到大排成一排:1, 2, 3, 4, 5, 6, ...

  4. 【转】 当程序崩溃的时候怎么办 Part-2

    转自:http://www.tairan.com/archives/1143 欢迎回到当程序崩溃的时候怎么办 教程! 在这个教程的第一部分,我们介绍了SIGABRT和EXC_BAD_ACCESS错误, ...

  5. Apache2.2+Tomcat7.0整合配置详解

    一.简单介绍 Apache.Tomcat Apache HTTP Server(简称 Apache),是 Apache 软件基金协会的一个开放源码的网页服务器,可以在 Windows.Unix.Lin ...

  6. spinner 设置文本框中的字体颜色

    onItemSelected(AdapterView parent, View v, int position, long id) { TextView v1 = (TextView)v; v1.se ...

  7. 访问WEB-INF目录中的JSP文件

    方法1:本来WEB-INF中的jsp就是无法通过地址栏访问的.所以安全.如果说你要访问这个文件夹中的jsp文件需要在项目的web.xml文件中去配置servlet格式差不多的配置就ok了.如下: 访问 ...

  8. C/C++:拷贝构造函数

    拷贝构造函数是一种特殊的构造函数,因为它也是用来构造对象的.它具有构造函数的所有特性.拷贝构造函数的作用是用一个已经存在的对象去初始化另一个对象,这两个对象的类类型应该是一样的.定义拷贝构造函数的形式 ...

  9. 命令rm

    mv -r 递归删除文件夹内所有东西mv -i 交互式删除mv -f 强制删除,没有警告提示

  10. Spark系列(四)整体架构分析

    架构流程图 说明  Driver端流程说明(Standalone模式) 使用spark-submit提交Spark应用程序Application. 通过反射的方式创建和构造一个DriverActor进 ...