Один sql_id много child_number

Kamael
Дата: 05.12.2012 15:03:06
Вечер добрый.

Бьюсь над проблемой неделю, не пойму причину.
Oracle 10.2.0.4

Есть селект вида

SELECT колонки, CURSOR(SELECT колонки FROM таблица WHERE условие) a,
 колонки-N, cursor(select колонки-N  FROM таблица-N where условие-N) x, from таблица-N where условие-N


Это заносится в переменную varchar2(32727)

И он «плодится» в shared pool’e

Пробовал cursor_sharing=force

Ситуация не меняется.
На mos прочитал практически все, что связанно с High Version Count. Только осталось протестировать на версии 10.2.0.5
NLS_LENGTH_SEMANTICS=BYTE
Помогите решить проблему.
Kamael
Дата: 05.12.2012 15:04:36
Kamael
NLS_LENGTH_SEMANTICS=BYTE

Крайнее решение
jan2ary
Дата: 05.12.2012 15:22:34
Kamael,

А что в v$sql_shared_cursor по теме?
Kamael
Дата: 05.12.2012 15:32:52
jan2ary
Kamael,

А что в v$sql_shared_cursor по теме?


SELECT * FROM v$sql_shared_cursor WHERE sql_id='2k7anukk6013g'


SQL_ID ADDRESS CHILD_ADDR CHILD_number
2k7anukk6013g C00000032DBA21F0 C0000002B9732190 0
2k7anukk6013g C00000032DBA21F0 C0000002DAFDC808 1
2k7anukk6013g C00000032DBA21F0 C0000002F8A3DEF8 2
2k7anukk6013g C00000032DBA21F0 C0000002FB62A518 3
2k7anukk6013g C00000032DBA21F0 C0000002DF5BDB08 4
2k7anukk6013g C00000032DBA21F0 C0000002E9A97230 5
2k7anukk6013g C00000032DBA21F0 C00000035E67A430 6
2k7anukk6013g C00000032DBA21F0 C00000035D33EA40 7
2k7anukk6013g C00000032DBA21F0 C00000035A453CB0 8
2k7anukk6013g C00000032DBA21F0 C0000002EAEAD280 9
2k7anukk6013g C00000032DBA21F0 C0000002DF340260 10
2k7anukk6013g C00000032DBA21F0 C00000034A9C6B48 11
2k7anukk6013g C00000032DBA21F0 C00000035838BCB8 12
2k7anukk6013g C00000032DBA21F0 C00000034DCEE5E0 13
2k7anukk6013g C00000032DBA21F0 C0000002AFB05E78 14
2k7anukk6013g C00000032DBA21F0 C00000030FD80D10 15
2k7anukk6013g C00000032DBA21F0 C0000002C15020F8 16
2k7anukk6013g C00000032DBA21F0 C0000002D4AC4D48 17
Kamael
Дата: 05.12.2012 15:37:18
Проверил версию 10.2.0.5, такая же плохая ситуация.
dbms_photoshop
Дата: 05.12.2012 15:37:36
Kamael
SQL_ID ADDRESS CHILD_ADDR CHILD_number
Это дало много инфы о причинах mismatch.
Kamael
Дата: 05.12.2012 15:48:17
dbms_photoshop,
получил через функцию version_rpt взятую с mos

AUTH_CHECK_MISMATCH :1
LANGUAGE_MISMATCH :1
Versions with ALL Columns as "N" :99
dbms_photoshop
Дата: 05.12.2012 15:49:07
Kamael,

Лучше покажи вывод примерно такого скрипта:
select extractvalue(t1.column_value, '//ROW/SQL_ID') as sql_id,
       extractvalue(t1.column_value, '//ROW/CHILD_NUMBER') as child_number,
       t2.column_value.getrootelement() as property,
       extractvalue(t2.column_value, '/*') as value
  from table(xmlsequence(extract(xmltype(cursor(select * from v$sql_shared_cursor where sql_id = '...')), '//ROW'))) t1,
       table(xmlsequence(extract(t1.column_value, '/*/*'))) t2
 where t2.column_value.getrootelement() like '%MISMATCH' and extractvalue(t2.column_value, '/*') <> 'N'
Kamael
Дата: 05.12.2012 15:53:57
dbms_photoshop,


SQL_ID CHILD_NUMBER PROPERTY VALUE
2k7anukk6013g 49 AUTH_CHECK_MISMATCH Y
2k7anukk6013g 49 LANGUAGE_MISMATCH Y
dbms_photoshop
Дата: 05.12.2012 16:15:29
Kamael,

Все nls постоянны? RLS применяется?
AUTH_CHECK_MISMATCH and LANGUAGE_MISMATCH и далее по форуму otn.