powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-00904: : invalid identifier
13 сообщений из 13, страница 1 из 1
ORA-00904: : invalid identifier
    #39409542
gandalf-the-grey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тему 7-го года поднимать не стал. Похоже, баг сохраняется до сих пор. С наскоку workaround не нашёлся.
Подсобите, пожалуйста, если кто сталкивался и решил проблему.

Оракл 11.2.0.4 64-бит

На уровне схемы
Код: plsql
1.
2.
create type row_t as object ();
create type table_t as table of row_t;



пакет с authid definer, в пакете процедура
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
procedure (p_table table_t) is
...
merge into some_table s
using /*table (p_table) t*/
(select some_cols from table(p_table)) t
on (...)
when 
...
end;



Java-приложение работает с БД через JDBC. Импортит типы, заполняет массивы, зовёт процедурку, всё работает.
Периодически на дев-инстансе начинает возникать 00904 на MERGE, именно такая, как в заголовке, то есть сам идентификатор - пустой.
На тесте и проме пока не наблюдалось. Среды условно одинаковые.
Таких наборов типов и процедур - несколько. Возникало на разных наборах.
Пару раз лечилось пересозданием типов. Сейчас именно на этом наборе не лечится никак, что-то только не пробовали... Остальные идентичные наборы типов-процедур нормально функционируют.
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39409545
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gandalf-the-greyПериодическиЧудес-то не бывает
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39409570
gandalf-the-grey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вячеслав Любомудров,

Бывают баги, которые воспроизводятся нерегулярно . За ораклом подобное замечено.

В моём случае "периодически" расшифровывается так:
Создали типы, пакеты, написали код жавы, работаем, всё норм
В какой-то момент начинаем получать 00904. Просто на ровном месте.
Пересоздаю типы, гранты, синонимы - работаем дальше.

А вот конкретно сейчас пересоздание не помогает. Тот же код работает на других инстансах. Начинаю сомневаться: может, и чудеса всё же бывают?
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39410348
orac_list
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gandalf-the-grey,

Попробуйте отловить стэк ошибки для начала
alter system set events '904 trace name errorstack forever, level 3';

Может там что полезное найдется
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39414258
gandalf-the-grey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orac_list,

в стеке вижу только, что текущий стейтмент - что-то системное, получающее данные из моего массива (приложил картинку)

Вернувшись к разбору проблемы, обнаружил ещё более странную для себя вещь.
В приведенном куске процедуры цикл выполняется без ошибок, в логе вижу содержимое переданного массива.
А merge падает с 904-м...
Что за хрень?)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
procedure (t1 table_t) is
...
    for x in (SELECT * FROM table(t1)) loop
      begin
        msg := msg || chr(10) || x.col1 || ';' || x.col2 || ';' || x.col3 || ';' || x.col4 || ';' || x.col5;
      exception when others then
        msg := msg || chr(10) || 'Ошибка';
      end;
    end loop;
    
    debug(msg);
    
    merge into some_table d
    using --table(t1) t
          (select col1, col2, col3, col4, col5
             from table(t1)) t
    on (d.col1 = t.col1 and d.col2 = t.col2 and d.col3 = t.col3)
    when not matched then insert(col1, col2, col3, col4, col5)
    values(t.col1, t.col2, t.col3, t.col4, t.col5)
    when matched then update
      set d.col4 = t.col4,
          d.col5 = t.col5;
...
end;



Причём ошибка не 100% воспроизводимая. Данные в массив грузятся из файла. Так вот иногда ошибки нет. Пробовали разные данные в файлах, закономерность не выявили...
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39414262
gandalf-the-grey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orac_list,

каюсь, внимательнее посмотрел на стек, увидел, что выбираются имена секций таблицы (из массива данные пишутся в секционированную по полю даты таблицу) на основе уникальных значений, имеющихся в массиве...

только пока всё равно непонятно, куда дальше копать... кривых дат в массиве не видел...
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39415014
orac_list
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gandalf-the-grey,

Стэк ошибки полностью покажите
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39415605
gandalf-the-grey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orac_list,

AskTOMand we said...

That sounds like it could be related to bug 21150273.

I'd get in touch with Support.

As a workaround, I'd explore

a) loading your nested table into a global temporary table
b) using the GTT as the source in the merge

Let us know how you go

мы пока другой workaround юзаем.
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39415609
gandalf-the-grey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
orac_list,

