You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ORACLE_SID连接Oracle sys用户报ORA-01017错误的原因是什么

问题原因分析

两种连接方式走的认证逻辑完全不同,具体差异如下:

  • 不带@dev后缀的本地连接:属于操作系统认证模式,只要你当前执行sqlplus的操作系统用户属于Oracle的dba权限组(Linux/Unix对应dba组,Windows对应ORA_DBA组),Oracle会直接跳过密码校验逻辑,无论你输入的sys密码是否正确,都可以正常以sysdba身份登录,这就是你输入错误密码也能登录的原因。
  • 带@dev后缀的连接:只要加了TNS别名标识,无论是否在数据库本机执行,Oracle都会走TCP网络协议的监听连接流程,此时操作系统认证失效,必须校验存储在密码文件(orapw<实例名>)中的sys用户密码。你遇到的ORA-01017报错,本质原因是你输入的manager密码和密码文件中存储的sys密码不一致。

补充说明

你查询的sec_case_sensitive_logon参数仅控制普通用户的密码大小写敏感校验逻辑,对sysdba身份的密码校验不生效,sys用户的网络连接密码校验完全以密码文件中的存储内容为准,该参数的配置不影响本次报错场景。

解决方案

如果需要修复网络连接的sys密码,可以直接重建密码文件,参考命令(Linux环境):

orapwd file=$ORACLE_HOME/dbs/orapwdev password=manager entries=10 force=y

执行后再次执行sqlplus sys/manager@dev as sysdba即可正常登录。

内容的提问来源于stack exchange,提问作者Kousik Mandal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:54:01