12c 用户密码已经过期,不修改密码的情况下使其永远使用下去

2 篇文章 0 订阅
DBA运维数据库时偶尔会接到这样的电话:某某应用连接不了数据库了,提示密码过期。创建数据库的时候通常会为应用程序的用户创建一套profile,避免default profile总的各种限制。 随着业务的增多难免出现遗漏,有个别业务用户并没有采用量身定做的profile。

下面来看一个案例
用户密码已经过期,不修改密码的情况下使其永远使用下去
1.  切换pdb数据库,查看用户的profile文件
[oracle@snow ~]$ sqlplus / as sysdba
SYS@cdb > show pdbs;

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO

SYS@cdb > alter session set container=pdb1;

SYS@cdb > col profile for a20
SYS@cdb > select username,profile from dba_users where username='BAYMAX';

USERNAME PROFILE
---------- --------------------
BAYMAX DEFAULT

用户的密码使用期限为180天

SYS@cdb > col common for a20
SYS@cdb > col limit for a20
SYS@cdb > select * from dba_profiles where profile='DEFAULT';

PROFILE RESOURCE_NAME RESOURCE LIMIT COMMON
-------------------- -------------------------------- -------- -------------------- --------------------
DEFAULT COMPOSITE_LIMIT KERNEL UNLIMITED NO
DEFAULT SESSIONS_PER_USER KERNEL UNLIMITED NO
DEFAULT CPU_PER_SESSION KERNEL UNLIMITED NO
DEFAULT CPU_PER_CALL KERNEL UNLIMITED NO
DEFAULT LOGICAL_READS_PER_SESSION KERNEL UNLIMITED NO
DEFAULT LOGICAL_READS_PER_CALL KERNEL UNLIMITED NO
DEFAULT IDLE_TIME KERNEL UNLIMITED NO
DEFAULT CONNECT_TIME KERNEL UNLIMITED NO
DEFAULT PRIVATE_SGA KERNEL UNLIMITED NO
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD 10 NO
DEFAULT  PASSWORD_LIFE_TIME  PASSWORD  180  NO

PROFILE RESOURCE_NAME RESOURCE LIMIT COMMON
-------------------- -------------------------------- -------- -------------------- --------------------
DEFAULT  PASSWORD_REUSE_TIME  PASSWORD UNLIMITED NO
DEFAULT  PASSWORD_REUSE_MAX  PASSWORD UNLIMITED NO
DEFAULT PASSWORD_VERIFY_FUNCTION PASSWORD NULL NO
DEFAULT PASSWORD_LOCK_TIME PASSWORD 1 NO
DEFAULT PASSWORD_GRACE_TIME PASSWORD 7 NO

2.  为用户baymax创建一个临时的profile文件。其中password_reuse_max可以接触重用旧密码的限制。

SYS@cdb > create profile baymax_profile limit
password_reuse_max unlimited
password_reuse_time unlimited;

3.  将临时profile文件分配给baymax用户

SYS@cdb > alter user baymax profile baymax_profile;

4.  通过user$查看加密后的密码,这一步可以使我不知道旧密码也可以应用之。

SYS@cdb > select password from user$ where name='BAYMAX';

PASSWORD
------------------------------
6542473DDCA6AEBE

5.  设置baymax的密码为之前的密码,注意关键字values

SYS@cdb > alter user baymax identified by values '6542473DDCA6AEBE';

6.  还原用户之前的profile

SYS@cdb > alter user baymax profile default;

全文完
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值