Oracle mechanics

Ошибки

ORA-1555

Причины, анализ, методы разрешения, включая описание GV$UNDOSTAT и об анализе ошибки в RAC окружении: 389554.1 ORA-1555 Using Automatic Undo Management — How to troubleshoot 269814.1 ORA-01555 Using Automatic Undo Management — Causes and Solutions

Bug 10389818: SSKGXPRRGN, INVALID HEADER ON UPDATE MESSAGE TOSSING BAD MUPD MSG Oracle 10.2.0.4 RAC OEL 5.1 x86_64, в каталоге udump трейс файлы вида:

SSKGXPRRGN, invalid header on update message
 magic 0x47464544 t1 0x43424140 t2 0x0 index 0x4b4a
 SKGXPGPID 0x7fffacd309d8        Internet address 10.0.1.1       UDP port number 11630
 tossing bad MUPD msg
 bad update to
 SKGXPGPID 0x2aaaac83fc64        Internet address 10.0.1.2       UDP port number 42626
 bad update from
 SKGXPGPID 0x7fffacd30798        Internet address 10.0.1.1       UDP port number 11630
 header:START MEMORY DUMP, 0x7fffacd30768, for 48 bytes

в alert.log ошибок нет

Верхняя оценка необходимого размера undo при текущей нагрузке и сравнение установленного параметра undo_retention со статистикой использования undo сегментов — How To Size UNDO Tablespace For Automatic Undo Management [ID 262066.1]

Запрос V$UNDOSTAT

ORA-08104 / ORA-08106

ORA-08104: this index object 15634 is being online built or rebuilt -- object_id

ORA-08106: cannot create journal table SCOTT.SYS_JOURNAL_15634 -- object_id

 SQL> begin
 2    if dbms_repair.online_index_clean(15634) then null;
 3    end if;
 4  end;
 5  /

Bug 3805539: ORA-8106 AFTER FAILED ALTER INDEX REBUILD ONLINE, SMON SLOW IN CLEANING UP
http://www.dbaglobe.com/2010/10/how-to-reslove-ora-08104-this-index.html

FAL[server]: FAL archive blocked because of KCRR_LOCK_BUSY, will try later

  • служебное сообщение о блокировки записи в controlfile, определяемое установкой недефолтного значения параметра, например: log_archive_trace = 71
  • в primary alert.log может указывать на проблемы передачи логов на определённый log_archive_dest[ination], возникшие, например, из-за временных сетевых проблем. Soft workaround: после восстановления работоспособности standby рестартовать ARCH процессы на primary помощью kill -9:

Killing archive process on primary instance will not cause any harm to your running instance. It will autoamatically start within seconds. This new arch process initates FAL server and FAL client to fill the GAP

ORA-0311

документ MOS DIAGNOSING ORA-3113 ERRORS [ID 1020463.6]

Частный случай: Linux x86_64, Oracle 11.1.0.7, стабильная ошибка при выполнении конкретного запроса:

SQL> SELECT empno,
...
SELECT empno,
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel

Core Dump-ов и записей в alert.log нет, SQL трейс показывает получение от пользовательской сессии сигнала ORA-01013 : user requested cancel of current operation

ERROR #1:err=1013 tim=1332419144016887

SQL*Net Client trace:

nserror: nsres: id=0, op=68, ns=12535, ns2=12609; nt[0]=0, nt[1]=0, nt[2]=0; ora[0]=0, ora[1]=0, ora[2]=0
nsrdr: error exit
nsfull_pkt_rcv: nsctxrnk=0
nsfull_pkt_rcv: error exit
nioqrc:  wanted 1 got 0, type 0
nioqper:  error from nioqrc
nioqper:    ns main err code: 12535
nioqper:    ns (2)  err code: 12609

ORA-03113 TNS-12535 and TNS-12609 Errors Using TAF W Send/Recv Timeout Parameters [ID 782914.1] — причиной являются установленые в клиентском sqlnet.ora параметры:

SQLNET.SEND_TIMEOUT
SQLNET.RECV_TIMEOUT

проявление ошибки зависит также от версии Oracle | SQL*Net Client — попробовать обновить

ORA-12805: parallel query server died unexpectedly

может вызываться Bug 7111619 PQ slaves may get stuck or abort, при этом PX slave на соседней ноде ожидает IPC send completion sync длительное время (до 300 секунд), workaround:

SQL> alter system set parallel_force_local = true;

How to Diagnose ORA-12805 Parallel Query Server Died Unexpectedly Error [ID 1348002.1]

ORA-00932 для столбцов типа LONG

SQL> select * from user_views where text like '%SSS%';
select * from dba_views where text like '%SSS%'
*
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected NUMBER got LONG

SQL> set serveroutput on
SQL> BEGIN
2       FOR r IN (SELECT * FROM user_views) LOOP
3          IF lower(r.text) LIKE '%SSS%' THEN
4             DBMS_OUTPUT.PUT_LINE(
5                'view ' || r.view_name
6                );
7          END IF;
8       END LOOP;
9  END;
10  /
view MONITOR_VIEW1
view MONITOR_VIEW2

PL/SQL procedure successfully completed.

, или так (более полное описание — working with long columns):

SQL> select TO_LOB(high_value) from dba_tab_partitions where table_name = 'PART_TABLE'
  2  /
 
select TO_LOB(high_value) from dba_tab_partitions where table_name = 'PART_TABLE'
 
ORA-00932: inconsistent datatypes: expected - got LONG
SQL> WITH xml AS (
  2          SELECT DBMS_XMLGEN.GETXMLTYPE(
  3                    'SELECT partition_name, high_value FROM dba_tab_partitions where table_name = ''PART_TABLE'''
  4                    ) AS xml
  5          FROM   dual
  6          )
  7  SELECT xs.partition_name
  8  ,      xs.high_value
  9  FROM   xml x
 10  ,      XMLTABLE('/ROWSET/ROW'
 11                  PASSING x.xml
 12                  COLUMNS partition_name   VARCHAR2(30) PATH 'PARTITION_NAME',
 13                          high_value       VARCHAR2(100) PATH 'HIGH_VALUE') xs
 14  WHERE xs.high_value = 21
 15  /
 
PARTITION_NAME                 HIGH_VALUE
------------------------------ --------------------------------------------------------------------------------
SYS_P943628                    21

ORA-01089: immediate shutdown in progress — no operations are permitted при запросах через db link

Bug 13724193 — ORA-1089 over database link [ID 13724193.8]: … для primary instance, кот.не был рестартован после преобразования из«open read only» standby

аналогично для Active Standby системы:

SQL> select version, open_mode from v$instance, v$database;

VERSION           OPEN_MODE
 ----------------- --------------------
 11.2.0.3.0        READ ONLY WITH APPLY

Workaround: primary instance | Active Standby restart

ORA-01436: CONNECT BY loop in user data

SQL> create table t1 as select 1 as c1, 1 as c2 from dual;

Table created.

SQL> select c2 from t1 CONNECT BY PRIOR c2 = c1 START WITH c1 = 1
  2  /
ERROR:
ORA-01436: CONNECT BY loop in user data

no rows selected

SQL> select c2, CONNECT_BY_ISCYCLE
  2    from t1
  3  CONNECT BY NOCYCLE PRIOR c2 = c1
  4   START WITH c1 = 1
  5  /

        C2 CONNECT_BY_ISCYCLE
---------- ------------------
         1                  1

ORA-01156

При попытке удалить standby redo log на physical standby:

11.1.0.7@ SQL> alter database drop standby logfile group 20;

alter database drop standby logfile group 20

ORA-01156: recovery in progress may need access to files

How to Drop/Rename Standby Redolog file in Oracle 11g

ORA-01157: cannot identify/lock data file 101

на любых запросах, использующих временные сегменты, при отсутствии временных файлов (101,102,…), например:

SQL> select file_name from dba_temp_files;
select file_name from dba_temp_files
                      *
ERROR at line 1:
ORA-01157: cannot identify/lock data file 101 - see DBWR trace file
ORA-01110: data file 101: '+DATA'

FUTEX_WAIT_PRIVATE

наблюдались сессии, формально находятся состоянием On CPU / runqueue (v$session.state <> ‘WAITING’), процессы ОС:

