IT 기술/Oracle

Oracle 10g에서 사용자 계정이 자주 잠겨서 불편할때.

ㅇㅔ ㄷㅡ 2011. 7. 7. 16:48
 Oracle 10g에서 종종 문제가 되고 있어서 아래와 같이 고쳐봤습니다. 11g에서도 문제가 되는지는 모르겠습니다. 나중에 확인하면 문서에 추가하도록 하겠습니다.

 아래의 query를 실행해보면 해당 계정에 설정된 profile의 제한값이 나온다.
SELECT A.USERNAME, B.PROFILE, B.RESOURCE_NAME, B.RESOURCE_TYPE, B.LIMIT   
FROM DBA_USERS A, DBA_PROFILES B
WHERE A.PROFILE = B.PROFILE
AND A.USERNAME = '계정명';

 "FAILED_LOGIN_ATTEMPTS           PASSWORD 10"라는 부분이 보일겁니다.
여기를 unlimited로 바꾸거나 새로운 profile을 만들면서 unlimited로 해주고 해당 계정의 profile을 바꿔주면 됩니다.

아래는 profile을 만들고, 사용자계정의 profile을 바꿔주는 구문입니다.
CREATE PROFILE DEFAULT_P1 LIMIT
    COMPOSITE_LIMIT UNLIMITED
    SESSIONS_PER_USER UNLIMITED
    CPU_PER_SESSION UNLIMITED
    CPU_PER_CALL UNLIMITED
    LOGICAL_READS_PER_SESSION UNLIMITED
    LOGICAL_READS_PER_CALL UNLIMITED
    IDLE_TIME UNLIMITED
    CONNECT_TIME UNLIMITED
    PRIVATE_SGA UNLIMITED
    FAILED_LOGIN_ATTEMPTS UNLIMITED
    PASSWORD_LIFE_TIME UNLIMITED
    PASSWORD_REUSE_TIME UNLIMITED
    PASSWORD_REUSE_MAX UNLIMITED
    PASSWORD_VERIFY_FUNCTION NULL
    PASSWORD_LOCK_TIME UNLIMITED
    PASSWORD_GRACE_TIME UNLIMITED
;

ALTER USER 계정명 PROFILE DEFAULT_P1;
Profile을 바꾸고 잘못된 비밀번호를 입력하는 방식으로 시험해 봤는데 아직까지는 잘 되네요.