ORA-01017: 사용자명/비밀번호가 부적합 로그온할 수 없습니다 (ORA-01017: invalid username/password logon denied)

ORA-01017: 사용자명/비밀번호가 부적합 로그온할 수 없습니다(ORA-01017: invalid username/password logon denied)

 해당 오류는 다음과 같은 원인으로 발생합니다.

  • 사용자명, 비밀번호 사용자 오타 가능성
  • 계정의 실제 존재 여부 (DBA가 계정을 만들어 놓겠다고 했는데, 아직 안 만들어서 계정이 생성 안 되어 있는 경우)
  • 사용자명/비밀번호 대소문자 설정 여부

사용자명, 비밀번호 사용자 오타 가능성

ORA-01017: 사용자명/비밀번호가 부적합 로그온할 수 없습니다 해결하기

사용자명이나 비밀번호나 오타가 없는지 다시 한번 확인해 봅시다. "당연히 잘 입력했겠거니..." 하고 넘어가지 마시고 다시 기초부터 꼼꼼히 확인해야겠죠~

계정의 실제 존재 여부

사용자명과 비밀번호를 정확히 입력하였는데도 안 되는 경우에는 혹시 계정이 안 만들어져 있는 게 아닐까요? 데이터 딕셔너리 뷰에서 조회를 해봅니다.

SELECT * FROM DBA_USERS
WHERE USERNAME = 'USERNAME';

SELECT * FROM ALL_USERS
WHERE USERNAME = 'USERNAME';

SELECT * FROM USER_USERS
WHERE USERNAME = 'USERNAME';

유저 생성 관련 간단한 쿼리 예제입니다. (필요시 커넥트 권한 등을 별도로 부여해야 합니다)

--유저 생성
CREATE USER userName IDENTIFIED BY password;

--유저 수정
ALTER USER userName IDENTIFIED BY password;

사용자명/비밀번호 대소문자 설정 여부

오라클 데이터베이스는 11g 버전 이상부터 사용자명 및 비밀번호에 대소문자를 구분합니다. 캡스락이 눌러져있지 않은지 확인해 주세요. 대소문자 설정 여부를 확인하는 방법은 다음과 같습니다.

--대소문자 구분 여부
--SQLPLUS

show parameter sec_case_sensitive_logon;

--시작 문자로 조회하므로 아래와 같이 조회해도 결과는 동일합니다.

show parameter sec_case;

--오라클 툴

SELECT *
  FROM V$PARAMETER
 WHERE NAME = 'sec_case_sensitive_logon';

다음은 대소문자 구분 여부를 설정하는 시스템 명령어입니다. 시스템 파라미터 변경 명령어는 본인이 DBA가 아닌 이상 독단으로 사용하지 않도록 권장합니다. 그냥 이런 것도 있구나 정도만 알고 가시면 됩니다~

ALTER SYSTEM SET sec_case_sensitive_logon = FALSE;

ALTER SYSTEM SET sec_case_sensitive_logon = TRUE;
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