полностью стек
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
dbkedDefDump(): Starting a non-incident diagnostic dump (flags=0x0, level=3, mask=0x0)
----- Error Stack Dump -----
ORA-00904: : ЭХФЮЯгбвШЬлЩ ШФХЭвШдШЪРвЮа
----- Current SQL Statement for this session (sql_id=cm6srysf3a7hd) -----
SELECT distinct TBL$OR$IDX$PART$NUM("FMON_SV_DATA", 0, 1, 0, "TRX_DATE") FROM (SELECT SYS_OP_ATG(VALUE(KOKBF$0),2,3,2) "TRX_DATE" FROM TABLE(:B1) "KOKBF$0") ORDER BY 1
----- PL/SQL Stack -----
----- PL/SQL Call Stack -----
  object      line  object
  handle    number  name
0x11e16fc10       559  package body SOM.LOAD
0x106252258         1  anonymous block

----- Call Stack Trace -----
calling              call     entry                argument values in hex      
location             type     point                (? means dubious value)     
-------------------- -------- -------------------- ----------------------------
skdstdst()+41        call     kgdsdst()            000000000 ? 000000000 ?
                                                   7FFF3024C340 ? 7FFF3024C418 ?
                                                   7FFF30250EC0 ? 000000002 ?
ksedst1()+103        call     skdstdst()           000000000 ? 000000000 ?
                                                   7FFF3024C340 ? 7FFF3024C418 ?
                                                   7FFF30250EC0 ? 000000002 ?
ksedst()+39          call     ksedst1()            000000000 ? 000000001 ?
                                                   7FFF3024C340 ? 7FFF3024C418 ?
                                                   7FFF30250EC0 ? 000000002 ?
dbkedDefDump()+2746  call     ksedst()             000000000 ? 000000001 ?
                                                   7FFF3024C340 ? 7FFF3024C418 ?
                                                   7FFF30250EC0 ? 000000002 ?
ksedmp()+41          call     dbkedDefDump()       000000003 ? 000000000 ?
                                                   7FFF3024C340 ? 7FFF3024C418 ?
                                                   7FFF30250EC0 ? 000000002 ?
dbkdaKsdActDriver()  call     ksedmp()             000000003 ? 000000000 ?
+1960                                              7FFF3024C340 ? 7FFF3024C418 ?
                                                   7FFF30250EC0 ? 000000002 ?
dbgdaExecuteAction(  call     dbkdaKsdActDriver()  7FF0FA5E4730 ? 7FFF302535C0 ?
)+1065                                             7FFF3024C340 ? 7FFF3024C418 ?
                                                   7FFF30250EC0 ? 000000002 ?
dbgdaRunAction()+81  call     dbgdaExecuteAction(  7FF0FA5E4730 ? 00A60D3E0 ?
5                             )                    0020C0003 ? 7FFF302535C0 ?
                                                   000000001 ? 000000002 ?
dbgdRunActions()+64  call     dbgdaRunAction()     7FF0FA5E4730 ? 000000005 ?
                                                   0020C0003 ? 7FFF302535C0 ?
                                                   000000001 ? 000000002 ?
dbgdProcessEventAct  call     dbgdRunActions()     7FF0FA5E4730 ? 000000005 ?
ions()+656                                         0020C0003 ? 7FFF302535C0 ?
                                                   000000001 ? 000000002 ?
dbgdChkEventKgErr()  call     dbgdProcessEventAct  7FF0FA5E4730 ? 00C0D5320 ?
+1658                         ions()               7FF0F71A87B0 ? 7FFF302535C0 ?
                                                   000000001 ? 000000002 ?
dbkdChkEventRdbmsEr  call     dbgdChkEventKgErr()  7FF0FA5E4730 ? 00C0D5320 ?
r()+61                                             7FF0F71A87B0 ? 7FFF302535C0 ?
                                                   000000001 ? 000000002 ?
ksfpec()+66          call     dbkdChkEventRdbmsEr  7FF0FA5E4730 ? 00C0D5320 ?
                              r()                  7FF0F71A87B0 ? 7FFF302535C0 ?
                                                   000000001 ? 000000002 ?
dbgePostErrorKGE()+  call     ksfpec()             7FF0FA5E4730 ? 00C0D5320 ?
1137                                               7FF0F71A87B0 ? 7FFF302535C0 ?
                                                   000000001 ? 000000002 ?
