zoukankan      html  css  js  c++  java
  • 使用pl/sql developer登陆不了oracle

    1,Oracle ORA12514 监听程序当前无法识别连接描述符中请求的服务

      这里最主要的原因在于:(参考:https://www.cnblogs.com/shangshan/p/6359880.html   https://blog.csdn.net/lwpoor123/article/details/78327080)

      数据库动态注册不生效,导致监听器无法识别客户端连接符中提供的服务名,从而拒绝建立数据库连接,所以就需要对监听器配置做修改。最简单的方法是:由动态注册改为静态注册。

      

      

      

      对于这种错误,必须要明白与oracle数据库建立连接的原理:

      动态注册或是静态注册,这个“注册”就是将数据库作为一个“服务”注册到“监听器”。客户端不需要知道“数据库名和实例名”,只需要知道该数据库对外提供的服务名就可以申请连接到数据库,动态注册就是在监听器配置文件中不明确的声明数据库实例和服务名,而是在数据库启动时才由数据库自动注册到监听器,静态注册就是在监听器配置文件中明确声明数据库实例和服务名。

      LISTENER参数就是监听器的配置,其中,PROTOCOL参数是协议名,一般为TCP,HOST参数是地址,可以写IP地址、服务器名、localhost、127.0.0.1,PORT参数是端口号,默认为1521。

      如果还是不行,那一定是tnsnames.ora配置有误:

      

      

      如果没有上面红色框中的内容,则必须进行下面的配置:

      

      将红色框中的内容更改为:

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

      这个配置和tnsnames.ora的配置是一样,可见在启动的时候加载INITorcl.ORA的时候,加载的LISTENER_ORCL参数,而这个LISTENER_ORCL参数实际引用tnsnames.ora的配置。

      如果没有,在使用sqlplus进入的时候报错:

      sqlplus进入数据库的方式:

      

      连接数据库,以系统dba权限(这样才能最大权限操作数据库,比如更改密码)

      

      接着使用startup命令装载数据,就会爆出下面的错误:

      

      如果还是不行,使用startup还是报错,详细参考:https://blog.csdn.net/baidu_32383657/article/details/53020624

       记得重启相关服务

       

    2,修改密码

      使用sqlplus进入,

      

      alter user XXX identified by ****; 将XXX用户的密码重置为***;

      这样就能使用新密码在pl/sql developer中重新登陆。

  • 相关阅读:
    将aspx页面编译成dll
    Jquery 验证数字
    c#反编译生成DLL过程
    c#进制转换
    Spring Mvc 实例
    wamp phpMyAdmin error #1045
    Tomcat相关知识点总结(jsp)
    Java ---学习笔记(泛型)
    Java IO ---学习笔记(文件操作与随机访问文件)
    Java IO ---学习笔记(字符流)
  • 原文地址:https://www.cnblogs.com/lirenhe/p/10491393.html
Copyright © 2011-2022 走看看