Data Dictionary join issue [message #383815] |
Fri, 30 January 2009 06:36 |
|
vamsi kasina
Messages: 2112 Registered: October 2003 Location: Cincinnati, OH
|
Senior Member |
|
|
Hi Everybody,
We have a weird issue, which can be reproducible internally in one of the environments.
The select from the following sql is returning 2 rows. But the insert is inserting zero rows. In all other environments that is working perfectly fine.INSERT INTO xla_extract_objects_gt
(object_name,
owner)
SELECT ext.object_name,
(SELECT syn.table_owner
FROM user_objects usr,
user_synonyms syn
WHERE ext.object_name = usr.object_name
AND usr.object_name = syn.synonym_name
AND usr.object_type = 'SYNONYM')
FROM xla_extract_objects ext
WHERE EXISTS (SELECT /*+ no_unnest */ 'c'
FROM user_objects usr,
user_synonyms syn
WHERE ext.object_name = usr.object_name
AND usr.object_name = syn.synonym_name
AND usr.object_type = 'SYNONYM')
AND ext.application_id = 555
AND entity_code = 'REVALUATION'
AND event_class_code = 'ACTCOSTADJ'; Also there is no issue with the permissions. The following in working fine.INSERT INTO xla_extract_objects_gt
(object_name,
owner)
SELECT 'ABC','XYZ' from dual; We tried to change the join between data dictionaries like the following:
ext.object_name = usr.object_name
AND usr.object_name = syn.synonym_name
to
ext.object_name = usr.object_name
AND ext.object_name = syn.synonym_name -- changed the join (in either of the inner queries)
then it is working fine in that environment. We couldn't figure out why this is happening only in one environment.
Even we tried to check the v$parameter, but not much difference with other environments. (except _index_join_enabled, global_names. after setting to the value at session level, it is not inserting the rows with previous sql)
It is working fine in the other environments, which are on same OS and same database version.
Kindly advice.
Thanks,
Vamsi
[Updated on: Fri, 30 January 2009 06:39] Report message to a moderator
|
|
|
|