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

相关推荐
小陈工6 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
科技小花10 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸10 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain10 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希11 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神11 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员11 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java11 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿11 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb