CftClub.ru
Клуб специалистов ЦФТ-Банк

Ошибки_в_операциях_после_разворачивания_базы_из_дампа
На страницу Пред.  1, 2, 3, 4, 5  След.
 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 ?
У вас вообще ничего работать не должно.

может быть Вы ошиблись, и накатывали дамп на одну схему, а ходите по другой?

Боюсь, тут я ничем помочь не смогу Sad
Programmer
Участник - экстремал


Вступление в Клуб: 26.11.2014
СообщениеСр Дек 24, 2014 13:12    Ответить с цитатой
Полезность: Нет оценки
Random пишет:
Programmer пишет:
Volod пишет:
А это что возвращает?

select SYS_CONTEXT('IBS_SYSTEM','USR') from dual

(null)


Скажите, а вообще эта схема работает?
Вы сами представляете, что это - нет пакета rtl ?
У вас вообще ничего работать не должно.

может быть Вы ошиблись, и накатывали дамп на одну схему, а ходите по другой?

Боюсь, тут я ничем помочь не смогу Sad


У меня работает все кроме массовых операция на которое у меня выдается ошибка
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 - кредит, и т.д.
Если где-то нужно уникальное значение, для идентификатора или поля для массива, оно берётся из одного и того же сиквенса.
Однако базу ты поднял из дампа и скорее всего в базе (в документах, например) появились записи с идентификаторами (или числами в полях для массивов), до которых счётчик сиквенса ещё не дошёл. Отсюда повторения значений.
Вероятность попасть на повтор значения при единичной вставке много ниже, чем если при массовой вставке значения берутся диапазоном.

А ты не можешь достать значение из сиквенса, чтобы подтвердить это предположение.
Даже чтобы накрутить значение сиквенса, тебе всё равно понадобится до него добраться.
Так что разбирайся.
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Настройка и сопровождение Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4, 5  След.
Страница 2 из 5

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru