DATA/Oracle

ORA-28000 발생시 해결법

2009. 1. 30. 02:18

ORA-28000에러는 일정 회수이상 로그인 실패시 계정에 lock이 걸리면서
"ORA-28000: the account is locked"
라는 메시지를 뱉어낸다.
(10g일 경우 설치 후 처음 scott계정을 사용할 때도 이런 에러가 뜬단다. 난 본적이 없어 모르겠다^^;)

1. 일단 sysdba로 접속한다.
sqlplus "/ as sysdba"

2. lock걸린 user를 찾아낸다.
SELECT username, account_status, to_char(lock_date,'yy/mm/dd hh24:mi') lock_date
FROM dba_users;


user가 MODELINGWORLD인 놈이 lock이 걸린걸 확인할 수 있다.

3. lock을 해제한다.
ALTER USER MODELINGWORLD account unlock;

4. 패스워드변경(아무래도 찜찜하니 패스워드도 변경해야겠지)
ALTER USER SYSTEM IDENTIFIED BY ****;


- 문
그럼 도대체 몇번 로그인을 실패하면 lock이 걸리는 거냐?

- 답
SQL> SELECT p.profile, p.resource_name, p.limit
  2  FROM dba_users u, dba_profiles p
  3  WHERE p.profile = u.profile
  4  AND username='modelingworld';
위와 같은 쿼리를 날리면
결과 중에 'FAILED_LOGIN_ATTEMPTS' 컬럼이 제한 개수이다.

그럼 제한을 풀 수도 있지않을까? 당근 있다.
ALTER profile default limit FAILED_LOGIN_ATTEMPTS UNLIMITED;