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是默认值。

相关推荐
꯭自꯭闭꯭7 分钟前
达梦SQL优化相关
linux·运维·数据库·sql
对空六课35 分钟前
支持注意力分析的热力图工具有哪些?
前端·数据库·数据分析
南京码讯光电技术有限公司1 小时前
How to Design an Antenna System for an Industrial WiFi Module
数据库·人工智能
lusklusklusk2 小时前
Oracle数据库基础之2_体系结构
数据库·oracle
可乐ea2 小时前
从第一性原理构建 AI Agent:提示词、工具、技能与记忆全解剖
数据库·人工智能·工具调用·ai智能体·提示词工程·agent开发·智能体记忆
东方护航数据恢复(深圳)3 小时前
医疗案例:HIS/PACS 数据库页损坏修复,医院不停诊完成恢复【东方护航数据恢复深圳店】
数据库·数据恢复·医疗·二次开盘
lusklusklusk4 小时前
Oracle数据库基础之11_Duplicate和Dataguard和RAC
数据库·oracle
PHP实战开发录5 小时前
MySQL字段加索引为什么没变快
数据库·mysql·php·开发
红红谈说6 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
Shadow(⊙o⊙)6 小时前
MySQL索引
数据库·mysql