Oracle mechanics

04.05.2017

ORA-1555 / ORA-3170 on read-only standby DBBP 12.1.0.2.160719

Filed under: Active Data Guard,Oracle,parameters — Игорь Усольцев @ 23:06
Tags: ,

наблюдались в виде:

ORA-01555 caused by SQL statement below (SQL ID: 7hgzff6vkrwkz, Query Duration=11 sec, SCN: 0x0000.00000001)
or
ORA-03170: deadlocked on readable physical standby (undo segment 1413)

— очень похоже на Bug 17323222 ORA-1555 / ORA-3170: deadlocked on readable physical standby (undo segment x) on ADG, т.е. ORA-3170 аналогично указывает на несуществующий SEGMENT_ID, а ORA-1555 возникает на коротком Query Duration

Похоже, лечится изменением параметра:

SQL> ALTER SYSTEM SET "_temp_undo_disable_adg"=TRUE;

— случайно в то же время применённым для исправления ORA-07445 [kteclck()+363]

06.10.2016

ORA-07445 [kteclck()+363]

Filed under: Active Data Guard,Oracle — Игорь Усольцев @ 23:44
Tags: ,

— дважды встречена на ADG Standby при выполнении запросов с использованием TEMP TABLE TRANSFORMATION после применения обновлений Database Patch Set Update : 12.1.0.2.160419 или Database Bundle Patch: 12.1.0.2.160719 (в виде [kteclck()+586])

Workaround в виде «_with_subquery» = inline* был найден самостоятельно и быстро, а по ре-там SR, заведённого / доведённого Сергеем Щукиным до Severity 1 поддержка завела Bug 23732326 : ORA-07445 [KTECLCK+363] IN ADG ENVIRONMENT и даже сопроводительный документ ORA-07445 [kteclck()+363] In Active Data Guard (ADG) Environment (Doc ID 2177342.1), не предложив, однако, на настоящий момент никакого другого, лучшего решения

Типичный stacktrace:

...
kteclck()+586           signal   __sighandler()
ktelbhw()+809           call     kteclck()
qesldBumpHwm()+197      call     ktelbhw()
qesldCommitHwmLoad()+92 call     qesldBumpHwm()
qesldCommit3tIDL()+210  call     qesldCommitHwmLoad()
qes3tExecSQL()+1110     call     qesldCommit3tIDL()
qerleStart()+220        call     qes3tExecSQL()
...

*) установка «_with_subquery» = inline на уровне системы, кроме ущербности в выборе планов выполнения (Performanz), вызывает:

ORA-32034: unsupported use of WITH clause

на Primary db версии 12.1.0.2.3, например

29.06.2016

12c: проблемы SQLID frjd8zfy2jfdq в ADG

Filed under: Active Data Guard,bugs,Oracle — Игорь Усольцев @ 00:27
Tags:

Наблюдали с Русланом Бикбаевым на обычном, не-EXADATA RAC с ADG 12.1.0.2 проблему Bug 22364629 : EXADATA: ORA-29771: PROCESS USER BLOCKS LGWR FOR MORE THAN 70 SECONDS — казалось бы, мало ли в Oracle 12c багов?)

Тут интересно, что блокером для LGWR выступают пользовательские процессы (+PX-slaves), выполняющие известный* рекурсивный запрос frjd8zfy2jfdq, описанный в Bug 20413540 Excessive executions of SQL frjd8zfy2jfdq, являющемся base bug для Bug 22364629:

The query with SQLID frjd8zfy2jfdq is executed by Dynamic Statistics to figure out the past execution statistics and guide the time allowance for future execution of Dynamic Statistics

*) о том же запросе Рекурсивно-адаптивный SQL_ID «frjd8zfy2jfdq» версии 12.1.0.2

Детали проблемы и место SQLID frjd8zfy2jfdq расписаны в трейсе системного процесса LMHB: (more…)

04.12.2014

ORA-8103 при использовании BCT на standby db

Filed under: Active Data Guard,bugs,Oracle — Игорь Усольцев @ 22:59
Tags: ,

После восстановления очередной тестовой бд с использованием инкрементальных бэкапов, сделанных с использованием Block Change Tracking (BCT) на standby версии 11.2.0.3 получили при попытке последовательно прочитать определённые блоки таблицы:

SQL> select/*+ full(t)*/ count(*) from U2.CALL_STAT t;
 
select/*+ full(t)*/ count(*) from U2.CALL_STAT t
 
ORA-08103: object no longer exists

SQL> analyze table U2.CALL_STAT validate structure;
 
analyze table U2.CALL_STAT validate structure
 
ORA-08103: object no longer exists

, при этом в трейсах можно видеть фактический источник ошибки: (more…)

07.03.2014

Проблема использования standby db в качестве FAL-сервера в 11.2

Filed under: Active Data Guard,Диагностика системы (instance),Oracle — Игорь Усольцев @ 18:26
Tags:

Конфигурация

-------------- Log_Archive_Dest_1->       ----------------
|            |----------------------------|              |
| Primary db |              <- FAL_Server | Standby_1 db |
|            |\                          /|              |
-------------- \                        / ----------------
                \                      /
                 \                    /
                  \ <- FAL_Server -> /
Log_Arch_Dest_2-> --------------------
                  |                  |
                  |   Standby_2 db   |
                  |                  |
                  --------------------

— серверы primary и standby_1 работают в рамках стандартных switchover/failover, сервер бд standby_2 используется только для резервного копирования бд

Проблема

На standby_1 наблюдалось постоянно растущее кол-во клиентских соединений с сервера standby_2 в состоянии долгого SQL*Net message from client: (more…)

21.06.2012

ORA-01089 при запросах через dblink к Active Data Guard 11.2.0.3

Filed under: Active Data Guard,error,Oracle,remote — Игорь Усольцев @ 00:14
Tags: , ,

В конфигурации Read Only Standby (2-node RAC 11.2.0.3) with Redo Apply (такой кластерный Active Data Guard) после остановки инстанса #1 (на котором выполняется накат логов) командой shutdown abort наблюдаются следующие интересные вещи:

1) Остающий рабочим инстанс #2 закрывает доступ к файлам бд – автоматически переходя в состояние mounted:

Reconfiguration started (old inc 48, new inc 50)
 List of instances:
 2 (myinst: 2)
 ...
Reconfiguration complete
Recovery session aborted due to instance crash
Close the database due to aborted recovery session
SMON: disabling tx recovery
All dispatchers and shared servers shutdown
CLOSE: killing server sessions.
CLOSE: all sessions shutdown successfully.
SMON: disabling tx recovery
SMON: disabling cache recovery

, и не возвращается в состояние READ ONLY в автоматическом режиме после рестарта инстанса #1 — что само по себе не совсем укладывается в концепцию Unbreakable, но, по крайней мере, подробно отражено в alert.log

2) после ручного возвращения инстанса #2 в состояние READ ONLY:

SQL> alter database open read only;

Database altered.

вне зависимости от состояния инстанса #1 и статуса процесса MRP0 (REDO APPLY) на инстансе #1, запросы через db link к инстансу #2 завершаются ошибкой ORA-01089 с длииинным – в нескольких минут — таймаутом: (more…)

Создайте бесплатный сайт или блог на WordPress.com.