dbkePostKGE_kgsf()+  call     dbgePostErrorKGE()   00C0D5320 ? 7FF0F74411B8 ?
71                                                 000000388 ? 7FFF302535C0 ?
                                                   000000001 ? 000000002 ?
kgeselv()+276        call     dbkePostKGE_kgsf()   00C0D5320 ? 7FF0F74411B8 ?
                                                   000000388 ? 7FFF302535C0 ?
                                                   000000001 ? 000000002 ?
kgesecl0()+139       call     kgeselv()            00C0D5320 ? 7FF0F74411B8 ?
                                                   000000388 ? 7FFF302535C0 ?
                                                   000000001 ? 000000000 ?
qcuSigErr()+91       call     kgesecl0()           00C0D5320 ? 7FF0F74411B8 ?
                                                   000000388 ? 7FFF302535C0 ?
                                                   000000001 ? 00A11D3C0 ?
qcpigon()+425        call     qcuSigErr()          00C0D5320 ? 00C0D5320 ?
                                                   000000388 ? 7FFF302535C0 ?
                                                   000000001 ? 00A11D3C0 ?
qcpifun()+163        call     qcpigon()            08328DC28 ? 00C0D5320 ?
                                                   000000388 ? 7FFF302535C0 ?
                                                   7FFF00000056 ? 00A11D3C0 ?
qcpiapr()+883        call     qcpifun()            08328DC28 ? 00C0D5320 ?
                                                   000000388 ? 08328DDC8 ?
                                                   00C0F5900 ? 00A11D3C0 ?
qcpiafa()+127        call     qcpiapr()            08328DC28 ? 00C0D5320 ?
                                                   000000388 ? 08328DDC8 ?
                                                   00C0F5900 ? 00A11D3C0 ?
qcpiaex()+88         call     qcpiafa()            08328DC28 ? 00C0D5320 ?
                                                   000000388 ? 08328DDC8 ?
                                                   00C0F5900 ? 00A11D3C0 ?
qcpiexl()+234        call     qcpiaex()            08328DC28 ? 00C0D5320 ?
                                                   000000388 ? 08328DDC8 ?
                                                   00C0F5900 ? 00A11D3C0 ?
qcpisel()+203        call     qcpiexl()            08328DC28 ? 00C0D5320 ?
                                                   000000388 ? 00C0F5900 ?
                                                   000000000 ? 00A11D3C0 ?
qcpiqbk()+416        call     qcpisel()            08328DC28 ? 00C0D5320 ?
                                                   000000388 ? 00C0F5900 ?
                                                   000000000 ? 00A11D3C0 ?
qcpiqex()+259        call     qcpiqbk()            08328DC28 ? 00C0D5320 ?
                                                   7FFF30254D78 ? 100280000 ?
                                                   000000000 ? 00A11D3C0 ?
qcpivwq()+222        call     qcpiqex()            08328DC28 ? 00C0D5320 ?
                                                   7FFF30254D78 ? 000000000 ?
                                                   7FFF30254D80 ? 00A11D3C0 ?
qcpitnm()+1954       call     qcpivwq()            08328DC28 ? 00C0D5320 ?
                                                   7FF0F743ED98 ? 000000000 ?
                                                   7FFF30254D80 ? 00A11D3C0 ?
qcpiatpr()+216       call     qcpitnm()            08328DC28 ? 00C0D5320 ?
                                                   0058009C3 ? 0000000AC ?
                                                   7FFF30254D80 ? 00A11D3C0 ?
qcpifro()+477        call     qcpiatpr()           08328DC28 ? 00C0D5320 ?
                                                   0058009C3 ? 0000000AC ?
                                                   7FFF30254D80 ? 00A11D3C0 ?
qcpiqbk()+464        call     qcpifro()            08328DC28 ? 00C0D5320 ?
                                                   0058009C3 ? 0000000AC ?
                                                   7FFF30254D80 ? 00A11D3C0 ?
qcpiqex()+259        call     qcpiqbk()            08328DC28 ? 00C0D5320 ?
                                                   7FFF30255310 ? 100280000 ?
                                                   7FFF30254D80 ? 00A11D3C0 ?
qcpiqry()+165        call     qcpiqex()            08328DC28 ? 00C0D5320 ?
                                                   7FFF30255310 ? 000000000 ?
                                                   7FFF30255318 ? 00A11D3C0 ?
qcpicmd()+144        call     qcpiqry()            08328DC28 ? 00C0D5320 ?
                                                   7FFF30255310 ? 000000000 ?
                                                   7FFF30255318 ? 00A11D3C0 ?
prscmd()+1849        call     qcpicmd()            08328DC28 ? 00C0D5320 ?
                                                   7FFF30255310 ? 000000000 ?
                                                   7FFF30255318 ? 00A11D3C0 ?
prsdrv()+214         call     prscmd()             08328DC28 ? 00C0D5320 ?
                                                   7FFF30255310 ? 08328DDC8 ?
                                                   7FFF30255318 ? 00A11D3C0 ?
opiParse()+427       call     prsdrv()             08328DDC8 ? 00C0D5320 ?
                                                   7FF0F743FA70 ? 08328DDC8 ?
                                                   7FFF30255318 ? 00A11D3C0 ?
opiprs()+198         call     opiParse()           08328DDC8 ? 7FF0FA5EB738 ?
                                                   0000000A8 ? 08328DDC8 ?
                                                   7FFF30255318 ? 00A11D3C0 ?
kksParseChildCursor  call     opiprs()             7FFF30257FF0 ? 7FF0FA5EB738 ?
()+572                                             0000000A8 ? 08328DDC8 ?
                                                   000000004 ? 00A11D3C0 ?
rpiswu2()+1776       call     kksParseChildCursor  7FFF302581D0 ? 7FF0FA5EB738 ?
                              ()                   0000000A8 ? 08328DDC8 ?
                                                   000000004 ? 00A11D3C0 ?
kksLoadChild()+5236  call     rpiswu2()            11FB63488 ? 00000005C ?
                                                   0ECF8D01C ? 000000002 ?
                                                   000000004 ? 00A11D3C0 ?
kxsGetRuntimeLock()  call     kksLoadChild()       00C0D5320 ? 0FD1E7490 ?
+2209                                              7FFF30259720 ? 000000002 ?
                                                   000000004 ? 00A11D3C0 ?
kksfbc()+15053       call     kxsGetRuntimeLock()  00C0D5320 ? 7FF0F7198098 ?
                                                   7FFF30259720 ? 000000002 ?
                                                   000000004 ? 00A11D3C0 ?
kkspsc0()+1171       call     kksfbc()             7FF0F7198098 ? 000000003 ?
                                                   000000108 ? 7FF0FA5EB738 ?
                                                   000000004 ? 00A11D3C0 ?
kksParseCursor()+11  call     kkspsc0()            7FF0F74522C8 ? 7FF0FA5EB738 ?
6                                                  0000000A8 ? 000000003 ?
                                                   000000006 ? 000000020 ?
opiosq0()+2027       call     kksParseCursor()     7FFF3025A290 ? 7FF0FA5EB738 ?
                                                   0000000A8 ? 000000003 ?
                                                   000000006 ? 000000020 ?
opiall0()+4834       call     opiosq0()            000000003 ? 00000000E ?
                                                   7FFF3025A510 ? 000000020 ?
                                                   000000006 ? 000000020 ?
opikpr()+524         call     opiall0()            000000065 ? 000000022 ?
                                                   7FFF3025AC98 ? 000000000 ?
                                                   000000006 ? 000000020 ?
opiodr()+917         call     opikpr()             000000065 ? 00000001C ?
                                                   7FFF3025C5C8 ? 000000000 ?
                                                   000000006 ? 000000020 ?
rpidrus()+211        call     opiodr()             000000065 ? 00000001C ?
                                                   7FFF3025C5C8 ? 000000000 ?
                                                   000000006 ? 000000020 ?
skgmstack()+148      call     rpidrus()            7FFF3025BFA8 ? 00000001C ?
                                                   7FFF3025C5C8 ? 000000000 ?
                                                   000000006 ? 000000020 ?
rpiswu2()+690        call     skgmstack()          7FFF3025BF80 ? 00C0D4F40 ?
                                                   00000F618 ? 00969ED8C ?
                                                   7FFF3025BFA8 ? 000000020 ?
kprball()+1232       call     rpiswu2()            11FB63488 ? 00000005C ?
                                                   11FB6C7AC ? 000000002 ?
                                                   7FFF3025BFA8 ? 000000020 ?
