dbms:oracle:oerr:ora28000
목차
ORA-28000 ACCOUNT IS LOCK
정의
- CREATE PROFILE 명령을 사용하여 로그인을 시도할 경우에 허용된 실패횟수를 지정할 수 있을 뿐 아니라
유저 계정이 잠금상태로 남아 있게 되는 시간도 지정할 수 있음!
ACCOUNT LOCK의 확인 및 조치
- 접속시에 일정 회수 이상 실패한 후 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
- SCOTT 의 LOCK 상태를 해제한다.
ALTER USER SCOTT ACCOUNT UNLOCK;
- 상태를 확인한다.
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
- SCOTT 계정의 암호를 설정하여 EXPIRED를 해제한다.
ALTER USER SCOTT IDENTIFIED BY TIGER;
USERNAME ACCOUNT_STATUS LOCK_DATE ------------------------------ -------------------------------- ---------------- SCOTT OPEN
- 계정 잠금을 해제하기 위해서는 아래의 SQL을 수행하면 된다.
ALTER USER user_id ACCOUNT UNLOCK;
PROFILE
PROFILE 조회
- 사용자의 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';
- 계정별 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 변경
- DEFAULT 로 설정되어 있는 사용자의 FAILED_LOGIN_ATTEMPTS를 UNLIMITED 상태로 변경
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
- DEFAULT 로 설정되어 있는 사용자의 FAILED_LOGIN_ATTEMPTS를 5 로 변경
5번 로그인 에러시 계정 잠금ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS 5;
PROFILE을 통한 ACCOUNT 로그인 에러 횟수 조절
- 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
- SCOTT 계정에 SERVICE_PROFILE 을 적용한다.
ALTER USER "SCOTT" PROFILE "SERVICE_PROFILE"
- 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 · 마지막으로 수정됨: 저자 starlits
