引用自:https://www.cnblogs.com/abclife/p/5397969.html
Oracle數據庫用戶的狀態爲Expired,此時,該用戶是不能訪問使用數據庫的。處理思路是,將該用戶的密碼進行重置,爲了確保外部應用腳本能正常使用數據庫,該用戶的重置密碼要與原始密碼相同,但是,多數情況下,我們並不記得原始密碼。
處理方法:
1. SQL> select user#,name,password,astatus from user$ where name ='TEST';
USER# NAME PASSWORD ASTATUS
---------- ------------------------------ ------------------------------ ----------
83 TEST A894844C342502B11 1
2.SQL>alter user test identified by values 'A894844C342502B11';
該用戶的狀態即恢復爲正常open狀態。(Oracle11g親測成功!)
SQL> select * from user_astatus_map;
STATUS# STATUS
---------- --------------------------------
0 OPEN
1 EXPIRED
2 EXPIRED(GRACE)
4 LOCKED(TIMED)
8 LOCKED
5 EXPIRED & LOCKED(TIMED)
6 EXPIRED(GRACE) & LOCKED(TIMED)
9 EXPIRED & LOCKED
10 EXPIRED(GRACE) & LOCKED
9 rows selected.
另外一種方法:直接修改表user$的字段ASTATUS爲0,這樣用戶就變成open狀態了。