[問題描述]
當使用者出現提示密碼將要到期的錯誤ORA-28002時如何處理?
CIE68:~ # su - Oracle
oracle@CIE68:~> system/Atae1234
SQL*Plus: Release 11.1.0.6.0 - Production on Tue Jan 19 15:15:50 2010
Copyright (c) 1982, 2007, Oracle. All rights reserved.
ERROR:
ORA-28002: the password will expire within 302 days
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options
[問題處理]
因為設定了密碼到期時間,所以才會有密碼到期提醒,如何查看和修改密碼到期無限制呢?
步驟 1 登陸資料庫,查看使用者的proifle檔案名稱,一般是default:
執行如下操作:
SQL> SELECT username,PROFILE FROM dba_users where USERNAME='OMSMODEL';
USERNAME PROFILE
------------------------------ ------------------------------
OMSMODEL DEFAULT
步驟 2查看指定概要檔案(如default)的密碼有效期間設定:
SQL> select LIMIT from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
LIMIT
----------------------------------------
180
步驟 3將密碼有效期間由預設的180天修改成“無限制”:
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Profile altered.
SQL> select LIMIT from dba_profiles s where s.profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
LIMIT
----------------------------------------
UNLIMITED
步驟 4修改後,還沒有被提示ORA-28002警告的使用者不會再碰到同樣的提示;已經被提示的使用者必須再改一次密碼,舉例如下:
SQL> alter user <user> identified by <original_password>
----註:不用換新密碼
Example:
SQL> alter user system identified by Atae12345;
User altered.
注: 如果像上面問題描述中顯示資訊,使用者已經出現了 ORA-28002警告,在修改了使用者密碼為UNLIMITED之後,必須執行第四步,重新修改一下使用者密碼(密碼可以保留與原來相同),否則仍然報:ORA-28002警告;
ORA-28002密碼將在7天后到期