powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01555 при компиляции пакета
41 сообщений из 41, показаны все 2 страниц
ORA-01555 при компиляции пакета
    #39600893
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oracle 12.1.0.2

При установке обновления наткнулся на ошибку:
SQL> alter package <pkgname> compile specification;
alter package <pkgname> compile specification
*
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 51 with name "_SYSSMU51_2224619167$" too small

Что пробовал:
- пересобрать статистику: DBMS_STATS.GATHER_SCHEMA_STATS('SYS'), DBMS_STATS.GATHER_DICTIONARY_STATS, DBMS_STATS.GATHER_FIXED_OBJECTS_STATS
- увеличил undo_retention, переключил undo_tablespace на новое ТП, старое удалил
- рестарт БД

При чём, если создать новый пакет с тем же содержимым, то всё проходит успешно, без ошибок.
При удалении пакета <pkgname> тоже ошибка про сегмент отката.

Как исправить базу?
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600905
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посмотри v$lock + v$access
кто-то держит твой пакет
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600911
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymxпосмотри v$lock + v$access
кто-то держит твой пакетБессмысленно.
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600927
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andreymxпосмотри v$lock + v$access
кто-то держит твой пакетПусто там по нужному объекту.
Кстати, выполняется обновление не БД, а прикладного ПО (там отдельная схема со всеми таблицами/пакетами).

Прогонял utlrp.sql - появилось около 30 невалидных пакетов. По ним та же ошибка.
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600932
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
micis, show parameter undo - что кажет ?
select segment_name, status, count(1), sum(bytes) from dba_undo_extents group by segment_name,
status; - под спойлер
alter system flush shared_pool; - затем скомпилировать, не легчает ?
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600948
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S_e_r_jmicis, show parameter undo - что кажет ?
select segment_name, status, count(1), sum(bytes) from dba_undo_extents group by segment_name,
status; - под спойлер
alter system flush shared_pool; - затем скомпилировать, не легчает ?
Очистка шаред пула не помогает (я же базу перестартовывал).
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
SQL> show parameter undo

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
temp_undo_enabled                    boolean                           FALSE
undo_management                      string                            AUTO
undo_retention                       integer                           1800
undo_tablespace                      string                            UNDOTBS2


UNDOTBS2 - это уже новое ТП.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
SQL> select segment_name, status, count(1), sum(bytes) from dba_undo_extents group by segment_name, status;

SEGMENT_NAME                                                                               STATUS                             COUNT(1)      SUM(BYTES)
------------------------------------------------------------------------------------------ --------------------------- --------------- ---------------
_SYSSMU112_4120915282$                                                                     EXPIRED                                  39       495583232
_SYSSMU135_1202412653$                                                                     UNEXPIRED                                 1         8388608
_SYSSMU120_2181181021$                                                                     EXPIRED                                  88       629080064
_SYSSMU118_3120087414$                                                                     UNEXPIRED                                 1         1048576
_SYSSMU135_1202412653$                                                                     EXPIRED                                 113       695861248
_SYSSMU129_1743271524$                                                                     UNEXPIRED                                 2        75497472
_SYSSMU123_1725323317$                                                                     EXPIRED                                  50       813826048
_SYSSMU116_3481408987$                                                                     UNEXPIRED                                 1        67108864
_SYSSMU115_1020019838$                                                                     EXPIRED                                  49       422772736
_SYSSMU115_1020019838$                                                                     UNEXPIRED                                 1        16777216
_SYSSMU134_1729613008$                                                                     EXPIRED                                  14          917504
_SYSSMU134_1729613008$                                                                     UNEXPIRED                                 2          131072
_SYSSMU132_415427142$                                                                      UNEXPIRED                                 1         8388608
_SYSSMU130_1540384887$                                                                     EXPIRED                                   4         8585216
_SYSSMU126_3727929893$                                                                     EXPIRED                                   3         8519680
_SYSSMU117_3877445421$                                                                     EXPIRED                                 153       635699200
_SYSSMU136_277918528$                                                                      UNEXPIRED                                 2        67108864
_SYSSMU131_4289845954$                                                                     EXPIRED                                 447      2541027328
...


Не могу выложить весь селект - наш файрвол не пропускает большие сообщения наружу (но там всё тоже самое).
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600953
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
micis,

вопрос - ошибка сразу возникает или висит некоторое время?
и нет ли в алертлоге помимо 1555 других ошибок?
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600956
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
micis,undo_retention нужно пробовать увеличить, активных сегментов не видно - в выборке.
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600964
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantinomicis,

вопрос - ошибка сразу возникает или висит некоторое время?
и нет ли в алертлоге помимо 1555 других ошибок?
Ошибка возникает сразу (по разному конечно, но максимум 2 секунды).

В алерте такие записи:
Код: sql
1.
2.
3.
4.
Mon Feb 12 09:39:55 2018
ORA-01555 caused by SQL statement below (SQL ID: ady0t9s6h5x5n, SCN: 0x0019.17bebbb2):
Mon Feb 12 09:39:55 2018
table_1_ff_154_0_0_0
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600966
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
micis,select tablespace_name, file_name,autoextensible, bytes/1024/1024 MB from dba_data_files where tablespace_name='UNDOTBS2';
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600967
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
micis
Код: sql
1.
ORA-01555 caused by SQL statement below (SQL ID: ady0t9s6h5x5n, SCN: 0x0019.17bebbb2):


а глянуть если
select SQL_TEXT from v$SQL where SQL_ID=ady0t9s6h5x5n ?
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600969
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S_e_r_jmicis,select tablespace_name, file_name,autoextensible, bytes/1024/1024 MB from dba_data_files where tablespace_name='UNDOTBS2';
Код: sql
1.
2.
3.
4.
5.
SQL> select tablespace_name, file_name,autoextensible, bytes/1024/1024 MB from dba_data_files where tablespace_name='UNDOTBS2';

TABLESPACE_NAME      FILE_NAME                                                                                            AUTOEXTEN              MB
-------------------- ---------------------------------------------------------------------------------------------------- --------- ---------------
UNDOTBS2             /oradata/testdb2/UNDOTBS2.dbf                                                                        YES                 27648



Это тестовая БД, там нет большой нагрузки.
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600970
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
micisЭто тестовая БД, там нет большой нагрузки. - и сегментов undo в статусе ACTIVE , зато - есть ORA-01555: snapshot too old
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600971
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantinoа глянуть если
select SQL_TEXT from v$SQL where SQL_ID=ady0t9s6h5x5n ?Ничего не находит. Но это именно тот код, который компилит или пересоздаёт пакет (в OEM видно, что этот id выполняется во время компиляции).
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600972
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
micisQ.Tarantinoа глянуть если
select SQL_TEXT from v$SQL where SQL_ID=ady0t9s6h5x5n ?Ничего не находит. Но это именно тот код, который компилит или пересоздаёт пакет (в OEM видно, что этот id выполняется во время компиляции).
а давай тогда так попробуем:
select SQL_TEXT from DBA_HIST_SQLTEXT where SQL_ID='ady0t9s6h5x5n'
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600973
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если в ОЕМ видно, попробуй выловить все же код во время или сразу после выполнения, не должен так быстро вымываться.

p.s. одинарные кавычки в первом случае я забыл указать
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600975
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S_e_r_j,
Код: sql
1.
2.
3.
4.
5.
SQL> select segment_name, status, count(1), sum(bytes) from dba_undo_extents where status='ACTIVE' group by segment_name, status;

SEGMENT_NAME                                                                               STATUS                             COUNT(1)      SUM(BYTES)
------------------------------------------------------------------------------------------ --------------------------- --------------- ---------------
_SYSSMU109_988804322$                                                                      ACTIVE                                    1         8388608


Активные сегменты есть, только не в них дело, как мне кажется...
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600977
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
micisАктивные сегменты есть, только не в них дело, как мне кажется...
угу, мне тож так кажется.
ищи тот запрос :)
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600980
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantinoесли в ОЕМ видно, попробуй выловить все же код во время или сразу после выполнения, не должен так быстро вымываться.

p.s. одинарные кавычки в первом случае я забыл указать
ОЕМ показывает только sql_id. Да и зачем мне смотреть на код, когда я сам его выполняю из sqlplus-а?
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600982
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
micisАктивные сегменты есть, только не в них дело, как мне кажется... -если активные все же есть(а их не может не быть), то да, как вариант, expired не очищались , а только плодились - но раз активные есть, то не канает - всплывали на эту тему баги, видимо не тот случай
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600991
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если под SYSом попробовать откомпилить?
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600994
li_malina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
micis,

А при проведении обновления ПО-активные сессии есть в базе работающие с этим пакетом?
Попробуйте провести обновление сняв все активные сессии и остановив listener(это ошибка может возникать из-за блокировок
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600997
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nobody1111А если под SYSом попробовать откомпилить? -
micis Прогонял utlrp.sql - появилось около 30 невалидных пакетов. По ним та же ошибка.

Компиляция объекта и ORA-01555, у них столько же общего, сколько у блондинки с кашалотом - что то тут не то, хотя бы что за ОС написал ТС
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39600999
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и вообще, неплохо бы трассировку снять, хотя бы обычную. Возможно, глючит какой-то рекурсивный sql, а не сама компиляция.
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601005
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и на всякий случай уж, мало ли...


SELECT * from dba_rollback_segs where segment_name='SYSTEM';
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601025
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_e_r_jКомпиляция объекта и ORA-01555, у них столько же общего, сколько у блондинки с кашалотом - что то тут не то
в оракле часто бывает что-то не то.
думаешь во время компиляции не идет обращения к таблицам словаря?
1555 бывает и при битых лобах, и при битых индексах...
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601033
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantinoдумаешь во время компиляции не идет обращения к таблицам словаря?
1555 бывает и при битых лобах, и при битых индексах... - вся компиляция это есть действия с словарем исключительно, сегменты отката тут не нужны
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601036
DKbru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
C 12c пока очень осторожно общаюсь, поэтому каких-то важных нюансов могу не знать, но всё же.
Во-первых, 12.1 по субъективным отзывам довольно глючная, и хотя похожей на Вашу проблему в багах я не нашёл, раз есть тест и, конечно, время и желание можно апгрейднуться до 12.2 и посмотреть, как будет вести себя пакет и вообще БД в целом. Потому что, не случайно Оракл начало продавать свою СУБД сразу назвав v2. Это общий совет.
Во-вторых можно, пожалуйста, показать параметры UNDO (managment и retention). Может у Вас manual. Я думаю, что возможно всё-таки проблема в транзакциях, может проблема в кривой бизнес-логике, связанной с пакетом (тупой пример огромный курсор-цикл с внутренним апдейтом с забытым where в какой-нибудь процедуре). Отрубите все зависимости и отлавливайте проблемную область. Отключите всех от базы, можете попробовать перевести БД в состояние покоя (alter system quiesce restricted, потом только не забыть обратно unrestricted вернуть), дождаться, когда все сегменты протухнут и попробовать под SYS откомпилить проблемный пакет.
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601045
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S_e_r_jвся компиляция это есть действия с словарем исключительно, сегменты отката тут не нужнызаблуждаешься
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601046
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал и под sys-ом компилить.
Пробовал даже открывать базу в upgrade-mode (что бы никто лишний не подключился, и джобы не работали).
OS - Solaris 11.3

Но т.к. все датафайлы лежат на zfs, то я сделал снапшот (что бы не доломать тестовую), примонтировал его на другой сервер (там сделал другой сид и путь к базе - пришлось переименовывать датафайлы)... и пакет успешно скомпилировался!!!

Содержимое OS, ORACLE_HOME идентичное на серверах (это зоны солярки).

Попробовал сейчас сменить сид у первоначальной базы - не компилится пакет.
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601048
DKbru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S_e_r_j,

Серьёзно? Зачем тогда ошибка ORA-04068? И содержимое пакетов до и после компиляции может быть изменено. Так что при обращении к откомпилированный пакету могут произойти и действия, которые используют роллбек сегменты.
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601053
DKbru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
micis,

Когда в апгрейде проверяли, удостоверились в том, что сегменты все протухли? Может пока БД переносили и переименовывали ДФ сегменты все протухли и у вас получилось? Если так, то если новая база будет эксплуатироваться идентично прошлой, то возможно вы получите свою проблему снова.
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601055
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elicзаблуждаешься - ок, не сам dictionary, а системные представления, если нам нужны зависимости,права и т.д... от/для объекта и т.д. - то мы их получаем из системных представлений БД, и вся выборка по объекту оттуда же и потом внезапно ORA -01555
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601057
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DKbruВо-первых, 12.1 по субъективным отзывам довольно глючная, и хотя похожей на Вашу проблему в багах я не нашёл, раз есть тест и, конечно, время и желание можно апгрейднуться до 12.2 и посмотреть
я хоть и не ел омаров, но говорят они гавно! :)
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601058
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DKbruТак что при обращении к откомпилированный пакету могут произойти и действия, которые используют роллбек сегменты. - execute immediate , например?
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601060
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Elicне нужнызаблуждаешься[/quot] - {дальтоник моде офф}, но вообще то выше статистика собрана, по фиксированным объектам у ТС, запрос даже не 30 минут и 1 секунду, висит и валит ora-01555 ? -
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601112
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
micisВ алерте такие записи:
Код: sql
1.
2.
3.
4.
Mon Feb 12 09:39:55 2018
ORA-01555 caused by SQL statement below (SQL ID: ady0t9s6h5x5n, SCN: 0x0019.17bebbb2):
Mon Feb 12 09:39:55 2018
table_1_ff_154_0_0_0

Это обращение к лобам, вроде (V$OPEN_CURSOR HAVING SQL_IDs WHICH DO NOT EXIST IN V$SQLAREA (Doc ID 838321.1))

Почему бы не оттрассировать?

Ну и всякие там триггеры на DDL проверялись? Дополнительные фичи типа DV?
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601119
DKbru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantino,

Да ладно Вам :) Никогда такого не было, что 1 релиз в ветке довольно глючный и вот опять? Вспомните, что 10.1 и особенно 11.1.
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601130
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DKbruНикогда такого не было, что 1 релиз в ветке довольно глючный и вот опять? Вспомните, что 10.1 и особенно 11.1.

Ну, теперь-то, с 2018-го каждый раз первый будет. Заживем....
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601526
micis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решился наконец-то вопрос с компиляцией!

Когда говорил, что хосты и оракловое окружение одинаковые, то забыл посмотреть на инит-файл.
Оказалось, что вчера когда поднимал на другом хосте, скопировал инитку с другой базы, где стоял скрытый параметр.

У нас давно, после switchover, были ошибки в алерте на основной БД:
ORA-00600: [ktbdchk1: bad dscn]
и лечится это установкой параметра "_ktb_debug_flags"=8
Вот он-то и помог.

А трейс я собирал, но там нет указания причины, только та же самая ошибка (приложил трейс).
...
Рейтинг: 0 / 0
ORA-01555 при компиляции пакета
    #39601537
S_e_r_j
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
micis,
12.2 тогда осваивайте , там пофиксено :-)
...
Рейтинг: 0 / 0
41 сообщений из 41, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-01555 при компиляции пакета
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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