设置oracle密码使用期限,oracle修改用户密码过期时间

Oracle默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”,导致密码过期,程序无法使用,业务进程会提示无法连接数据库等字样。

--查询默认密码过期时间

SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

bb6a4bfc4172b42a531b3b015fd175af.png

密码过期规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),通过下面语句可查看到几乎所有的用户都使用该DEFAULT的profile,所以如果修改DEFAULT的过期规则会影响所有的用户。

--查询系统用户所使用的proifle

SELECT username,PROFILE FROM dba_users;

35a7e313d40333446bb67be78c52604b.png

所以,修改分为两种:

1. 修改所有用户的密码永不过期

--修改所有用户的密码过期时间为无限制

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改之后会立即生效,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示,已经被提示的帐户必须再改一次密码。

--再修改一次密码

alter user scott identified by 1234; --1234为scott用户原来的密码

2. 修改某个用户密码永不过期

需要三步:

1. 新建profile "TOOL_UNLIMITED",规则与DEFAULT一致(因为一个profile中包含很多的项目,我们此时只修改过期规则,其他的不变)

--创建新的profile(TOOL_UNLIMITED)复制DEFAULT的Script

CREATEPROFILE "TOOL_UNLIMITED" LIMIT

SESSIONS_PER_USER UNLIMITED

CPU_PER_SESSION UNLIMITED

CPU_PER_CALL UNLIMITED

CONNECT_TIME UNLIMITED

IDLE_TIME UNLIMITED

LOGICAL_READS_PER_SESSION UNLIMITED

LOGICAL_READS_PER_CALL UNLIMITED

COMPOSITE_LIMIT UNLIMITED

PRIVATE_SGA UNLIMITED

FAILED_LOGIN_ATTEMPTS10PASSWORD_LIFE_TIME180PASSWORD_REUSE_TIME UNLIMITED

PASSWORD_REUSE_MAX UNLIMITED

PASSWORD_LOCK_TIME1PASSWORD_GRACE_TIME7PASSWORD_VERIFY_FUNCTIONNULL;

2. 修改profile "TOOL_UNLIMITED",修改过期规则为UNLIMITED

--修改新建的profile(TOOL_UNLIMITED),密码过期为不过期

ALTER profile TOOL_UNLIMITED limit PASSWORD_LIFE_TIME UNLIMITED;

3. 将'TOOL'用户适用新的profile "TOOL_UNLIMITED"

--修改用户的Profile为新的profile

alter user TOOL profile TOOL_UNLIMITED;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值