Ошибки_в_операциях_после_разворачивания_базы_из_дампа
На страницу Пред. 1, 2, 3, 4, 5 След.
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Пн Дек 22, 2014 15:53   |
|
Полезность: Нет оценки
|
Programmer пишет: |
Вот результаты
Код: | select seq_id.nextval from dual;
ORA-02289: последовательность не существует
02289. 00000 - "sequence does not exist"
*Cause: The specified sequence does not exist, or the user does
not have the required privilege to perform this operation.
*Action: Make sure the sequence name is correct, and that you have
the right to perform the desired operation on this sequence.
Error at Line: 1 Column: 7
|
Код: |
begin
dbms_output.put_line(ibs.next_value('SEQ_ID'));
end;
Error starting at line 1 in command:
begin
dbms_output.put_line(ibs.next_value('SEQ_ID'));
end;
Error report:
ORA-06550: Строка 2, столбец 25:
PLS-00201: идентификатор 'IBS.NEXT_VALUE' должен быть объявлен
ORA-06550: Строка 2, столбец 4:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
|
|
Вы точно под пользователем IBS выполняете запросы?
И потом, почему IBS.next_value ?
Я написал RTL.next_value.
RTL - это имя пакета, не надо его менять. |
|
|
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Пн Дек 22, 2014 16:11   |
|
Полезность: Нет оценки
|
Random пишет: | Programmer пишет: |
Вот результаты
Код: | select seq_id.nextval from dual;
ORA-02289: последовательность не существует
02289. 00000 - "sequence does not exist"
*Cause: The specified sequence does not exist, or the user does
not have the required privilege to perform this operation.
*Action: Make sure the sequence name is correct, and that you have
the right to perform the desired operation on this sequence.
Error at Line: 1 Column: 7
|
Код: |
begin
dbms_output.put_line(ibs.next_value('SEQ_ID'));
end;
Error starting at line 1 in command:
begin
dbms_output.put_line(ibs.next_value('SEQ_ID'));
end;
Error report:
ORA-06550: Строка 2, столбец 25:
PLS-00201: идентификатор 'IBS.NEXT_VALUE' должен быть объявлен
ORA-06550: Строка 2, столбец 4:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
|
|
Вы точно под пользователем IBS выполняете запросы?
И потом, почему IBS.next_value ?
Я написал RTL.next_value.
RTL - это имя пакета, не надо его менять. |
Я и этот запрос выполнял. Хотя у меня такой схемы нет(((
А под каким пользователем это делать? |
|
|
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Вт Дек 23, 2014 03:20   |
|
Полезность: Нет оценки
|
А что за база то ? Это точно ИБСО ? |
|
|
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Вт Дек 23, 2014 07:51   |
|
Полезность: Нет оценки
|
Alkov пишет: | А что за база то ? Это точно ИБСО ? |
Версия ТЯ 7.3.0.6 |
|
|
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Вт Дек 23, 2014 13:26   |
|
Полезность: Нет оценки
|
Programmer пишет: | Random пишет: | Programmer пишет: |
Вот результаты
Код: | select seq_id.nextval from dual;
ORA-02289: последовательность не существует
02289. 00000 - "sequence does not exist"
*Cause: The specified sequence does not exist, or the user does
not have the required privilege to perform this operation.
*Action: Make sure the sequence name is correct, and that you have
the right to perform the desired operation on this sequence.
Error at Line: 1 Column: 7
|
Код: |
begin
dbms_output.put_line(ibs.next_value('SEQ_ID'));
end;
Error starting at line 1 in command:
begin
dbms_output.put_line(ibs.next_value('SEQ_ID'));
end;
Error report:
ORA-06550: Строка 2, столбец 25:
PLS-00201: идентификатор 'IBS.NEXT_VALUE' должен быть объявлен
ORA-06550: Строка 2, столбец 4:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
|
|
Вы точно под пользователем IBS выполняете запросы?
И потом, почему IBS.next_value ?
Я написал RTL.next_value.
RTL - это имя пакета, не надо его менять. |
Я и этот запрос выполнял. Хотя у меня такой схемы нет(((
А под каким пользователем это делать? |
Обратите внимание на три строчки выше.
Я там задаю вопрос: Вы точно под пользователем IBS выполняете запросы?
Из этого вопроса можно понять, что выполнять запросы следует под владельцем схемы.
Если у Вас на схеме нет пользователя-владельца схемы... ну тогда рекомендую обратиться к ДБА Вашего банка. |
|
|
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Вт Дек 23, 2014 13:38   |
|
Полезность: Нет оценки
|
Random пишет: | Programmer пишет: | Random пишет: | Programmer пишет: |
Вот результаты
Код: | select seq_id.nextval from dual;
ORA-02289: последовательность не существует
02289. 00000 - "sequence does not exist"
*Cause: The specified sequence does not exist, or the user does
not have the required privilege to perform this operation.
*Action: Make sure the sequence name is correct, and that you have
the right to perform the desired operation on this sequence.
Error at Line: 1 Column: 7
|
Код: |
begin
dbms_output.put_line(ibs.next_value('SEQ_ID'));
end;
Error starting at line 1 in command:
begin
dbms_output.put_line(ibs.next_value('SEQ_ID'));
end;
Error report:
ORA-06550: Строка 2, столбец 25:
PLS-00201: идентификатор 'IBS.NEXT_VALUE' должен быть объявлен
ORA-06550: Строка 2, столбец 4:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
|
|
Вы точно под пользователем IBS выполняете запросы?
И потом, почему IBS.next_value ?
Я написал RTL.next_value.
RTL - это имя пакета, не надо его менять. |
Я и этот запрос выполнял. Хотя у меня такой схемы нет(((
А под каким пользователем это делать? |
Обратите внимание на три строчки выше.
Я там задаю вопрос: Вы точно под пользователем IBS выполняете запросы?
Из этого вопроса можно понять, что выполнять запросы следует под владельцем схемы.
Если у Вас на схеме нет пользователя-владельца схемы... ну тогда рекомендую обратиться к ДБА Вашего банка. |
Error starting at line 1 in command:
begin
dbms_output.put_line(RTL.next_value('SEQ_ID'));
end;
Error report:
ORA-06550: Строка 2, столбец 25:
PLS-00201: идентификатор 'RTL.NEXT_VALUE' должен быть объявлен
ORA-06550: Строка 2, столбец 4:
PL/SQL: Statement ignored
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
Выполняю запрос под пользователем IBS вледельцом схемы.
Так же выполнял запрос под sys пользователем.
Результат аналогичен. |
|
|
Volod Эксперт
Вступление в Клуб: 19.09.2007
|
Вт Дек 23, 2014 14:26   |
|
Полезность: Нет оценки
|
А это что возвращает?
select SYS_CONTEXT('IBS_SYSTEM','USR') from dual |
|
|
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Вт Дек 23, 2014 14:36   |
|
Полезность: Нет оценки
|
Volod пишет: | А это что возвращает?
select SYS_CONTEXT('IBS_SYSTEM','USR') from dual |
(null) |
|
|
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Ср Дек 24, 2014 10:57   |
|
Полезность: Нет оценки
|
Programmer пишет: | Volod пишет: | А это что возвращает?
select SYS_CONTEXT('IBS_SYSTEM','USR') from dual |
(null) |
Скажите, а вообще эта схема работает?
Вы сами представляете, что это - нет пакета rtl ?
У вас вообще ничего работать не должно.
может быть Вы ошиблись, и накатывали дамп на одну схему, а ходите по другой?
Боюсь, тут я ничем помочь не смогу |
|
|
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Ср Дек 24, 2014 13:12   |
|
Полезность: Нет оценки
|
Random пишет: | Programmer пишет: | Volod пишет: | А это что возвращает?
select SYS_CONTEXT('IBS_SYSTEM','USR') from dual |
(null) |
Скажите, а вообще эта схема работает?
Вы сами представляете, что это - нет пакета rtl ?
У вас вообще ничего работать не должно.
может быть Вы ошиблись, и накатывали дамп на одну схему, а ходите по другой?
Боюсь, тут я ничем помочь не смогу |
У меня работает все кроме массовых операция на которое у меня выдается ошибка
ORA-00001: нарушено ограничение уникальности (IBS.Z#IX_Z#DOCUMENT_COL9)
Схемы у меня такой вообще нет но у меня есть пользователь IBS. И есть такая схема. |
|
|
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Ср Дек 24, 2014 15:48   |
|
Полезность: Нет оценки
|
Programmer пишет: |
Схемы у меня такой вообще нет но у меня есть пользователь IBS. И есть такая схема. |
Что вы имеете в виду под словом "схема"?
Выполните, пожалуйста, запрос:
Код: |
select * from all_objects where object_name in ('RTL', 'SEQ_ID')
|
|
|
|
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Чт Дек 25, 2014 07:22   |
|
Полезность: Нет оценки
|
Random пишет: | Programmer пишет: |
Схемы у меня такой вообще нет но у меня есть пользователь IBS. И есть такая схема. |
Что вы имеете в виду под словом "схема"?
Выполните, пожалуйста, запрос:
Код: |
select * from all_objects where object_name in ('RTL', 'SEQ_ID')
|
|
Вывод в архиве. |
|
|
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Пт Дек 26, 2014 05:43   |
|
Полезность: Нет оценки
|
Programmer пишет: | Random пишет: | Programmer пишет: |
Схемы у меня такой вообще нет но у меня есть пользователь IBS. И есть такая схема. |
Что вы имеете в виду под словом "схема"?
Выполните, пожалуйста, запрос:
Код: |
select * from all_objects where object_name in ('RTL', 'SEQ_ID')
|
|
Вывод в архиве. |
Тогда я не понимаю.
select seq_id.nextval from dual под пользователем IBS не должен говорить вам, что сиквенс не существует.
Аналогично с пакетом rtl. |
|
|
Programmer Участник - экстремал
Вступление в Клуб: 26.11.2014
|
Пт Дек 26, 2014 07:17   |
|
Полезность: Нет оценки
|
Дело в том что эти ошибки у меня валятся в АРМе сама база работает нормально, пакеты откомпилированы. А вот когда операционисты работают, кридитники, депозитчики. То у них как раз валятся эти ошибки.. причем когда надо вывести массово какой то список, к примеру все счета по кредитному договору, или выполнить операцию начисления процентов, ну и т.д. и т.п.(((((
Что делать с этим не пойму... |
|
|
Random Эксперт
Вступление в Клуб: 27.06.2011
|
Пт Дек 26, 2014 15:13   |
|
Полезность: Нет оценки
|
Programmer пишет: | Дело в том что эти ошибки у меня валятся в АРМе сама база работает нормально, пакеты откомпилированы. А вот когда операционисты работают, кридитники, депозитчики. То у них как раз валятся эти ошибки.. причем когда надо вывести массово какой то список, к примеру все счета по кредитному договору, или выполнить операцию начисления процентов, ну и т.д. и т.п.(((((
Что делать с этим не пойму... |
С самого начала темы обсуждается. Дело скорее всего в идентификаторах.
Все идентификаторы всей схемы имеют один источник - сиквенс seq_id.
Иногда он используется напрямую:
insert into ...(id, ...) values(seq_id.nextval,...), иногда опосредованно через rtl.next_value('SEQ_ID');
Он сквозной, понимаешь?
1 - счёт, 2 - счёт, 3 - документ, 4 - кредит, и т.д.
Если где-то нужно уникальное значение, для идентификатора или поля для массива, оно берётся из одного и того же сиквенса.
Однако базу ты поднял из дампа и скорее всего в базе (в документах, например) появились записи с идентификаторами (или числами в полях для массивов), до которых счётчик сиквенса ещё не дошёл. Отсюда повторения значений.
Вероятность попасть на повтор значения при единичной вставке много ниже, чем если при массовой вставке значения берутся диапазоном.
А ты не можешь достать значение из сиквенса, чтобы подтвердить это предположение.
Даже чтобы накрутить значение сиквенса, тебе всё равно понадобится до него добраться.
Так что разбирайся. |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|