kkpapiItOpen()+5160  call     kprball()            7FFF3025C5C8 ? 000000180 ?
                                                   11FB6C7AC ? 000000002 ?
                                                   7FFF3025BFA8 ? 000000020 ?
kkpapItOpen()+224    call     kkpapiItOpen()       7FFF3025C5C8 ? 7FF0F720F808 ?
                                                   0EECE4970 ? 1058A0968 ?
                                                   000000000 ? 000000020 ?
qergiStart()+454     call     kkpapItOpen()        0EECE4970 ? 7FF0F720F808 ?
                                                   000000001 ? 000000003 ?
                                                   000000000 ? 7FF0F6F38000 ?
qerstStart()+197     call     qergiStart()         10E9CB808 ? 7FF0F720F7C0 ?
                                                   000000001 ? 000000003 ?
                                                   000000000 ? 7FF0F6F38000 ?
rwsstd()+244         call     qerstStart()         10E9CB498 ? 7FF0F720F8D8 ?
                                                   000000001 ? 000000003 ?
                                                   000000000 ? 7FF0F6F38000 ?
qerstStart()+197     call     rwsstd()             10E9CB498 ? 7FF0F720F970 ?
                                                   000000001 ? 000000003 ?
                                                   000000000 ? 7FF0F6F38000 ?
qerhjFetch()+3298    call     qerstStart()         10E9CB330 ? 7FF0F720F9A0 ?
                                                   000000001 ? 000000003 ?
                                                   000000000 ? 7FF0F6F38000 ?
qerstFetch()+321     call     qerhjFetch()         10E9CB250 ? 7FF0F720FA38 ?
                                                   005D4B890 ? 7FFF3025CD40 ?
                                                   000007FFF ? 7FF0F720F9A0 ?
qervwFetch()+139     call     qerstFetch()         10E9CB040 ? 7FF0F720FC90 ?
                                                   00970DBE4 ? 7FFF3025CDD0 ?
                                                   000007FFF ? 7FF0F720F9A0 ?
qerstFetch()+321     call     qervwFetch()         10E9CAF70 ? 7FF0F720FD28 ?
                                                   00970DBE4 ? 7FFF3025CDD0 ?
                                                   000007FFF ? 7FF0F720F9A0 ?
rwsfcd()+103         call     qerstFetch()         10E9C9B78 ? 7FF0F720FE18 ?
                                                   005D4B890 ? 7FFF3025CF90 ?
                                                   000007FFF ? 7FF0F720F9A0 ?
qerstFetch()+321     call     rwsfcd()             10E9C9AD8 ? 7FF0F720FEB0 ?
                                                   005D4B890 ? 7FFF3025CF90 ?
                                                   000007FFF ? 7FF0F720F9A0 ?
qerusFetch()+717     call     qerstFetch()         10E9C93C8 ? 7FF0F720DEB0 ?
                                                   00254F468 ? 7FFF3025D1F8 ?
                                                   000007FFF ? 7FF0F720F9A0 ?
qerstFetch()+321     call     qerusFetch()         10E9C9240 ? 7FF0F720DEB0 ?
                                                   00254F468 ? 7FFF3025D1F8 ?
                                                   000007FFF ? 7FF0F720F9A0 ?
updaul()+2469        call     qerstFetch()         10E9C8D88 ? 7FF0F72112B8 ?
                                                   001F2EE80 ? 7FFF3025E430 ?
                                                   000007FFF ? 7FF0F720F9A0 ?
updThreePhaseExe()+  call     updaul()             10E9C8D88 ? 7FF0F72112B8 ?
318                                                001F2EE80 ? 7FFF3025E430 ?
                                                   000007FFF ? 7FF0F720F9A0 ?
upsexe()+1138        call     updThreePhaseExe()   0EDFC6C70 ? 7FFF3025E430 ?
                                                   7FF0F72117B0 ? 7FFF3025E140 ?
                                                   E9C862000000001 ?
                                                   7FF0F720F9A0 ?
opiexe()+10505       call     upsexe()             0EDFC6C70 ? 7FFF3025E430 ?
                                                   7FF0F72117B0 ? 7FFF3025E140 ?
                                                   E9C862000000001 ?
                                                   7FF0F720F9A0 ?
opipls()+2149        call     opiexe()             000000004 ? 000000005 ?
                                                   7FF0F72117B0 ? 7FFF3025E140 ?
                                                   E9C862000000001 ?
                                                   7FF0F720F9A0 ?
