(1)在CMD命令窗口中輸入:
sqlplus 用戶名/密碼@數據庫本地服務名
as
sysdba;(如:sqlplus scott/1234@oracle1
as
sysdba;)
|

1
2
3
|
(2)查看用戶的proifle是哪個,一般是
default
:
sql>SELECT username,PROFILE FROM dba_users;
|

1
2
3
|
(3)查看對應的概要文件(如
default
)的密碼有效期設置:
sql>SELECT * FROM dba_profiles s WHERE s.profile=
'DEFAULT'
AND resource_name=
'PASSWORD_LIFE_TIME'
;
|

1
2
3
4
5
|
(4)將概要文件(如
default
)的密碼有效期由默認的180天修改成“無限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重啟動數據庫,會立即生效。
|

1
2
3
4
5
6
7
|
(5)修改后,還沒有被提示ORA-28002警告的用戶賬號不會再碰到同樣的提示;而已經被提示的用戶賬號必須再改一次密碼,舉例如下:
$sqlplus /
as
sysdba
sql>alter user 用戶名 identified
by
<原來的密碼> account unlock; ----不用換新密碼
樣例: alter sys as sysdba identified by abcABC;
注意:oracle11g啟動參數resource_limit無論設置為
false
還是
true
,密碼有效期都是生效的,所以必須通過以上方式進行修改。
執行完后,發現還是無法連接數據庫,這時候需要
conn test; //test 是數據庫名
它會提示輸入口令 輸入原來的口令就好。
輸入后,它提示更改口令,就把原來的口令輸入就可以了;
|