Oracle不加AS SYSADMIN登录报ORA-01017错误解决方案
Oracle登录ORA-01017问题排查与DataGrip连接配置方案
现象复现
在SQL Plus环境登录Oracle数据库时存在两种表现:
- 用户名按
UserName AS SYSADMIN格式输入,提交对应密码后可正常完成登录 - 仅输入
UserName作为用户名时,系统返回错误:
ORA-01017: invalid username/password; logon denied
需要实现仅输入用户名即可正常登录的效果,完成JetBrains DataGrip的数据库连接配置。
原因说明
携带AS SYSADMIN后缀登录时,实际是请求以系统特权身份建立连接,若当前操作系统用户属于Oracle的dba权限组,会自动走操作系统认证通道,不需要校验数据库内存储的用户密码即可登录。
不带后缀的普通连接走数据库原生账号密码校验逻辑,报ORA-01017说明当前输入的账号密码和数据库内存储的凭证不匹配。
解决方法
方法1:直接适配DataGrip特权连接(无需修改数据库配置)
不需要调整数据库侧设置,直接在DataGrip连接配置中对齐SQL Plus的特权登录逻辑即可:
- 新建Oracle连接,在常规配置页填入用户名、密码、连接地址、服务名
- 切换到「高级」配置标签,找到参数
internal_logon,将参数值设置为SYSADMIN - 点击测试连接,验证通过后保存配置即可正常使用。
方法2:修复普通登录凭证(实现无后缀用户名登录)
如果需要不带AS SYSADMIN也能通过用户名密码直接登录,按以下步骤重置账号凭证:
- 打开SQL Plus,以
UserName AS SYSADMIN的方式登录数据库 - 执行SQL命令重置对应用户的密码:
ALTER USER 你的用户名 IDENTIFIED BY "新的登录密码";
- 退出当前SQL Plus会话,重新打开SQL Plus仅输入用户名和刚设置的新密码,确认可以正常登录即可。
- 后续在DataGrip中直接填入用户名、新密码,不需要配置额外参数就能正常连接。
注意:Oracle 11g及以上版本默认密码大小写敏感,重置密码和后续登录输入时注意区分大小写。
内容的提问来源于stack exchange,提问作者Guilder
相关产品推荐
相关产品推荐