opiodr()+917         call     opipls()             000000066 ? 000000005 ?
                                                   7FF0F72117B0 ? 7FFF3025E140 ?
                                                   E9C862000000001 ?
                                                   7FF0F720F9A0 ?
rpidrus()+211        call     opiodr()             000000066 ? 000000007 ?
                                                   7FFF302615E0 ? 7FFF3025E140 ?
                                                   E9C862000000001 ?
                                                   7FF0F720F9A0 ?
skgmstack()+148      call     rpidrus()            7FFF30260FB8 ? 000000007 ?
                                                   7FFF302615E0 ? 7FFF3025E140 ?
                                                   E9C862000000001 ?
                                                   7FF0F720F9A0 ?
rpiswu2()+690        call     skgmstack()          7FFF30260F90 ? 00C0D4F40 ?
                                                   00000F618 ? 00969ED8C ?
                                                   7FFF30260FB8 ? 7FF0F720F9A0 ?
rpidrv()+1327        call     rpiswu2()            11FB6C728 ? 00000005C ?
                                                   7FFF30261180 ? 000000002 ?
                                                   7FFF30260FB8 ? 7FF0F720F9A0 ?
psddr0()+473         call     rpidrv()             000000009 ? 000000066 ?
                                                   7FFF302615E0 ? 000000038 ?
                                                   7FFF30260FB8 ? 7FF0F720F9A0 ?
psdnal()+457         call     psddr0()             000000009 ? 000000066 ?
                                                   7FFF302615E0 ? 000000030 ?
                                                   7FFF30260FB8 ? 7FF0F720F9A0 ?
pevm_EXECC()+314     call     psdnal()             7FFF30262D60 ? 7FFF30262F70 ?
                                                   7FFF302615E0 ? 7FF0F72E2FF8 ?
                                                   10CC560B0 ? 7FF0F720F9A0 ?
pfrinstr_EXECC()+80  call     pevm_EXECC()         7FF0F75CA9C0 ? 7FF0F748DB78 ?
                                                   000000020 ? 7FF0F72E2FF8 ?
                                                   10CC560B0 ? 7FF0F720F9A0 ?
pfrrun_no_tool()+63  call     pfrinstr_EXECC()     7FF0F72CF668 ? 08AD4AEA4 ?
                                                   7FF0F72CF6D8 ? 7FF0F72E2FF8 ?
                                                   10CC560B0 ? 7FF000000020 ?
pfrrun()+627         call     pfrrun_no_tool()     7FF0F72CF668 ? 08AD4AEA4 ?
                                                   7FF0F72CF6D8 ? 7FF0F72E2FF8 ?
                                                   10CC560B0 ? 7FF000000020 ?
plsql_run()+649      call     pfrrun()             7FF0F72CF668 ? 08AD4AEA4 ?
                                                   7FF0F72CF6D8 ? 7FFF30262D60 ?
                                                   10CC560B0 ? 7FF000000020 ?
peicnt()+302         call     plsql_run()          7FF0F72CF668 ? 08AD4AEA4 ?
                                                   7FF0F72CF6D8 ? 7FFF30262D60 ?
                                                   10CC560B0 ? 7FF000000020 ?
kkxexe()+503         call     peicnt()             7FFF30262D60 ? 7FF0F72CF668 ?
                                                   7FF0F72CF6D8 ? 7FFF30262D60 ?
                                                   10CC560B0 ? 000000000 ?
opiexe()+18001       call     kkxexe()             7FF0F7460408 ? 7FF0F72CF668 ?
                                                   7FF0F72CF6D8 ? 7FFF30262D60 ?
                                                   10CC560B0 ? 000000000 ?
kpoal8()+2118        call     opiexe()             000000049 ? 000000003 ?
                                                   7FF0F72CF6D8 ? 7FFF30262D60 ?
                                                   10CC560B0 ? 000000000 ?
opiodr()+917         call     kpoal8()             00000005E ? 000000003 ?
                                                   7FF0F72CF6D8 ? 7FFF30262D60 ?
                                                   10CC560B0 ? 000000000 ?
ttcpip()+2183        call     opiodr()             00000005E ? 00000001C ?
                                                   7FFF30267590 ? 7FFF30262D60 ?
                                                   10CC560B0 ? 000000000 ?
