若是已通過期了,首先須要修改密碼,而後設置密碼爲無限期。修改以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;