ORACLE 如何修改单个用户密码永不过期

      Oracle的密码过期规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),该profile的密码过期规则为180天;而所有的用户都使用该DEFAULT的profile,所以如果修改DEFAULT的过期规则会影响所有的用户。如果你想修改某个用户的密码让其永不过期,则需要新建一个profile,修改该profile的过期规则为无限期,这样该用户的过期规则会改变,并且不会影响到其他用户。

1、首先查看用户的proifle是哪个,一般是default:

sql>SELECT username,PROFILE FROM dba_users;

USERNAME                       PROFILE
------------------------------ ------------------------------
SCOTT                          DEFAULT
EXFSYS                         DEFAULT
ORDSYS                         DEFAULT
MDSYS                          DEFAULT
FLOWS_FILES                    DEFAULT
OMUADM                         DEFAULT
SYSTEM                         DEFAULT
SYS                            DEFAULT
VPXADMIN                       DEFAULT

2、查看指定概要文件(如default)的密码有效期设置:

sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

PROFILE                        RESOURCE_NAME                    RESOURCE
------------------------------ -------------------------------- --------
LIMIT
----------------------------------------
DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD
180

3、如果在这里将密码有效期由默认的180天修改成“无限制”,则影响的是所有用户:

sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改之后不需要重启动数据库,会立即生效。

注意:修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;

已经被提示的帐户必须再改一次密码,例如

$sqlplus / as sysdba
sql> alter user vpxadmin  identified by <原来的密码> ----不用换新密码

那么如果你要为某个用户设置密码永不过期,可以这样来做。比如修改vpxadmin用户的密码过期规则为无限期UNLIMITED,只需要三个步骤:

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

2. 修改profile “VPXADMIN_UNLIMIT”,修改过期规则为UNLIMITED

3. 将’VPXADMIN’用户适用新的profile “PASSWD_UNLIMIT”

1. 创建新的profile(VPXADMIN_UNLIMIT)复制DEFAULT的Script
CREATE PROFILE "VPXADMIN_UNLIMIT" 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_ATTEMPTS 10
 PASSWORD_LIFE_TIME 180
 PASSWORD_REUSE_TIME UNLIMITED
 PASSWORD_REUSE_MAX UNLIMITED
 PASSWORD_LOCK_TIME 1
 PASSWORD_GRACE_TIME 7
 PASSWORD_VERIFY_FUNCTION NULL;

然后查看下

SELECT  profile FROM dba_profiles;PROFILE
------------------------------
DEFAULT
VPXADMIN_UNLIMIT

已创建成功。

–2. 修改新建的profile(VPXADMIN_UNLIMIT),密码过期为不过期
ALTER profile VPXADMIN_UNLIMIT limit PASSWORD_LIFE_TIME UNLIMITED;
–3. 修改用户的Profile为新的profile
alter user VPXADMIN  profile VPXADMIN_UNLIMIT;

再验证一下,果然就可以了!

给TA买糖
共{{data.count}}人
人已赞赏
ORACLE

Oracle 数字格式化

2020-5-27 13:32:27

ORACLE

PLSQL 中如何使用 dbms_output 输出结果

2020-5-28 13:04:20

⚠️
Golurending上的部份代码及教程来源于互联网,仅供网友学习交流,未经Golurending作者或上传书面授权,请勿作他用。
若您的权利被侵害,请联系站长 邮箱codesns#163.com(#-@) 或 点击右侧 私信:管理员 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索