ORA-01917: 사용자 또는 롤 (이)가 존재하지 않습니다
ORA-01917: 사용자 또는 롤 (이)가 존재하지 않습니다 오류가 영문으로 발생할 때에는 'ORA-01917: user or role does not exist' 메시지로 나타납니다. 오류를 해결하기 위해 우선 알아야 할 것은 메시지가 전하는 사용자 또는 롤을 알아야 할 것입니다.
사용자
사용자 또는 계정은 데이터베이스에 접속하여 권한에 맞는 데이터베이스 접근을 규정합니다.
롤
롤(role)은 역할이라고 해석할 수 있습니다. 오라클 등 데이터베이스에 말하는 롤은 여러 개의 권한을 묶은 권한 모음입니다.
ORA-01917: user or role does not exist
해당 오류의 원인은 명확히 사용자 또는 롤이 존재하지 않기 때문입니다. 실제로 존재하지 않는 경우도 있으며, 해당 사용자의 권한에서 설정한 사용자, 롤에 대한 접근이 불가하여 존재를 확인할 수 없기에 없다고 안내하는 경우도 있습니다.
원인
간단한 예제를 통해 알아보도록 하겠습니다.
인덱스를 생성시도하였으나 사용자 또는 롤 ''(이)가 존재하지 않다고 합니다. 해법으로 [Re-specify the name] 을 진행하라고 하는데 해당과 같은 오류는 보통 계정을 잘못 입력하셨을 때 나타납니다.
ORA-01917 해결 방법
생성을 시도하시려는 사용자를 한 번 더 확인합니다. 예시 자료는 실제 USER 는 USER_NAME 이며, 인덱스를 추가하고자 하는 테이블 이름을 잘못 입력하여 발생한 문제입니다. 유저 또는 롤 생성 중에 설정한 정보의 정확성을 확인해 주세요. 간혹 단순히 오타를 입력하는 경우도 있기 때문입니다. (오타나 잘못된 입력이 이 오류의 일반적인 원인일 수 있습니다.) 정확히 입력하였는데도 오류가 계속 발생한다면, 생성 관련 권한을 점검하시기 바랍니다.