문서유형ㅣ장애해결
분야ㅣ패치/업그레이드
적용제품버전ㅣTibero6, Tibero7
문서번호ㅣTPATS027
현상
본 문서는 Tibero 5에서 Tibero 6 또는 Tibero 7로 업그레이드(이관) 시, DBA_PROFILES 조회 과정에서 circular synonym detected(jdbc-8103) 오류가 발생하는 현상과 그 원인 및 조치 방법을 정리한 가이드입니다.
본 이슈는 시스템 시노님(DBA_PROFILES)의 소유자 불일치로 인해 발생하며 업그레이드 이후 보안취약 관리 뷰 조회 시 오류로 이어질 수 있습니다.
적용 대상
Tibero 5 → Tibero 6 업그레이드 환경
Tibero 5 → Tibero 7 업그레이드 환경
다음 SQL 수행 시 오류 발생
select * from dba_profiles;오류 메시지
jdbc-8103 circular synonym detected
정상 동작 시 구조
정상 환경에서는 DBA_PROFILES 시노님이 SYSCAT 소유의 뷰를 참조합니다.
select * from dba_synonyms
where synonym_name = 'DBA_PROFILES';결과(정상)
OWNER : PUBLIC
SYNONYM_NAME : DBA_PROFILES
ORG_OBJECT_OWNER : SYSCAT
ORG_OBJECT_NAME : DBA_PROFILES
원인
Tibero 5 → Tibero 6 업그레이드 과정에서
일부 환경에서는 DBA_PROFILES 시노님이 SYSCAT이 아닌 SYS 소유 객체를 참조하는 현상이 발생합니다.
PUBLIC.DBA_PROFILES → SYS.DBA_PROFILES이 상태에서 Tibero 6 또는 Tibero 7 환경에서는
SYS.DBA_PROFILES와SYSCAT.DBA_PROFILES간 참조 구조가 꼬이며 순환 시노님(circular synonym) 이 감지되어 오류가 발생합니다.
원인 확인 방법
select * from dba_synonyms
where synonym_name = 'DBA_PROFILES';문제 환경 예시
OWNER : PUBLIC
SYNONYM_NAME : DBA_PROFILES
ORG_OBJECT_OWNER : SYS
ORG_OBJECT_NAME : DBA_PROFILES
해결
시노님을 SYSCAT 소유자로 재정의
※ 기존 PUBLIC 시노님은 create or replace로 자동 갱신됩니다.
create or replace synonym PUBLIC.DBA_PROFILES
for SYSCAT.DBA_PROFILES;
조치 후 확인
1. 시노님 구조 확인
select * from dba_synonyms
where synonym_name = 'DBA_PROFILES';정상 결과
OWNER : PUBLIC
SYNONYM_NAME : DBA_PROFILES
ORG_OBJECT_OWNER : SYSCAT
ORG_OBJECT_NAME : DBA_PROFILES2. 객체 상태 확인
select owner, object_name, object_type, status
from dba_objects
where object_name = 'DBA_PROFILES';예시
OWNER OBJECT_TYPE STATUS
------- ----------- ------
PUBLIC SYNONYM VALID
SYSCAT VIEW VALID3. 조회 재확인
select * from dba_profiles;→ 정상 조회 확인
참고 사항
본 이슈는 Tibero 5 → 6 / 7 업그레이드 환경에서 동일하게 발생 가능
시스템 시노님(DBA_*)은 SYSCAT 소유 객체를 참조하도록 유지 권장
업그레이드 이후 DBA_ 계열 뷰 조회 오류 발생 시 시노님 구조 점검 필요