opitsk()+1710        call     ttcpip()             00C0F2F70 ? 0099A5A50 ?
                                                   7FFF30267590 ? 000000000 ?
                                                   7FFF30266FE8 ? 7FFF3026758C ?
opiino()+969         call     opitsk()             00C0F2F78 ? 000000000 ?
                                                   7FFF30267590 ? 000000000 ?
                                                   7FFF30266FE8 ? 7FFF3026758C ?
opiodr()+917         call     opiino()             00000003C ? 000000004 ?
                                                   7FFF30268D88 ? 000000000 ?
                                                   7FFF30266FE8 ? 7FFF3026758C ?
opidrv()+570         call     opiodr()             00000003C ? 000000004 ?
                                                   7FFF30268D88 ? 000000000 ?
                                                   7FFF30266FE8 ? 7FFF3026758C ?
sou2o()+103          call     opidrv()             00000003C ? 000000004 ?
                                                   7FFF30268D88 ? 000000000 ?
                                                   7FFF30266FE8 ? 7FFF3026758C ?
opimai_real()+133    call     sou2o()              7FFF30268D60 ? 00000003C ?
                                                   000000004 ? 7FFF30268D88 ?
                                                   7FFF30266FE8 ? 7FFF3026758C ?
ssthrdmain()+265     call     opimai_real()        000000002 ? 7FFF30268F50 ?
                                                   000000004 ? 7FFF30268D88 ?
                                                   7FFF30266FE8 ? 7FFF3026758C ?
main()+201           call     ssthrdmain()         000000002 ? 7FFF30268F50 ?
                                                   000000001 ? 000000000 ?
                                                   7FFF30266FE8 ? 7FFF3026758C ?
__libc_start_main()  call     main()               000000002 ? 7FFF302690F8 ?
+245                                               000000001 ? 000000000 ?
                                                   7FFF30266FE8 ? 7FFF3026758C ?
_start()+41          call     __libc_start_main()  000A15470 ? 000000002 ?
                                                   7FFF302690E8 ? 000000000 ?
                                                   7FFF30266FE8 ? 7FFF3026758C ?
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39415664
orac_list
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gandalf-the-grey,

План запроса в дампе есть?

Должен быть где то после строки PLAN DUMP
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39415665
orac_list
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gandalf-the-greyorac_list,

AskTOMand we said...

That sounds like it could be related to bug 21150273.

I'd get in touch with Support.

As a workaround, I'd explore

a) loading your nested table into a global temporary table
b) using the GTT as the source in the merge

Let us know how you go

мы пока другой workaround юзаем.

Этот баг
This bug is only relevant when using XDB

A SQL statement using SYS_OP_ATG may fail with ORA-7445 [qmxtr2MrkOpn()].

У вас наскольяко я понял нет ORA-7445
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ORA-00904: : invalid identifier
    #39662941
Фотография Amberit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся с точно таким же багом.
ORACLE 11.2.0.4
В коде выполняется мердж в таблицу из коллекции, основанной на типе.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
MERGE INTO table_1 dst
USING (
SELECT	t.column_1,
                t.column_2,
                t.column_3,
                t.column_4
FROM        TABLE(CAST(in_tt_table_1 AS tt_table_1)) t
ORDER BY    t.column_1
) src
ON (dst.column_1 = src.column_1)
WHEN MATCHED
THEN
    UPDATE
    SET     dst.column_2 = src.column_2,
              dst.column_3 = src.column_3
WHEN NOT MATCHED
THEN
    INSERT (dst.column_1, dst.column_2, dst.column_3)
    VALUES (src.column_1, src.column_2, src.column_3);



При выполнении в продакшене рэндомно получаем ошибку
Код: plsql
1.
ORA-00904: : invalid identifier 



Особенностью MERGE было то, что имена аттрибутов типа четко совпадали с именами полей в таблице.

В using существовало поле, котороя не участвовало ни в INSERT, ни в UPDATE условия MERGE (t.column_4).
После того, как это поле убрали, ошибка исчезла.
...
Рейтинг: 0 / 0
ORA-00904: : invalid identifier
    #39662972
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amberit,

попробовать не "чистую" TABLE, а напр
FROM DUAL,TABLE(CAST(in_tt_table_1 AS tt_table_1)) t

.....
stax
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-00904: : invalid identifier
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]