plsql无法连接oracle,报错:ORA-12514

     为了本地测试方便,我在本机安装了oracle,几个月前plsql突然无法连接oracle,报错:ORA-12514,在网上找了各种方法都无法解决,最后只能忍辱卸载oracle重新安装,一切又相安无事.

    昨天早上,当我想查看测试数据时,悲剧重现,真的烦人.我又去网上一通捣鼓,还是不行,一个坑不能死两次,我决定搞定它.百度,谷歌一直查,无数种尝试,晚上10点,迎来曙光.

    在此之前,先整理下oracle服务器,oracle客户端和plsql之间的关系:

    oracle服务器: 提供数据存储,查询等功能

    oracle客户端: 与oracle服务器通信,通过SQL进行数据库操作

    plsql: 一个可视化的工具,通过连接oracle客户端间接操作oracle服务器

以前我一直以为plsql就是一个oracle客户端,哎,惭愧!

开始记录ora_12514的解决方法:

1.确定oracle服务器正常运行

  查看服务是否启动:

这两个服务必须启动

  测试sqlplus工具:

  打开cmd窗口,输入sqlplus,再输入用户名和密码,如果可以正常连接,说明数据库正常

2. 检查,修改oracle客户端配置

  检查客户端下的tnsnames.ora,默认情况下,客户端使用这个文件的配置连接服务端,也可以在环境变量中使用TNS_ADMIN去指定其他路径的tnsnames.ora文件

内容如下:

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)

    )

  )

LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

根据自己的实例名称修改,注意加粗行,如果没有,加上

   检查客户端下的listen.ora

内容如下:

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = CLRExtProc)

      (ORACLE_HOME = D:\dev-soft\oracle11g\product\11.2.0\dbhome_1)

      (PROGRAM = extproc)

      (ENVS = "EXTPROC_DLLS=ONLY:D:\dev-soft\oracle11g\product\11.2.0\dbhome_1\bin\oraclr11.dll")

    )

    (SID_DESC = (GLOBAL_DBNAME = ORCL)(ORACLE_HOME = D:\dev-soft\oracle11g\product\11.2.0\dbhome_1)(SID_NAME = ORCL))

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    )

  )

ADR_BASE_LISTENER = D:\dev-soft\oracle11g

 

根据自己的oracle安装路径和实例名称修改,注意加粗行,如果没有,加上

 

   重启Oracle监听程序

3.检查plsql是否已经指定客户端

至此,我的问题得以解决,成功连接!

 

如果还是无法登录,尝试如下方法:

右击"我的电脑" - "属性" - "高级" - "环境变量" - "系统环境变量":

              1>.点击"新建", 变量名设置为"TNS_ADMIN", 变量值设置客户端根目录,如:"D:\dev-soft\instantclient_12", 点击"确定";

        2>.选择"Path" - 点击"编辑", 添加客户端安装路径:%TNS_ADMIN%

              最后点击"确定"退出

注意查看path里面的设置的oracle路径是否正确!

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值