sqlplus / as sysdba登录数据库报错ora-01017解决办法

1.问题现象

sqlplus / as sysdba登录数据库报错ora-01017

2.问题排查解决过程

2.1 sqlplus sys/密码 as sysdba登录数据库,如果可以正常登录,只需要修改sqlnet.ora文件中的

SQLNET.AUTHENTICATION_SERVICES = (NTS)

2.2 如果忘记了管理员密码可以通过以下语句修改管理员默认密码

windows通过cmd窗口执行以下命令:

复制代码
orapwd file=D:\WINDOWS.X64_193000_db_home\database\PWDWMSDB.ora password=Passw0rd! entries=10 force=y

重启数据库后即可生效

3.理论知识补充

3.1.sqlplus有几种登陆方式

比如:

3.1.1C: > sqlplus "/as sysdba" --以操作系统权限认证的oracle sys管理员登陆

对应参数为REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE

3.1.2.C: > sqlplus /nolog --不在cmd或者terminal当中暴露密码的登陆方式 SQL> conn /as sysdba & SQL> conn sys/password as sysdba

3.1.3.C: > sqlplus scott/tiger --非管理员用户登陆

3.1.4.C: > sqlplus scott/tiger@orcl --非管理员用户使用tns别名登陆

3.1.5.C: > sqlplus sys/password@orcl as sysdba --管理员用户使用tns别名登陆

3.1.6.C: > sqlplus --不显露密码的登陆方式 Enter user-name:sys Enter password:password as sysdba --以sys用户登陆的话 必须要加上 as sysdba 子句

3.2 密码文件,是仅用来限制具有sysdba或者sysoper权限的用户以远程的方式连接数据库的密码校验文件。如果不存在密码文件或者密码文件丢失,那么以sysdba或者sysoper权限的用户将无法登陆并返回错误:ERROR:

ORA-01031: insufficient privileges

3.3 REMOTE_LOGIN_PASSWORDFILE参数是对密码文件使用的限定,下面就对REMOTE_LOGIN_PASSWORDFILE参数的各项参数进行探讨

REMOTE_LOGIN_PASSWORDFILE = NONE

当REMOTE_LOGIN_PASSWORDFILE参数为NONE时,密码文件被禁用,用户无法以管理员级别用户远程登录到数据库

REMOTE_LOGIN_PASSWORDFILE =EXCLUSIVE是默认值。

相关推荐
倔强的石头_21 小时前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab1 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence2 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神2 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据3 天前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_3 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡3 天前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧3 天前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon3 天前
SQL学习指南——视图
数据库·sql
活宝小娜3 天前
mysql详细安装教程
数据库·mysql·adb