加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle 密码文件与用户密码的关系

发布时间:2020-12-12 15:31:50 所属栏目:百科 来源:网络整理
导读:今天一位同事接到一项任务是修改数据库SYS和SYSTEM用户的密码,老大在布置任务的时候还带了一句别忘了同步密码文件,于是想到了自己前几天写的一篇博客介绍Oracle密码文件的,当时只是写了如何创建密码文件,如何远程使用SYSDBA登录数据库做操作,但是并没有

今天一位同事接到一项任务是修改数据库SYS和SYSTEM用户的密码,老大在布置任务的时候还带了一句别忘了同步密码文件,于是想到了自己前几天写的一篇博客介绍Oracle密码文件的,当时只是写了如何创建密码文件,如何远程使用SYSDBA登录数据库做操作,但是并没有提到密码文件中用户的密码跟数据库中用户的密码是否有关系。

下面来测试一下,我用的平台是11.2.0.4

首先修改SYS的密码

sys@ORCL>alterusersysidentifiedbyzhaoxu;

Useraltered.
--由于11g里dba_user视图里的password是空值,所以选择user$视图
sys@ORCL>selectpasswordfromuser$wherename='SYS';

PASSWORD
------------------------------------------------------------------------------------------
C53B64BC84353309
--建议remote_login_passwordfile需要为EXCLUSIVE
sys@ORCL>showparameterremote_login_passwordfile

NAME				TYPE			VALUE
---------------------------------------------------------------------------------------------------
remote_login_passwordfile	string			EXCLUSIVE

创建一个密码文件然后测试远程登录

#创建一个与SYS用户密码相同的密码文件
[oracle@rhel6dbs]$cd$ORACLE_HOME/dbs
[oracle@rhel6dbs]$orapwdfile=orapworclentries=3password=zhaoxu
[oracle@rhel6dbs]$ls-lorapworcl
-rw-r-----1oracleoinstall1536Dec2621:32orapworcl
#测试连接成功
[c:~]$sqlplussys/zhaoxu@192.168.56.2/orclassysdba

SQL*Plus:Release12.1.0.1.0Productionon星期一12月2621:34:222016

Copyright(c)1982,2013,Oracle.Allrightsreserved.


连接到:
OracleDatabase11gEnterpriseEditionRelease11.2.0.4.0-64bitProduction
WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions

SQL>selectpasswordfromuser$wherename='SYS';

PASSWORD
------------------------------------------------------------
C53B64BC84353309
#密码的HASH值没有变化

#创建一个与SYS密码不同的密码文件
[oracle@rhel6dbs]$orapwdfile=orapworclentries=3password=luoxiforce=y
[oracle@rhel6dbs]$ls-lorapworcl
-rw-r-----1oracleoinstall1536Dec2621:36orapworcl
#测试连接,使用原密码文件的密码登录不成功,使用新密码文件的密码登录成功,但是SYS用户的密码HASH值仍没有变
[c:~]$sqlplussys/zhaoxu@192.168.56.2/orclassysdba

SQL*Plus:Release12.1.0.1.0Productionon星期一12月2621:36:202016

Copyright(c)1982,Oracle.Allrightsreserved.

ERROR:
ORA-01017:invalidusername/password;logondenied


[c:~]$sqlplussys/luoxi@192.168.56.2/orclassysdba

SQL*Plus:Release12.1.0.1.0Productionon星期一12月2621:36:302016

Copyright(c)1982,DataMiningandRealApplicationTestingoptions

SQL>selectpasswordfromuser$wherename='SYS';

PASSWORD
------------------------------------------------------------
C53B64BC84353309

测试直接修改SYS用户密码,查看密码文件会有什么变化

#修改SYS密码成功,密码HASH值与之前不同
sys@ORCL>alterusersysidentifiedbyoracle;

Useraltered.

sys@ORCL>selectpasswordfromuser$wherename='SYS';

PASSWORD
------------------------------------------------------------------------------------------
8A8F025737A9097A
#查看密码文件,在修改SYS密码时密码文件也有更新
[oracle@rhel6dbs]$ls-lorapworcl
-rw-r-----1oracleoinstall1536Dec2621:39orapworcl
#测试远程登录,使用luoxi密码已不能登录数据库,但修改的SYS密码可以登录数据库
[c:~]$sqlplussys/luoxi@192.168.56.2/orclassysdba

SQL*Plus:Release12.1.0.1.0Productionon星期一12月2621:41:502016

Copyright(c)1982,Oracle.Allrightsreserved.

ERROR:
ORA-01017:invalidusername/password;logondenied


[c:~]$sqlplussys/oracle@192.168.56.2/orclassysdba

SQL*Plus:Release12.1.0.1.0Productionon星期一12月2621:41:582016

Copyright(c)1982,DataMiningandRealApplicationTestingoptions

SQL>

总结一下:修改SYS密码时,会同时修改密码文件中的密码,保持一致;如果是手工创建的密码文件,密码文件中的密码可以与SYS密码相同也可以不同,都不影响远程登录。不过还是建议全SYS密码与密码文件中的密码一致,以免需要急用远程登录时密码反而不对,造成维护上的问题。

查询MOS上也有相关的文档:Password or SYS Doesn't Match the Hash Value in USER$ (文档 ID 2139304.1)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读