반응형
ORA-28009: connection as SYS should be as SYSDBA or SYSOPER
ORA-28009 오류는 SYS 사용자로 데이터베이스에 접속할 때, 적절한 권한 (SYSDBA 또는 SYSOPER) 없이 접속을 시도했을 때 발생합니다.
오류 원인
이 오류는 다음과 같은 상황에서 발생할 수 있습니다:
- SYS 사용자로 일반 권한으로 접속: SYS는 일반 사용자로 접속이 허용되지 않으며, SYSDBA 또는 SYSOPER로 접속해야 함
- 접속 명령에서 접속 권한을 생략: SQL*Plus, SQL Developer 등에서 접속 시 권한 명시 생략
- 애플리케이션에서 SYS 사용자 사용: JDBC 등에서 SYS 사용자로 접속 시 권한 누락
해결 방법
- SQL*Plus에서 접속 권한 지정:
sqlplus sys/password@DB as sysdba
- SQL Developer에서 접속 시 "Role" 지정: 접속 설정 → 역할(Role)을 SYSDBA 또는 SYSOPER로 설정
- JDBC에서 접속 시 권한 포함: 다음과 같은 URL 사용
jdbc:oracle:thin:sys/password@//host:port/service?internal_logon=sysdba
- 보안 설정 검토: 필요하지 않다면 애플리케이션에서 SYS 사용자 사용 지양
예시:
-- 오류 발생 예 sqlplus sys/oracle@ORCL
-- 올바른 예
sqlplus sys/oracle@ORCL as sysdba
간단 요약
- 오류 요약: SYS 사용자는 반드시 SYSDBA 또는 SYSOPER로 접속해야 함
- 주요 원인: 권한 누락 접속, SQL Developer 설정 누락, JDBC 접속 문자열 오류
- 해결 방법: 접속 시 올바른 권한 명시 (as sysdba 등)
반응형