一、、資料庫密碼使用期限一般是180天,過一段時間會出現密碼過期的狀況,,怎樣才能使得密碼永不過期
1、首先檢視使用者的profile是哪個,一般是default
SQL> SELECT username,PROFILE FROM dba_users;
USERNAME PROFILE
------------------------------ ------------------------------
OGG DEFAULT
GGTEST DEFAULT
GISDATA DEFAULT
DPAP DEFAULT
PDA DEFAULT
STV DEFAULT
STL DEFAULT
TFR DEFAULT
PKP DEFAULT
BSE DEFAULT
SQLSH 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;
Profile altered.
4、再次檢視密碼有效期
UNLIMITED
5、有的使用者名可能在修改前就過期了,需要重新更改一下代碼
[root@fossdb listener]# su - oracle
[oracle@fossdb ~]$ sqlplus / as sysdba
SQL>alter user pkp identified by pkp;密碼用原來的密碼就好
二、ORA:28000賬号被鎖定處理
2、檢視登入次數限制
SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='FAILED_LOGIN_ATTEMPTS';
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD
10
3、把嘗試登陸失敗次數由10次改為無限制
sql>ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
4、修改後,還沒有被提示ORA-28000警告的使用者不會再碰到同樣的提示;
已經被鎖定的帳戶必須解除鎖定,舉例如下:
$sqlplus / as sysdba
sql> alter user smsc identified by oracle account unlock;
5、修改後default profile應該如下:
sql> select * from dba_profiles WHERE dba_profiles.profile='DEFAULT';
PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT
------------------------------ -------------------------------- ------------- ----------------------
DEFAULT FAILED_LOGIN_ATTEMPTS PASSWORD UNLIMITED
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
修改之後不需要重新開機動資料庫,會立即生效。
如果出現ORA-28000 the account is locked.錯誤
alter user 使用者名 account unlock;
本文轉自aaa超超aaa 51CTO部落格,原文連結:http://blog.51cto.com/10983441/1770967