首页 > 代码库 > 被拒--悲剧之ORA-01017: invalid username/password; logon denied 错误

被拒--悲剧之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)\Oracle\odac_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已在眼前。

        

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