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

Откуда:
Сообщений: 79
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> тоже ошибка про сегмент отката.

Как исправить базу?
13 фев 18, 05:09    [21186678]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 54385
посмотри v$lock + v$access
кто-то держит твой пакет
13 фев 18, 07:06    [21186711]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
Elic
Member

Откуда:
Сообщений: 29990
andreymx
посмотри v$lock + v$access
кто-то держит твой пакет
Бессмысленно.
13 фев 18, 07:26    [21186731]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
micis
Member

Откуда:
Сообщений: 79
andreymx
посмотри v$lock + v$access
кто-то держит твой пакет
Пусто там по нужному объекту.
Кстати, выполняется обновление не БД, а прикладного ПО (там отдельная схема со всеми таблицами/пакетами).

Прогонял utlrp.sql - появилось около 30 невалидных пакетов. По ним та же ошибка.
13 фев 18, 08:30    [21186788]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
S_e_r_j
Member

Откуда: из серверной
Сообщений: 50
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; - затем скомпилировать, не легчает ?
13 фев 18, 09:03    [21186810]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
micis
Member

Откуда:
Сообщений: 79
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; - затем скомпилировать, не легчает ?

Очистка шаред пула не помогает (я же базу перестартовывал).
+
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 - это уже новое ТП.
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
...

Не могу выложить весь селект - наш файрвол не пропускает большие сообщения наружу (но там всё тоже самое).
13 фев 18, 09:31    [21186864]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
Q.Tarantino
Member [заблокирован]

Откуда: Где-то рядом...
Сообщений: 12015
micis,

вопрос - ошибка сразу возникает или висит некоторое время?
и нет ли в алертлоге помимо 1555 других ошибок?
13 фев 18, 09:34    [21186875]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
S_e_r_j
Member

Откуда: из серверной
Сообщений: 50
micis,undo_retention нужно пробовать увеличить, активных сегментов не видно - в выборке.
13 фев 18, 09:39    [21186882]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
micis
Member

Откуда:
Сообщений: 79
Q.Tarantino
micis,

вопрос - ошибка сразу возникает или висит некоторое время?
и нет ли в алертлоге помимо 1555 других ошибок?

Ошибка возникает сразу (по разному конечно, но максимум 2 секунды).

В алерте такие записи:
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
13 фев 18, 09:54    [21186912]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
S_e_r_j
Member

Откуда: из серверной
Сообщений: 50
micis,select tablespace_name, file_name,autoextensible, bytes/1024/1024 MB from dba_data_files where tablespace_name='UNDOTBS2';
13 фев 18, 09:57    [21186921]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
Q.Tarantino
Member [заблокирован]

Откуда: Где-то рядом...
Сообщений: 12015
micis
ORA-01555 caused by SQL statement below (SQL ID: ady0t9s6h5x5n, SCN: 0x0019.17bebbb2):

а глянуть если
select SQL_TEXT from v$SQL where SQL_ID=ady0t9s6h5x5n ?
13 фев 18, 10:05    [21186939]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
micis
Member

Откуда:
Сообщений: 79
S_e_r_j
micis,select tablespace_name, file_name,autoextensible, bytes/1024/1024 MB from dba_data_files where tablespace_name='UNDOTBS2';

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


Это тестовая БД, там нет большой нагрузки.
13 фев 18, 10:08    [21186952]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
S_e_r_j
Member

Откуда: из серверной
Сообщений: 50
micis
Это тестовая БД, там нет большой нагрузки.
- и сегментов undo в статусе ACTIVE , зато - есть ORA-01555: snapshot too old
13 фев 18, 10:11    [21186962]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
micis
Member

Откуда:
Сообщений: 79
Q.Tarantino
а глянуть если
select SQL_TEXT from v$SQL where SQL_ID=ady0t9s6h5x5n ?
Ничего не находит. Но это именно тот код, который компилит или пересоздаёт пакет (в OEM видно, что этот id выполняется во время компиляции).
13 фев 18, 10:12    [21186964]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
Q.Tarantino
Member [заблокирован]

Откуда: Где-то рядом...
Сообщений: 12015
micis
Q.Tarantino
а глянуть если
select SQL_TEXT from v$SQL where SQL_ID=ady0t9s6h5x5n ?
Ничего не находит. Но это именно тот код, который компилит или пересоздаёт пакет (в OEM видно, что этот id выполняется во время компиляции).

а давай тогда так попробуем:
select SQL_TEXT from DBA_HIST_SQLTEXT where SQL_ID='ady0t9s6h5x5n'
13 фев 18, 10:14    [21186970]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
Q.Tarantino
Member [заблокирован]

Откуда: Где-то рядом...
Сообщений: 12015
если в ОЕМ видно, попробуй выловить все же код во время или сразу после выполнения, не должен так быстро вымываться.

p.s. одинарные кавычки в первом случае я забыл указать
13 фев 18, 10:15    [21186973]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
micis
Member

Откуда:
Сообщений: 79
S_e_r_j,
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

Активные сегменты есть, только не в них дело, как мне кажется...
13 фев 18, 10:18    [21186979]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
Q.Tarantino
Member [заблокирован]

Откуда: Где-то рядом...
Сообщений: 12015
micis
Активные сегменты есть, только не в них дело, как мне кажется...

угу, мне тож так кажется.
ищи тот запрос :)
13 фев 18, 10:19    [21186985]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
micis
Member

Откуда:
Сообщений: 79
Q.Tarantino
если в ОЕМ видно, попробуй выловить все же код во время или сразу после выполнения, не должен так быстро вымываться.

p.s. одинарные кавычки в первом случае я забыл указать

ОЕМ показывает только sql_id. Да и зачем мне смотреть на код, когда я сам его выполняю из sqlplus-а?
13 фев 18, 10:22    [21186992]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
S_e_r_j
Member

Откуда: из серверной
Сообщений: 50
micis
Активные сегменты есть, только не в них дело, как мне кажется...
-если активные все же есть(а их не может не быть), то да, как вариант, expired не очищались , а только плодились - но раз активные есть, то не канает - всплывали на эту тему баги, видимо не тот случай
13 фев 18, 10:24    [21186997]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
Nobody1111
Guest
А если под SYSом попробовать откомпилить?
13 фев 18, 10:53    [21187085]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
li_malina
Member

Откуда:
Сообщений: 413
micis,

А при проведении обновления ПО-активные сессии есть в базе работающие с этим пакетом?
Попробуйте провести обновление сняв все активные сессии и остановив listener(это ошибка может возникать из-за блокировок
13 фев 18, 10:57    [21187094]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
S_e_r_j
Member

Откуда: из серверной
Сообщений: 50
Nobody1111
А если под SYSом попробовать откомпилить?
-
micis
Прогонял utlrp.sql - появилось около 30 невалидных пакетов. По ним та же ошибка.


Компиляция объекта и ORA-01555, у них столько же общего, сколько у блондинки с кашалотом - что то тут не то, хотя бы что за ОС написал ТС
13 фев 18, 10:58    [21187102]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
Nobody1111
Guest
Ну и вообще, неплохо бы трассировку снять, хотя бы обычную. Возможно, глючит какой-то рекурсивный sql, а не сама компиляция.
13 фев 18, 11:00    [21187109]     Ответить | Цитировать Сообщить модератору
 Re: ORA-01555 при компиляции пакета  [new]
Nobody1111
Guest
Ну и на всякий случай уж, мало ли...


SELECT * from dba_rollback_segs where segment_name='SYSTEM';
13 фев 18, 11:03    [21187124]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить