Oracle mechanics

13.07.2017

ORA-00600 [kteoprpect-2]

Filed under: error,Oracle,parameters — Игорь Усольцев @ 00:06
Tags:

на physical standby / ADG instance в виде:

Thu Jun 29 19:01:00 2017
Errors in file /opt/oracle/base/diag/rdbms/orcl/orcl1/trace/orcl1_mrp0_16186.trc:
ORA-10562: Error occurred while applying redo to data block (file# 4, block# 1371409)
ORA-10564: tablespace UNDOTBS
ORA-01110: data file 4: '+DGDATA/orcl/datafile/undotbs.259.885215567'
ORA-10560: block type 'EXTENT MAP BLOCK OF SYSTEM MANAGED UNDO SEGMENT'
ORA-00600: internal error code, arguments: [kteoprpect-2], [1498751285], [1498751284], [], [], [], [], [], [], [], [], []
Thu Jun 29 19:01:00 2017
MRP0: Background Media Recovery process shutdown (orcl1)

, как нам с Максимом Филатовым удалось выяснить, вызывается установкой параметра:

12.1.0.2.SYS@ SQL> ALTER SYSTEM SET "_smu_debug_mode"=2049;

System altered.

и, соответственно, лечится (по рекомендации техподдержки): (more…)

12.03.2015

12c: ошибки

Filed under: error,Oracle — Игорь Усольцев @ 23:30
Tags: ,

, всплывающие при тестировании:

1) Подробно разобранная у Jonathan Lewis. Subquery with OR проблема и отражённая в Bug 18650065 : WRONG RESULTS ON QUERY WITH SUBQUERY USING OR EXISTS проблема при тестировании ОЁБС (aka Oracle Apps) на версии бд 12.1.0.* заиграла новыми красками

Дело в том, что проблемная конструкция используется в VPD политиках стандартных модулей OEBS при использовании Multi-Org Access Control (MOAC), что легко видеть из запроса:

select distinct object_owner, object_name, policy
  from v$vpd_policy
 where predicate like 'EXISTS (SELECT 1
                        FROM mo_glob_org_access_tmp oa
                       WHERE oa.organization_id = security_id_int_1) OR security_id_int_1 IS NULL%'

А непонятность, собственно, состоит в том, что в рекомендациях оёбс по миграции на 12c ни этот баг, ни доступные workaround-ы никак не отмечены, несмотря на попытки Леонида Борчука донести это простое соображение до команды поддержки (more…)

30.01.2015

DBA_AUDIT_TRAIL, ORA-64203 и китайская грамота

Filed under: commonplace,error,Oracle — Игорь Усольцев @ 01:00
Tags:

При выполнении запросов к DBA_AUDIT_TRAIL (например, для архивации данных) можно получить легковоспроизводимую ORA-64203:

SQL> select max(lengthb(sql_text)), max(lengthb(sql_bind)) from DBA_AUDIT_TRAIL;
 
select max(lengthb(sql_text)), max(lengthb(sql_bind)) from DBA_AUDIT_TRAIL
 
ORA-64203: Destination buffer too small to hold CLOB data after character set conversion.

Найти проблемные строки несложно: (more…)

07.09.2014

Материализация XMLTYPE запросов

Filed under: error,heuristics,Oracle,XML DB — Игорь Усольцев @ 19:10
Tags: ,

Попытка выполнение стандартного запроса по извлечению текста подсказок (outline hint) из плана выполнения (V$SQL_PLAN.OTHER_XML) до версии 12.1.0.1 включительно выдаёт характерную при материализации подзапроса с XMLTYPE ошибку — XMLTYPE in a WITH Clause Fails with ORA-06512 & ORA-06502 (Doc ID 1640869.1):

11.2.0.3.@ SQL> with ol as
  2   (select--+ materialize
  3           plan_hash_value, b.hint
  4      from v$sql_plan m,
  5           xmltable('/other_xml/outline_data/hint' passing
  6                    xmltype(m.OTHER_XML) columns hint varchar2(4000) path '/hint') b
  7     where trim(OTHER_XML) is not null
  8       and rownum <= 2)
  9  select * from ol
 10  /
                  xmltype(m.OTHER_XML) columns hint varchar2(4000) path '/hint') b
                  *
ERROR at line 6:
ORA-06502: PL/SQL: numeric or value error
ORA-06512: at "SYS.XMLTYPE", line 272
ORA-06512: at line 1

(more…)

10.11.2012

ORA-600 [sorput_1] bitmap index deadlock в версиях Oracle 10.2 — 11.1

Filed under: commonplace,Блокировки,error,Oracle — Игорь Усольцев @ 15:11
Tags: , ,

Хорошо известны официальные рекомендации не использовать bitmap-индексы в OLTP приложениях по архитектурным соображениям. Для разрешения возникающих при выполнении конкурирующих DML конфликтов Oracle использует своеобразный механизм deadlock, который на практике может сопровождаться ORA-600:

ORA-00060: Deadlock detected. More info in file /opt/oracle/admin/diag/rdbms/ORCL/ORCL/trace/ORCL_ora_20536.trc.
Errors in file /opt/oracle/admin/diag/rdbms/ORCL/ORCL/trace/ORCL_ora_20536.trc (incident=475770):
ORA-00600: internal error code, arguments: [sorput_1], [], [], [], [], [], [], [], [], [], [], []
ORA-00060: deadlock detected while waiting for resource
Incident details in: /opt/oracle/admin/diag/rdbms/ORCL/ORCL/incident/incdir_475770/ORCL_ora_20536_i475770.trc

Как оказалось, проблема, с которой мы столкнулись, — штатная, в точности описана в документе поддержки Ora-600 [sorput_1] and Ora-60 Loading Data [ID 826084.1] — не является багом и в качестве единственного варианта решения предлагается избавиться от bitmap-индексов, на время OLTP активности ( или навсегда :)

Детали описаниния deadlock graph достаточно стандартны для блокировок битового индекса: (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.