ITPub博客

首页 > 数据库 > Oracle > Oracle 如何恢复sys用户历史密码

Oracle 如何恢复sys用户历史密码

原创 Oracle 作者:chenoracle 时间:2021-10-26 22:13:10 0 删除 编辑

问题:

新接手的Oracle数据库不知道sys用户密码,
虽然可以本地操作系统验证方式登录数据库,
但是指不定什么时候会用到sys密码,比如用sys用户远程登录数据库等场景。
然而数据库用户密码也不能随便更改,
即使各个应用系统连接数据库都是指定业务用户,没有使用sys用户,
但是也不能完全肯定没有其他什么系统在连接sys用户,
所以就算更改了sys密码,也要有方法可以快速恢复sys用户的历史密码。

方法:

常见的方法一般有两种。

一:在11g以前dba_users还记录用户密码的密文信息。

在修改sys或其他用户密码前,先将用户密码的密文信息查出来。
select username,password from dba_users;
还原密码操作如下,比重置密码多了一个values关键字。
alter user username identified by values 'hash密码值';
此种方法在11g时,dba_users已经不记录password了,但是可以在sys.user$里查到。
select user,password from sys.user$;
在12c开始又继续取消了user$有关password记录。

二:方法二适用于sysdba权限的用户,当然也包含sys用户

可以通过orapwd重置sys密码,重置前备份口令文件即可。
重置密码操作示例如下:
cp orapwchendb orapwchendb_20211026bak
orapwd file=orapwchendb entries=10 force=y  password=ChenJch#123
通过orapwd方式重置sys密码和使用alter user sys identified by '*****';方式相同,都可以达到重置密码的目的。
恢复sys原密码,只需要恢复原口令文件即可。

#####chenjuchao 20211026 22:10 #####


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29785807/viewspace-2839433/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle ACE、OCMU 用户组成员、Oracle 11g OCM、微信公众号"IT小Chen"

注册时间:2014-08-05

  • 博文量
    638
  • 访问量
    1584006