# strace -p 28174
Process 28174 attached - interrupt to quit
futex(0x3e3c354594, FUTEX_WAIT_PRIVATE, 2, NULL^C <unfinished ...>
Process 28174 detached

на MOS несколько платформозависимых багов Linux x86_64 Oracle 11.1.0.7 типа Bug 6918493 Net DCD (sqlnet.expire_time>0) can cause OS level mutex hang, possible to get PMON failed to acquired latch

ORA-01031: недостаточно привилегий

If you are not the owner of the table, then you need the DROP ANY TABLE privilege in order to use the drop_table_partition or truncate_table_partition clause — до 12.1 включительно

11.2.0.3.@USER1 SQL> select * from user_tab_privs where table_name = 'T1';

GRANTEE  OWNER  TABLE_NAME  GRANTOR  PRIVILEGE GRANTABLE HIERARCHY
-------- ------ ----------- -------- --------- --------- ---------
USER1    USER2  T1          USER2    ALTER     NO        NO

11.2.0.3.@USER1 SQL> alter table USER2.T1 drop partition for (TO_DATE(' 2013-08-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN') - 1);

alter table USER2.T1 drop partition for (TO_DATE(' 2013-08-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN') - 1)

ORA-01031: insufficient privileges

11.2.0.3.@SYS SQL> grant drop any table to USER1; -- Drop or truncate tables or table partitions in any schema

Grant succeeded

11.2.0.3.@USER1 SQL> alter table USER2.T1 drop partition for (TO_DATE(' 2013-08-14 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN') - 1);

Table altered

ORA-16000: database open for read-only access

11.2, для запросов с Temporary table transformation — Bug 13847666 — ORA-16000 in read only database — superseded (Doc ID 13847666.8), есть патч, исправлен в версии 11.2.0.4

ORA-12838 / ORA-12839

11.2.0.3.SCOTT@ SQL> create table t23 as select * from emp;

Table created.

SQL> alter session enable parallel dml;

Session altered.

SQL> delete /*+ PARALLEL */ from t23;

14 rows deleted.

SQL> insert into t23 select * from emp;
insert into t23 select * from emp
*
ERROR at line 1:
ORA-12838: cannot read/modify an object after modifying it in parallel


SQL> rollback;

Rollback complete.

SQL> delete /*+ NO_PARALLEL */ from t23; -- после изменений в непараллельном режиме

14 rows deleted.

SQL> insert into t23 select * from emp;

14 rows created.                         -- ошибки не возникает

SQL> rollback;

Rollback complete.

SQL> delete /*+ NO_PARALLEL */ from t23;

14 rows deleted.

SQL> insert /*+ APPEND PARALLEL */ into t23 select * from emp;
insert /*+ APPEND PARALLEL */ into t23 select * from emp
                                  *
ERROR at line 1:                                                  -- , однако, невозможно выполнить PDML
ORA-12839: cannot modify an object in parallel after modifying it


SQL> insert /*+ APPEND NO_PARALLEL */ into t23 select * from emp;

14 rows created.                                                  --, но допускается непараллельный direct path insert

ORA-600 / ORA-7445

ORA-07445 [kghbshrt]
PMON failed to acquire latch, see PMON dump
ORA-07445 [opiaba]
ORA-00600 [kgh_heap_sizes:ds]
ORA-00600 [17147]
Instance terminated by PMON

11.1.0.7 Linux x86_64, причина — запрос с большим кол-вом связанных переменных:

----- Current SQL Statement for this session (sql_id=fbd4nkwxragfd) -----
DELETE /*+ PARALLEL */ FROM "ST"."CORE_STAT" WHERE ("FIELDDATE" = TO_DATE(:p1, 'YYYY-MM-DD HH24:MI:SS')) OR
...
OR ("FIELDDATE" = TO_DATE(:p240776, 'YYYY-MM-DD HH24:MI:SS')) OR ("FIELDDATE" = TO_DATE(:p240777, 'YYYY-MM-DD HH24:MI:SS')) OR ("FIELDDATE" = TO_DATE(:p240778, 'YYYY-MM-DD HH24:MI:SS'))

Instance crashed after ORA-7445 [opiaba] and ORA-600 [17147] [ID 1466343.1]

ORA-600 [12869]

$ sql

SQL*Plus: Release 11.1.0.7.0 - Production on Wed Feb 26 11:56:53 2014

Copyright (c) 1982, 2008, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from local_entity_attr
  2  /
select * from local_entity_attr
                    *
ERROR at line 1:
ORA-00600: internal error code, arguments: [12869], [308614], [567942], [], [], [], [], [], [], [], [], []

SQL> ANALYZE TABLE local_entity_attr partition(EA_P003) VALIDATE STRUCTURE CASCADE;
ANALYZE TABLE local_entity_attr partition(EA_P003) VALIDATE STRUCTURE CASCADE
                    *
ERROR at line 1:
ORA-00600: internal error code, arguments: [12869], [308614], [567942], [], [], [], [], [], [], [], [], []

Bug 11891554 : ORA-600 [12869], [220538], [223953] ON READ-ONLY PHYSICAL STANDBY DATABASE — всё как описано, 11.1.0.7, Linux x86-64, READ-ONLY STANDBY, лечится рестартом инстанса, в 11.2 не встречалось, предположительно, исправлено

ORA-00600 [krr_read_lwn_part]

MOS ID 1311095.1 — попытка накатить corrupted log file на стендбай

ORA-00600 [17016]

Наблюдалась после прерывания ALTER TABLE DROP UNUSED COLUMNS CHECKPOINT 1000 на партиционированной таблице в форме:

11.2.0.4@ SQL> alter table my_table DROP COLUMNS CONTINUE CHECKPOINT 1000;
 
alter table my_table DROP COLUMNS CONTINUE CHECKPOINT 1000
 
ORA-00600: internal error code, arguments: [17016], [0x68F54BD70], [], [], [], [], [], [], [], [], [], []
 
SQL> drop table my_table;
 
drop table my_table
 
ORA-00604: error occurred at recursive SQL level 1
ORA-12986: columns in partially dropped state. Submit ALTER TABLE DROP COLUMNS CONTINUE

Bug 13345070 : ALTER TABLE DROP COLUMN FAILS WITH ORA-600 [17016], под руководством поддержки лечится исправлением tab$.flags, для 11.2 есть патчи, исправлен в 12.1.0.2

ORA-00600 [25027]

Стабильно воспроизводилась на версии 11.2.0.2 при попытке вставки в конкретную партицию таблицы без LOB в виде:

ORA-00600: internal error code, arguments: [25027], [3987], [0], [], [], [], [], [], [], [], [], []

— где согласно ORA-600 [25027] (Doc ID 284433.1) [3987] — Tablespace Number в нашем случае связанный с номером проблемной партиции;
при этом в alert.log накануне появления ошибок были отмечены проблемы ASM:

ERROR: direct connection failure with ASM
NOTE: Deferred communication with ASM instance
Errors in file /opt/oracle/admin/diag/rdbms/orcl/orcl2/trace/orcl2_m002_12275.trc:
ORA-15055: unable to connect to ASM instance
ORA-00020: maximum number of processes (115) exceeded
ORA-15055: unable to connect to ASM instance
ORA-00020: maximum number of processes (115) exceeded
ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/datafile/splog_2014_11_10.34660.863141129
ORA-15055: unable to connect to ASM instance
ORA-00020: maximum number of processes (115) exceeded
ORA-01122: database file 120 failed verification check
ORA-01110: data file 120: '+DATA/orcl/datafile/splog_2014_11_10.34660.863141129'
ORA-01565: error in identifying file '+DATA/orcl/datafile/splog_2014_11_10.34660.863141129'
ORA-17503: ksfdopn:2 Failed to open file +DATA/orcl/datafile/splog_2014_11_10.34660.863141129
ORA-15055: unable to connect to ASM instance
ORA-00020: maximum number of processes (115) exceeded
NOTE: deferred map free for map id 2139183

Проблема была решена пересозданием (+перезаливкой данных) партиции в табличном пространстве № [3987]

ORA-08103: object no longer exists

наблюдалось в READ ONLY standby версии 12.1.0.2, подобно Bug 8740993 ORA-1410 / ORA-8103 on ADG STANDBY during table scan after DROP/TRUNCATE/SHRINK in PRIMARY, пофикшеному в 11.2.0.2 Patch Set, с подобным же лечением методом flush shared_pool

ORA-10237: simulate ^C (for testing purposes)

How To Cancel A Query Running In Another Session

Добавить комментарий »

Комментариев нет.

RSS feed for comments on this post. TrackBack URI

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

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

%d такие блоггеры, как: