사용자 도구

사이트 도구


dbms:oracle:oerr:ora28000

ORA-28000 ACCOUNT IS LOCK

정의

  1. CREATE PROFILE 명령을 사용하여 로그인을 시도할 경우에 허용된 실패횟수를 지정할 수 있을 뿐 아니라
    유저 계정이 잠금상태로 남아 있게 되는 시간도 지정할 수 있음!

ACCOUNT LOCK의 확인 및 조치

  1. 접속시에 일정 회수 이상 실패한 후 CONNECT를 시도하면 ORA-28000: the account is locked 의 ERROR
    SELECT USERNAME,ACCOUNT_STATUS,TO_CHAR(LOCK_DATE,'YYYY.MM.DD HH24:MI') LOCK_DATE          
    FROM DBA_USERS;
    USERNAME                       ACCOUNT_STATUS                   LOCK_DATE
    ------------------------------ -------------------------------- ----------------
    SCOTT                          OPEN
    CTXSYS                         EXPIRED & LOCKED                 2008.09.26 11:09
    TESTDBA                        LOCKED(TIMED)                    2008.10.15 10:56
    SCOTT                          EXPIRED & LOCKED                 2008.09.26 11:09
  2. SCOTT 의 LOCK 상태를 해제한다.
     ALTER USER SCOTT ACCOUNT UNLOCK; 
  3. 상태를 확인한다.
    SELECT USERNAME,ACCOUNT_STATUS,TO_CHAR(LOCK_DATE,'YYYY.MM.DD HH24:MI') LOCK_DATE
    FROM DBA_USERS
    WHERE USERNAME='SCOTT';
    USERNAME                       ACCOUNT_STATUS                   LOCK_DATE
    ------------------------------ -------------------------------- ----------------
    SCOTT                          EXPIRED
  4. SCOTT 계정의 암호를 설정하여 EXPIRED를 해제한다.
     ALTER USER SCOTT IDENTIFIED BY TIGER; 
    USERNAME                       ACCOUNT_STATUS                   LOCK_DATE
    ------------------------------ -------------------------------- ----------------
    SCOTT                          OPEN
  • 계정 잠금을 해제하기 위해서는 아래의 SQL을 수행하면 된다.
     ALTER USER user_id ACCOUNT UNLOCK;  

PROFILE

PROFILE 조회

  1. 사용자의 PROFILE 조회방법
    SET LINES 200
    SET pages 200
     
    SELECT U.USERNAME,P.PROFILE, P.RESOURCE_NAME, P.LIMIT
    FROM DBA_USERS U, DBA_PROFILES P
    WHERE P.PROFILE=U.PROFILE
    AND USERNAME='SCOTT';
  2. 계정별 FAILED_LOGIN_ATTEMPTS 조회

set lines 200 set pages 200

SELECT U.USERNAME,P.PROFILE, P.RESOURCE_NAME, P.LIMIT FROM DBA_USERS U, DBA_PROFILES P WHERE P.PROFILE=U.PROFILE AND RESOURCE_NAME='FAILED_LOGIN_ATTEMPTS'; </code>

PROFILE 변경

  1. DEFAULT 로 설정되어 있는 사용자의 FAILED_LOGIN_ATTEMPTS를 UNLIMITED 상태로 변경
    ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
  2. DEFAULT 로 설정되어 있는 사용자의 FAILED_LOGIN_ATTEMPTS를 5 로 변경
    5번 로그인 에러시 계정 잠금
    ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 5;

PROFILE을 통한 ACCOUNT 로그인 에러 횟수 조절

  1. SERVICE_PROFILE 이름의 PROFILE 생성
    EM 으로 생성하면 훨씬 편하고 직관적으로 생성할 수 있다.
    CREATE PROFILE "SERVICE_PROFILE" LIMIT CPU_PER_SESSION DEFAULT
    CPU_PER_CALL DEFAULT
    CONNECT_TIME UNLIMITED
    IDLE_TIME DEFAULT
    SESSIONS_PER_USER UNLIMITED
    LOGICAL_READS_PER_SESSION DEFAULT
    LOGICAL_READS_PER_CALL DEFAULT
    PRIVATE_SGA DEFAULT
    COMPOSITE_LIMIT DEFAULT
    PASSWORD_LIFE_TIME DEFAULT
    PASSWORD_GRACE_TIME DEFAULT
    PASSWORD_REUSE_MAX DEFAULT
    PASSWORD_REUSE_TIME DEFAULT
    PASSWORD_LOCK_TIME DEFAULT
    FAILED_LOGIN_ATTEMPTS UNLIMITED
    PASSWORD_VERIFY_FUNCTION DEFAULT
  2. SCOTT 계정에 SERVICE_PROFILE 을 적용한다.
     ALTER USER "SCOTT" PROFILE "SERVICE_PROFILE" 
  3. SCOTT 계정의 설정정보이다.
    USERNAME   PROFILE                        RESOURCE_NAME                    LIMIT
    ---------- ------------------------------ -------------------------------- -----------
    SCOTT      SERVICE_PROFILE                COMPOSITE_LIMIT                  DEFAULT
    SCOTT      SERVICE_PROFILE                SESSIONS_PER_USER                UNLIMITED
    SCOTT      SERVICE_PROFILE                CPU_PER_SESSION                  DEFAULT
    SCOTT      SERVICE_PROFILE                CPU_PER_CALL                     DEFAULT
    SCOTT      SERVICE_PROFILE                LOGICAL_READS_PER_SESSION        DEFAULT
    SCOTT      SERVICE_PROFILE                LOGICAL_READS_PER_CALL           DEFAULT
    SCOTT      SERVICE_PROFILE                IDLE_TIME                        DEFAULT
    SCOTT      SERVICE_PROFILE                CONNECT_TIME                     UNLIMITED
    SCOTT      SERVICE_PROFILE                PRIVATE_SGA                      DEFAULT
    SCOTT      SERVICE_PROFILE                FAILED_LOGIN_ATTEMPTS            UNLIMITED
    SCOTT      SERVICE_PROFILE                PASSWORD_LIFE_TIME               DEFAULT
    SCOTT      SERVICE_PROFILE                PASSWORD_REUSE_TIME              DEFAULT
    SCOTT      SERVICE_PROFILE                PASSWORD_REUSE_MAX               DEFAULT
    SCOTT      SERVICE_PROFILE                PASSWORD_VERIFY_FUNCTION         DEFAULT
    SCOTT      SERVICE_PROFILE                PASSWORD_LOCK_TIME               DEFAULT
    SCOTT      SERVICE_PROFILE                PASSWORD_GRACE_TIME              DEFAULT


    FAILED_LOGIN_ATTEMPTS = UNLIMITED 로 되어 있는 것을 확인할 수 있다.

참고 URL

dbms/oracle/oerr/ora28000.txt · 마지막으로 수정됨: 2008/10/15 13:24 저자 starlits