Document TypeㅣTroubleshooting
CategoryㅣPatch/Upgrade
Applicable Product VersionsㅣTibero6, Tibero7
Document NumberㅣTPATS027
Issue
This document is a guide summarizing the phenomenon, cause, and resolution method when a circular synonym detected (jdbc-8103) error occurs during the query of DBA_PROFILES while upgrading (migrating) from Tibero 5 to Tibero 6 or Tibero 7.
This issue occurs due to a mismatch in the owner of the system synonym (DBA_PROFILES) and may lead to errors when querying security vulnerability management views after the upgrade.
Applicable Targets
Upgrade environment from Tibero 5 to Tibero 6
Upgrade environment from Tibero 5 to Tibero 7
The following SQL query causes an error:
select * from dba_profiles;Error message:
jdbc-8103 circular synonym detected
Structure in Normal Operation
In a normal environment, the DBA_PROFILES synonym references a view owned by SYSCAT.
select * from dba_synonyms
where synonym_name = 'DBA_PROFILES';Result (Normal)
OWNER : PUBLIC
SYNONYM_NAME : DBA_PROFILES
ORG_OBJECT_OWNER : SYSCAT
ORG_OBJECT_NAME : DBA_PROFILES
Cause
During the upgrade from Tibero 5 to Tibero 6,
in some environments, the DBA_PROFILES synonym references an object owned by SYS instead of SYSCAT.
PUBLIC.DBA_PROFILES → SYS.DBA_PROFILESIn this state, in Tibero 6 or Tibero 7 environments,
SYS.DBA_PROFILESandSYSCAT.DBA_PROFILEShave a tangled reference structure, causing a circular synonym to be detected, resulting in an error.
How to Verify the Cause
select * from dba_synonyms
where synonym_name = 'DBA_PROFILES';Example of a problematic environment:
OWNER : PUBLIC
SYNONYM_NAME : DBA_PROFILES
ORG_OBJECT_OWNER : SYS
ORG_OBJECT_NAME : DBA_PROFILES
Solutions
Redefine the synonym to be owned by SYSCAT
※ The existing PUBLIC synonym will be automatically updated by create or replace.
create or replace synonym PUBLIC.DBA_PROFILES
for SYSCAT.DBA_PROFILES;
Verification After Action
1. Check synonym structure
select * from dba_synonyms
where synonym_name = 'DBA_PROFILES';Normal result:
OWNER : PUBLIC
SYNONYM_NAME : DBA_PROFILES
ORG_OBJECT_OWNER : SYSCAT
ORG_OBJECT_NAME : DBA_PROFILES2. Check object status
select owner, object_name, object_type, status
from dba_objects
where object_name = 'DBA_PROFILES';Example:
OWNER OBJECT_TYPE STATUS
------- ----------- ------
PUBLIC SYNONYM VALID
SYSCAT VIEW VALID3. Reconfirm query
select * from dba_profiles;→ Confirmed normal query result
Additional Notes
This issue can occur similarly in upgrade environments from Tibero 5 to 6 / 7
It is recommended to maintain system synonyms (DBA_*) to reference objects owned by SYSCAT
If errors occur when querying DBA_ views after upgrade, checking the synonym structure is necessary