oracle密碼過期ORA-28002: 7天之後口令將過期的解決方法
今天福州大學的合作伙伴說我們數據庫的登錄密碼過期。他們現在平臺無法登錄。希望得到解決。
登陸oracle數據庫時錯誤信息提示:“ORA-28002: 7 天之後口令將過期”。
原因:oracle11g中默認在default概要文件中設置了"PASSWORD_LIFE_TIME=180”所導致,oracle用戶的密碼必須在180天內更改,或則啓動數據庫的時候會提示連接失敗.
oracle 密碼過期的解決方法,按照如下步驟進行操作:
1、查看用戶的proifle是哪個,一般是default:
sql>SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密碼有效期設置:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
(如果這樣寫有可能提示“你未選中行”,其實這樣就行了
SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME';
我的就是這樣)
3、將密碼有效期由默認的180天修改成“無限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
如需更改爲有限制的,如60天:
SQL>alter profile default limit PASSWORD_LIFE_TIME 60 ;
修改之後不需要重啓動數據庫,會立即生效。
另外的思路
查看用戶所屬的 profile ,一般爲DEFAULT
SQL>select * from dba_profiles where resource_type='PASSWORD';
取消密碼管理:
SQL>alter profile DEFAULT limit unlimited;
如:
SQL>alter profile DEFAULT limit password_reuse_time unlimited;
停止密碼檢驗函數:
SQL>alter profile DEFAULT limit password_verify_function null;
創建 用戶 專用 profile:
CREATE PROFILE test LIMIT
SESSIONS_PER_USER UNLIMITED
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL 3000
CONNECT_TIME 45
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL 1000
PRIVATE_SGA 15K
COMPOSITE_LIMIT 5000000;
如需更改:
SQL>alter profile test limit PASSWORD_LIFE_TIME 60 ;
更改用戶profile
///////////////////
怎麼修改oracle用戶密碼
在以SYSDBA身份登陸時可以修改其他用戶的密碼,比如: SQL> alter user user01 identified by user10; 用戶已更改。 這個是把USER01用戶密碼修改爲USER10