Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
Помогите разобраться ...

Есть 2-е процедуры в различных БД: одна экспортирует набор данных, другая их импортирует. Обмен происходит с помощью коллекции.
[url=http://]www.sql.ru/forum/actualthread.aspx?tid=297949&hl=totos[/url]


Протестировал локально процедуру экспорта (которая возвращает наборы данных) - работает независимо от размера набора. Но если процедура импорта вызывает удаленную процедуру экспорта, то она работает только для небольшого результирующего набора данных (пробовал на 80 строчках), но если экспорт возвращает больше (1345 строк), то возникает ошибка ORA-03113.

Попробовал поискать на форуме - выяснилось, что это многосторонняя ошибка, которая возникает при множестве ситуаций. Может кто-нибудь конкретно сталкивался с данной проблемой.

Прикладываю файл с процедурами - может я что-то ни так делаю.

К сообщению приложен файл (Quest.txt - 4Kb) cкачать
6 июн 06, 14:50    [2745372]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
Люди, А-А-А-А-У-У-У-У. Не уж то, все уже с работы ушли.

Уважаемые зубры ORACLа, подскажите хотя бы в каком направлении мне двигаться. А то сейчас придет начальство и мне останется только одно направление - к выход.
6 июн 06, 15:35    [2745622]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6910
LIMIT пробовали?
6 июн 06, 16:21    [2745993]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
А по подробнее можно ???

Ну рас не понимаю о чем речь - видимо нет.

P.S. У меня небольшой стаж работы с Oracle.
6 июн 06, 16:35    [2746085]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6910
The optional LIMIT clause, allowed only in bulk (not scalar) FETCH
statements, lets you limit the number of rows fetched from the database. The 
syntax is

FETCH ... BULK COLLECT INTO ... [LIMIT rows];
6 июн 06, 16:47    [2746177]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
он же
Member

Откуда:
Сообщений: 715
Это просто нечитаемо.
6 июн 06, 16:49    [2746188]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
он же
Member

Откуда:
Сообщений: 715
Это я к автору по поводу его процедур.
6 июн 06, 16:50    [2746192]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
Просмотрел alert.log в той базе, которая выполняет процедуру экспорта и там выдается такое сообщение:

Tue Jun 06 17:07:54 2006
Errors in file d:\oracle\server\admin\orcltest\udump\orcltest_ora_3452.trc:
ORA-00600: internal error code, arguments: [kopp2pic798], [], [], [], [], [], [], []

Странно почему в БД экспорта, хотя процедуру экспорта вызывает другая процедура из другой базы.

Но orcltest_ora_3452.trc мне ничего не дает - я просто не умею его читать. Может кто-нибудь по этим данным скажет в чем причина.
6 июн 06, 17:00    [2746267]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6910
он же
Это я к автору по поводу его процедур.

я не понял... там commit в цикле стоит или вне его?
 for i in 1..DATA_IMPORT.COUNT
 loop	
   LOC_OBJECTS.ART_ID := DATA_IMPORT(i).PART_AID;
   LOC_OBJECTS.DESIGNATION := DATA_IMPORT(i).DESIGNATION;
   LOC_OBJECTS.NAME := DATA_IMPORT(i).NAME;
						 
   LOC_OBJECTS.OKP_CODE := REPLACE(DATA_IMPORT(i).OKP_CODE,' ');
   LOC_OBJECTS.RAZDEL := DATA_IMPORT(i). RAZDEL;
							 
   LOC_OBJECTS.PURCHASED := DATA_IMPORT(i).PURCHASED;
   LOC_OBJECTS.ART_VER_NUM := DATA_IMPORT(i).ART_VER_NUM;
   .........................................
   commit;
6 июн 06, 17:01    [2746274]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
Забыл сам файл.
Только он по частям.
Часть 1 -

К сообщению приложен файл (orcltest_ora_3452.part01.rar - 50Kb) cкачать
6 июн 06, 17:06    [2746316]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
Часть 2 -
6 июн 06, 17:07    [2746319]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
Часть 2 -

К сообщению приложен файл (orcltest_ora_3452.part02.rar - 50Kb) cкачать
6 июн 06, 17:07    [2746328]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
Часть 3 -

К сообщению приложен файл (orcltest_ora_3452.part03.rar - 50Kb) cкачать
6 июн 06, 17:08    [2746336]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
Часть 4 (последняя) -

К сообщению приложен файл (orcltest_ora_3452.part04.rar - 21Kb) cкачать
6 июн 06, 17:09    [2746339]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
Что касается COMMIT, то он после цикла.
6 июн 06, 17:11    [2746357]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6910
Totos
...Только он по частям. Часть 1... Часть 2...

И Вы думаете кто-то Вам поможет, разжует? Сперва ответьте на то, что Вам уже сказали...
6 июн 06, 17:12    [2746364]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6910
а зачем все эти строки?
 LOC_OBJECTS.ART_ID := DATA_IMPORT(i).PART_AID;
 LOC_OBJECTS.DESIGNATION := DATA_IMPORT(i).DESIGNATION;
 LOC_OBJECTS.NAME := DATA_IMPORT(i).NAME;
6 июн 06, 17:18    [2746400]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
alex-ls
а зачем все эти строки?
 LOC_OBJECTS.ART_ID := DATA_IMPORT(i).PART_AID;
 LOC_OBJECTS.DESIGNATION := DATA_IMPORT(i).DESIGNATION;
 LOC_OBJECTS.NAME := DATA_IMPORT(i).NAME;


Есть пользовательский тип данных. LOC_OBJECTS - переменная этого типа. Её заполняю и передаю в процедуру.
6 июн 06, 17:25    [2746461]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6910
а Вы что-нить другое пробовали через удаленный вызов делать? Может он плохо настроен?
6 июн 06, 17:27    [2746474]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6910
Totos
alex-ls
а зачем все эти строки?
 LOC_OBJECTS.ART_ID := DATA_IMPORT(i).PART_AID;
 LOC_OBJECTS.DESIGNATION := DATA_IMPORT(i).DESIGNATION;
 LOC_OBJECTS.NAME := DATA_IMPORT(i).NAME;


Есть пользовательский тип данных. LOC_OBJECTS - переменная этого типа. Её заполняю и передаю в процедуру.

а почему DATA_IMPORT(i) сразу не передать?
6 июн 06, 17:28    [2746485]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
Любые select запросы проходят.

Да и эта процедура работает, но с небольшим количеством данных.
6 июн 06, 17:28    [2746487]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6910
Totos
Любые select запросы проходят.

Да и эта процедура работает, но с небольшим количеством данных.
советуют тут ora-600 в логе поисать...
6 июн 06, 17:32    [2746511]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
alex-ls
Totos
alex-ls
а зачем все эти строки?
 LOC_OBJECTS.ART_ID := DATA_IMPORT(i).PART_AID;
 LOC_OBJECTS.DESIGNATION := DATA_IMPORT(i).DESIGNATION;
 LOC_OBJECTS.NAME := DATA_IMPORT(i).NAME;


Есть пользовательский тип данных. LOC_OBJECTS - переменная этого типа. Её заполняю и передаю в процедуру.

а почему DATA_IMPORT(i) сразу не передать?


А не все, что возвращает DATA_IMPORT(i) нужно копировать в LOC_OBJECTS.
6 июн 06, 17:37    [2746541]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
alex-ls
Member

Откуда: Иркутская обл - Пенза - Москва
Сообщений: 6910
Totos
alex-ls
Totos
alex-ls
а зачем все эти строки?
 LOC_OBJECTS.ART_ID := DATA_IMPORT(i).PART_AID;
 LOC_OBJECTS.DESIGNATION := DATA_IMPORT(i).DESIGNATION;
 LOC_OBJECTS.NAME := DATA_IMPORT(i).NAME;


Есть пользовательский тип данных. LOC_OBJECTS - переменная этого типа. Её заполняю и передаю в процедуру.

а почему DATA_IMPORT(i) сразу не передать?


А не все, что возвращает DATA_IMPORT(i) нужно копировать в LOC_OBJECTS.

а может это не все сразу на уровне запроса отсеять лучше?
6 июн 06, 17:38    [2746549]     Ответить | Цитировать Сообщить модератору
 Re: ORA-03113 при передачи набора данных между 2-мя БД  [new]
Totos
Member

Откуда: Калуга
Сообщений: 193
alex-ls
Totos
Любые select запросы проходят.

Да и эта процедура работает, но с небольшим количеством данных.
советуют тут ora-600 в логе поисать...


А в каком логе ??? В alert.log - нашел (смю выше). Или еще где-нибудь.
6 июн 06, 17:38    [2746551]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить