更改SYS密码,expiry_date 过期时间 没有更新,普通用户更改密码会更新

问题描述:

在oracle 12.2.0.1 版本中 PUS 已打到201901月, 此时数据库有多个帐号过期,通过 alter user  xx  identified by xxx ; 方式更改,延长数据库帐号的过期时间,但是,无论怎么更改sys的密码,包括更新profile ,sys的过期时间没有任何延长或变化。而查看Sys.user $ 的PTIME,即密码更新日期也没有变化。​

适用于:

Oracle数据库 - 企业版 - 12.2.0.1及更高版本
本文档中的信息适用于任何平台。

目标

应用JULY2018 PSU后,我们注意到SYS用户的EXPIRY_DATE没有更新。

更改除SYS之外的模式密码后,所有其他用户expiry_date都会更新。如果补丁被回滚,则SYS密码会更新。

 

select USERNAME, EXPIRY_DATE from DBA_USERS where username in ('SYSTEM', 'SYS);
 
USERNAME EXPIRY_DATE
------------------------------
SYS 23-JAN-19
SYSTEM 23-JAN-19
 
ALTER USER SYSTEM IDENTIFIED BY "XXXXXXXXXXXXXX";
 
USERNAME EXPIRY_DATE
------------------------------
SYS 23-JAN-19
SYSTEM 25-MAR-19
 
 
ALTER USER SYS IDENTIFIED BY "XXXXXXXXXXXXXX";
 
USERNAME EXPIRY_DATE
------------------------------
SYS 23-JAN-19 <===== DID NOT UPDATE
SYSTEM 25-MAR-19
 
-- Rollback JULY2018 RU (including datapatch -verbose) --
 
ALTER USER SYS IDENTIFIED BY "XXXXXXXXXXXXXX";
 
USERNAME EXPIRY_DATE
------------------------------
SYS 25-MAR-19 <===== IT WORKED!!!
SYSTEM 25-MAR-19

 

 

错误28674210 - 应用12.2.0.1.180717PSU后EXPTIME / PTIME NOT UPDATED CHANGING SYSPASSWORD 

以上错误已作为以下

错误的副本关闭错误28538439:在应用7月PSU后未获得更新的PTIME 

解决方案是应用Bug补丁28538439然后设置隐藏参数。(在init.ora中设置,然后重新启动数据库)


alter system set "_enable_ptime_update_for_sys"=true scope=spfile;
shutdown immediate;
startup;
 
select expiry_date from dba_users where username = 'SYS';
select ptime, exptime from sys.user$ where name = 'SYS';
 
alter user sys identified by "";
 
select expiry_date from dba_users where username = 'SYS';
select ptime, exptime from sys.user$ where name = 'SYS';

 


*注意:如果你不应用补丁,在设置隐藏参数时会出现错误:
ORA-02065:ALTER SYSTEM的非法选项
 

 

参考

BUG:28674210 - 应用后的EXPTIME / PTIME NOT UPDATED CHANGING SYSPASSWORD 12.2.0.1.180717PSU 
BUG:28538439 - 在应用7月PSU后未进行更新的系统的PTIME

  参考文档:(文档 ID 2491975.1)
上一篇:js 对html 选择框等一些纪要


下一篇:健身管理系统【登录页,首页】