ORACLE數據庫用戶鎖定及解鎖


ORACLE數據庫用戶鎖定及解鎖


相關錯誤:ORA-28000: the account is locked


錯誤解析:帳號被鎖定


錯誤原因:在oracle11g中,默認在default概要文件中設置了FAILED_LOGIN_ATTEMPTS=10,當輸入密碼錯誤次數達到設置值將導致此問題。


解決方法:


1.確認用戶所使用的概要文件:


sys@COREDB>select username,profile from dba_users;


USERNAME                       PROFILE
------------------------------ ------------------------------
SENDER                         DEFAULT
OGG                            DEFAULT
CMS                            DEFAULT
MYCOMM                         DEFAULT
CARCTRL                        DEFAULT
DP                             DEFAULT
ORACLE_OCM                     DEFAULT
XS$NULL                        DEFAULT
MDDATA                         DEFAULT
DIP                            DEFAULT
APEX_PUBLIC_USER               DEFAULT
SPATIAL_CSW_ADMIN_USR          DEFAULT
SPATIAL_WFS_ADMIN_USR          DEFAULT
DBSNMP                         DEFAULT
FLOWS_FILES                    DEFAULT
MDSYS                          DEFAULT
ORDSYS                         DEFAULT
EXFSYS                         DEFAULT
WMSYS                          DEFAULT
APPQOSSYS                      DEFAULT
APEX_030200                    DEFAULT
OWBSYS_AUDIT                   DEFAULT
ORDDATA                        DEFAULT
CTXSYS                         DEFAULT
ANONYMOUS                      DEFAULT
XDB                            DEFAULT
ORDPLUGINS                     DEFAULT
OWBSYS                         DEFAULT
SI_INFORMTN_SCHEMA             DEFAULT
OLAPSYS                        DEFAULT
SYS                            DEFAULT
SYSTEM                         DEFAULT
OUTLN                          DEFAULT


33 rows selected.


這說明使用的都是默認的概要文件。


2.查看概要文件中有關登錄次數的限制:


sys@COREDB>select * from dba_profiles where profile='DEFAULT' and resource_name='FAILED_LOGIN_ATTEMPTS';


PROFILE                        RESOURCE_NAME                    RESOURCE LIMIT
------------------------------ -------------------------------- -------- ----------------------------------------
DEFAULT                        FAILED_LOGIN_ATTEMPTS            PASSWORD 10


3.如果嘗試登錄次數限制為10次,將嘗試登錄次數的限制修改為不受限:


sys@COREDB>alter profile default limit failed_login_attempts unlimited;


Profile altered.


4.查看被鎖定用戶:


sys@COREDB>select username,account_status from dba_users where not account_status = 'OPEN';


USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
SPATIAL_WFS_ADMIN_USR          EXPIRED & LOCKED
SPATIAL_CSW_ADMIN_USR          EXPIRED & LOCKED
APEX_PUBLIC_USER               EXPIRED & LOCKED
DIP                            EXPIRED & LOCKED
MDDATA                         EXPIRED & LOCKED
XS$NULL                        EXPIRED & LOCKED
ORACLE_OCM                     EXPIRED & LOCKED
OLAPSYS                        EXPIRED & LOCKED
SI_INFORMTN_SCHEMA             EXPIRED & LOCKED
OWBSYS                         EXPIRED & LOCKED
ORDPLUGINS                     EXPIRED & LOCKED
XDB                            EXPIRED & LOCKED
ANONYMOUS                      EXPIRED & LOCKED
CTXSYS                         EXPIRED & LOCKED
ORDDATA                        EXPIRED & LOCKED
OWBSYS_AUDIT                   EXPIRED & LOCKED
APEX_030200                    EXPIRED & LOCKED
APPQOSSYS                      EXPIRED & LOCKED
WMSYS                          EXPIRED & LOCKED
DBSNMP                         LOCKED(TIMED)
EXFSYS                         EXPIRED & LOCKED
ORDSYS                         EXPIRED & LOCKED
MDSYS                          EXPIRED & LOCKED
FLOWS_FILES                    EXPIRED & LOCKED
SYSTEM                         LOCKED(TIMED)
OUTLN                          EXPIRED & LOCKED


26 rows selected.


EXPIRED & LOCKED   口令到期並鎖定
LOCKED(TIMED)      密碼錯誤次數超過了系統設置的允許最大次數,用戶被鎖定


5.給指定用戶解鎖:


sys@COREDB>alter user system account unlock;


User altered.

 

 

1、通常我們遇到oracle用戶密碼輸入多次錯誤,那么改用戶就會變鎖定,那么解決方法很簡單,如下:

使用plsql工具sys用戶登錄(亦可dos命令輸入:sqlplus / as sysdba ) 解鎖

ALTER USER 用戶名 ACCOUNT UNLOCK;

2、那么遇到這種用戶會被鎖的情況,我們可以設置用戶密碼無限次嘗試登錄,而該用戶不會被鎖定:

ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

3、另外,做項目運維的小伙伴經常遇到數據庫用戶密碼過期的情況,要定期去修改密碼很麻煩,那么我們可以設置用戶密碼不過期:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM