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

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

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

       找出悲剧原因的历程:

1 看username和password是否正确,经检查后,没有问题。

提示:假设你使用的是IDE开发工具进行连接的数据库,不要忽视空格检查。假设系统用户能够登录,能够登录后查看用户是否存在,password是看不到的:“select username from dba_users;”。

假设用户存在,改动一下password试试:“alter user username identified by password;”。可能是自己password记错了呢,自己都不知道。

偷笑

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

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


       client为了远程连接server,必须先和server上的监听进程联络,Oracle通过tnsnames.ora文件里的连接描写叙述符来说明连接信息。

名词解释:

ORCL248:连接描写叙述符

address_list:表示client经由多种协议与一台或多台server连接。

在上面的样例中表示client使用TCP协议与server端连接。

PROTOCOL:使用的协议

HOST :是TCP/IP协议使用的serverIP地址。
PORT :是TCP/IP使用的port地址。

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

SERVER=DEDICATED: 表示用专用server连接oracle数据库

SERVICE_NAME:server服务名称

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已在眼前。

        

原文地址:https://www.cnblogs.com/mfrbuaa/p/5201240.html