若是已通过期了,首先须要修改密码,而后设置密码为无限期。修改以sys用户登录。数据库
修改密码:alter user username identified by password 密码能够和以前的密码相同也能够不一样。app
修改数据库密码为无限期:ide
Oracle的密码过时规则是用Profile来管理的,系统默认只有一个Profile(DEFAULT),该profile的密码过时规则为180天。当超出这个时间时,密码就会过时,数据库不能链接。Oracle11g启动参数resource_limit不管设置为false仍是true,密码有效期都是生效的。spa
有两种处理方式:code
1、直接修改用户对应的Profile的密码ip
一、查看用户的proifle是哪一个,通常是default:
select username,PROFILE FROM dba_users;
二、查看指定概要文件(如default)的密码有效期设置:
select * FROM dba_profiles s Where s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
三、将密码有效期由默认的180天修改为“无限制”:
alter PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改以后不须要重启动数据库,会当即生效。 it
2、新建一个Profile文件,设置其密码,并设置其为当前用户的Profile文件io
一、新建profile "PASSWD_UNLIMIT",规则与DEFAULT一致(由于一个profile中包含不少的项目,咱们此时只想修改过时规则,其余的不变)
二、修改profile "PASSWD_UNLIMIT",修改过时规则为UNLIMITED
三、将'MESSERIES'用户适用新的profile "PASSWD_UNLIMIT"date
1: SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
2: SELECT * FROM dba_profiles s ;
3: --查看用户profile
4: select username, user_id, account_status,expiry_date, profile from dba_users where username = username;
5: --1. 建立新的profile(PASSWD_UNLIMIT)复制DEFAULT的Script
6: CREATE PROFILE "PASSWD_UNLIMIT" LIMIT
7: SESSIONS_PER_USER UNLIMITED
8: CPU_PER_SESSION UNLIMITED
9: CPU_PER_CALL UNLIMITED
10: CONNECT_TIME UNLIMITED
11: IDLE_TIME UNLIMITED
12: LOGICAL_READS_PER_SESSION UNLIMITED
13: LOGICAL_READS_PER_CALL UNLIMITED
14: COMPOSITE_LIMIT UNLIMITED
15: PRIVATE_SGA UNLIMITED
16: FAILED_LOGIN_ATTEMPTS 10
17: PASSWORD_LIFE_TIME 180
18: PASSWORD_REUSE_TIME UNLIMITED
19: PASSWORD_REUSE_MAX UNLIMITED
20: PASSWORD_LOCK_TIME 1
21: PASSWORD_GRACE_TIME 7
22: PASSWORD_VERIFY_FUNCTION NULL;
23: SELECT * FROM dba_profiles;
24: --2. 修改新建的profile(PASSWD_UNLIMIT),密码过时为不过时
25: ALTER profile PASSWD_UNLIMIT limit PASSWORD_LIFE_TIME UNLIMITED;
26: --3. 修改用户的Profile为新的profile
27: alter user username profile PASSWD_UNLIMIT;