• 被拒--悲剧之ORA-01017: invalid username/password; logon denied 错误


        本地没有安装Oracle,安装了oracle客户端和PL/SQL Developer。来实现对oracle数据库的可视化操作。

          在使用在登录PL/SQL无法登录,提示错误:ORA-01017: invalid username/password; logon denied 错误(程序中的用户和密码无法登录,登录被拒)。

           找出悲剧原因的历程:

    1 看用户名和密码是否正确,经检查后,没有问题。提示:如果你使用的是IDE开发工具进行连接的数据库,不要忽视空格检查。如果系统用户可以登录,可以登录后查看用户是否存在,密码是看不到的:“select username from dba_users;”。如果用户存在,修改一下密码试试:“alter user 用户名 identified by 密码;”。可能是自己密码记错了呢,自己都不知道。偷笑

    2 检查自己在配置oracle时,配置的数据库是否正确。

    打开oracle客户端的安装路径,D:Program Files (x86)Oracleodac_client。找到tnsnames.ora,打开后检查写的ip地址是否正确。(我的问题就在这)


           客户端为了远程连接服务器,必须先和服务器上的监听进程联络,Oracle通过tnsnames.ora文件中的连接描述符来说明连接信息。

    名词解释:

    ORCL248:连接描述符

    address_list:表示客户端经由多种协议与一台或多台服务器连接。在上面的例子中表示客户端使用TCP协议与服务器端连接。

    PROTOCOL:使用的协议

    HOST :是TCP/IP协议使用的服务器IP地址。
    PORT :是TCP/IP使用的端口地址。

    CONNECT_DATA: 连接数据库的连接配置

    SERVER=DEDICATED: 表示用专用服务器连接oracle数据库

    SERVICE_NAME:服务器服务名称

    3 检查用户是否被锁
          如果用户被锁也会出现上面的问题,首先是系统可以进入系统的情况下,解决方法:
    用系统用户登录plsql , 查询当前的所有用户: select * from dba_users;   查看状态是否被锁(LOCKED ),如果你数据库连接的用户被锁,给帐号解锁
    alter user user1 account unlock;   

    4 是否给用户分配了权限,可以以系统用户登录后,为用户授权:

    grant  create session, create table,create view,unlimited,connect,resource;具体些那些权限,根据用户的实际权限进行。

    5 网上也有说配置环境变量,我的没有问题,当我把所有的关于oracle的环境变量都删了之后也没有出现不能登录的问题,哎只能是作为一种尝试的方法了。

     总结:

           最后的最后问题终于解决了,自己在查找的过程中也走过很多弯路。但是,弯路至少证明了这条路走不通。蓦然回首,那answer已在眼前。

  • 相关阅读:
    [慢查优化]慎用MySQL子查询,尤其是看到DEPENDENT SUBQUERY标记时
    Web开发基本准则-55实录-缓存策略
    Web开发基本准则-55实录-Web访问安全
    线上Java应用排查和诊断规范
    [慢查优化]建索引时注意字段选择性 & 范围查询注意组合索引的字段顺序
    [慢查优化]联表查询注意谁是驱动表 & 你搞不清楚谁join谁更好时请放手让mysql自行判定
    再说memcache的multiget hole(无底洞)
    RCA:未注意Curl-library Post 1024以上字节时的HTTP/1.1特性导致 HessianPHP 传输数据失败
    (研发系)职业化7个细节
    5·12和6·17两知名网站域名被劫持事件实施过程回放
  • 原文地址:https://www.cnblogs.com/pangting/p/7027492.html
Copyright © 2020-2023  润新知