1. 程式人生 > >ORA-28002 Oracle口令過期

ORA-28002 Oracle口令過期

由於oracle11g中預設在default概要檔案中設定了“PASSWORD_LIFE_TIME=180天”,導致密碼過期,程式無法使用,業務程序會提示無法連線資料庫等字樣。下面我給大家詳細介紹一下,如何解決Oracle 11g 密碼過期的問題。

工具/原料

  • 電腦、Oracle11g

方法/步驟

  1. 首先Win鍵+R鍵,開啟執行視窗,輸入cmd 回車,

    如何處理Oracle 11g 密碼過期問題

  2. 開啟管理員視窗,如下圖所示:

    如何處理Oracle 11g 密碼過期問題

  3. 用資料庫system賬號登入:

    C:\Users\Administrator>sqlplus

     

    SQL*Plus: Release 11.1.0.7.0 - Production on 星期二 4月 23 11:57:57 2013

     

    Copyright (c) 1982, 2008, Oracle.  All rights reserved.

     

    請輸入使用者名稱:  system

    輸入口令:

    ERROR:

    ORA-28002: the password will expire within 7 days

  4. 連線到:

    Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production

    With the Partitioning, OLAP, Data Mining and Real Application Testing options

     

    ◆檢視使用者的proifle是哪個,一般是default(這個步驟僅用於檢查,可以不要):

     

    SQL> SELECT username,PROFILE FROM dba_users;

  5. ◆檢查密碼的有效期是否為預設的180天(這個步驟僅用於檢查,可以不要):

     

    SQL> SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

     

    PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT

    ------------------------------ -------------------------------- -------- ----------------------------------------

    DEFAULT                        PASSWORD_LIFE_TIME               PASSWORD 180

    如何處理Oracle 11g 密碼過期問題

  6. 將密碼有效期由預設的180天修改成“無限制”:

     

    SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

    如何處理Oracle 11g 密碼過期問題

    如何處理Oracle 11g 密碼過期問題

  7. 檢查密碼的有效期是否為預設的180天:

     

    SQL> SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

    完成修改

    如何處理Oracle 11g 密碼過期問題

 

1: 已經被提示的“口令過期”的帳戶必須再改一次密碼,舉例如下:
  $sqlplus / as sysdba
  sql> alter user 使用者名稱 identified by  密碼    <原來的密碼> ----不用換新密碼

以上的帳戶名請根據實際使用的帳戶名更改。

 

問題2:oracle資料庫使用者被鎖定的處理:
使用oracle使用者登入系統,執行如下步驟:
1:$ sqlplus /nolog

2:SQL> connect /as sysdba     如果此句不行,則使用 connect system/密碼;(此句根據具體情況使用使用者名稱、密碼和資料庫名稱<sid名稱>)
    Connected.
3:SQL> alter user system(使用者名稱) account unlock;