Oracle ORA-00600 - PullRequest
       38

Oracle ORA-00600

2 голосов
/ 04 февраля 2009

У меня есть оператор SQL SELECT, который возвращает:

    Error: ORA-00600: internal error code, arguments: [qerpfAllocateR], [], [], [], [], [], [], []

Если я сузу результаты, добавив еще одно условие в предложение WHERE, все будет в порядке.

Кто-нибудь знает, что происходит?

EDIT:

    select * from ( select tbl1.col1, ..., tbl1.points
    from table1 tbl1, table2 tbl2
    where tbl1.tbl2FK = tbl2.PK and
          tbl2.col1 = someNumber and
          tbl1.dateColumn = to_date('27-10-2008','dd-mm-yyyy')
    order by tbl1.points desc ) s where rownum <= 3 

EDIT2:

Администратор моей БД предложил решение, которое работает:

select * from (select rank() over (order by tbl1.points desc) rank,
                  tbl1.col1, ..., tbl1.points
           from table1 tbl1, table2 tbl2
           where tbl1.tbl2FK = tbl2.PK and
                 tbl2.col1 = someNumber and
                 tbl1.dateColumn = to_date('27-10-2008','dd-mm-yyyy')) s
     where s.rank <= 3

Ответы [ 8 ]

5 голосов
/ 04 февраля 2009

Ошибка ORA-0600 указывает на внутреннюю ошибку в самом Oracle. Скорее всего, вы попали в ошибку Oracle.

Если перейти к http://metalink.oracle.com,, вы можете найти точную ошибку, если она известна, вставив «аргументы» и трассировку полного стека в инструмент поиска ORA-0600. См. Металинк, примечание 153788.1.

Если в этом описании есть известная ошибка, скорее всего, для вас уже есть патч, который вы можете загрузить и установить. Если это не известная ошибка, обратитесь в службу поддержки.

3 голосов
/ 04 февраля 2009

Что такое полный запрос?

http://www.orafaq.com/wiki/ORA-00600 предлагает вам сообщить об ошибке оракулу.

2 голосов
/ 06 февраля 2009

ORA-00600 в основном означает, что вы прервали работу сервера оракула (не экземпляра, а сервера, обслуживающего ваш запрос).

Почти всегда в вашей папке bdump будет находиться файл трассировки. Это, вероятно, не очень поможет вам, но будет очень полезно для поддержки оракула. ​​

Обычно это происходит из-за ошибки оракула, и из опыта вы ничего не можете с этим поделать, кроме как поднять SR через metalink (это рекомендуемое решение от Oracle). Они попытаются повторить проблему и, если повезет, в случае ошибки она в конечном итоге найдет свое место в патче.

Хотя в ближайшей перспективе (например, дни - месяцы) главное реалистичное решение - обойти это.

Хотя повышение СР на самом деле не очень помогает вам и может быть разочаровывающим опытом, его стоит сделать, так как это может сэкономить кому-то еще время после исправления ошибки.

2 голосов
/ 04 февраля 2009

Удачи в получении поддержки от Oracle ...

Если серьезно, каждый раз, когда я сталкиваюсь с этой проблемой, обычно немного помогает перестановка запроса. Может быть, немного возиться с индексами.

1 голос
/ 04 февраля 2009

Эти ошибки обычно связаны с оптимизатором. Я думаю, что даже самое маленькое изменение в запросе, например, изменение порядка таблиц table1 и table2 в предложении FROM, может заставить оптимизатор выбрать другой план, в котором эта ошибка не возникнет.

0 голосов
/ 23 января 2019

ORA-00600 обычно означает, что есть что-то очень неожиданное, и это может быть связано с повреждением базы данных. Симптомы могут заключаться в том, что запрос работает или нет в зависимости от того, как он сформулирован.

Пример жизни:

  • Не удалось обновить поле большого объекта для определенной строки с id =
  • Строка не отображается с помощью SELECT * FROM
  • Но: SELECT * FROM

(возможно) Решение, использованное в приведенном выше примере

  • экспорт всего доступного содержимого таблицы
  • удалить таблицу
  • повторно импортировать содержимое

Удачи!

0 голосов
/ 23 января 2014

Мое решение:

(просто верните SO-сообществу) У меня была проблема сегодня, и я не смог решить "запуск моего экземпляра", выполнив шаги, описанные выше, после нескольких часов осмотра я смог решить ее следующим образом.

Проблема

enter image description here

ЭТА РАБОТА НЕ БЫЛА ОШИБКА [0600]

SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 1904054272 bytes
Fixed Size                  2404024 bytes
Variable Size             570425672 bytes
Database Buffers         1325400064 bytes
Redo Buffers                5824512 bytes
Database mounted.
SQL> recover database
Media recovery complete.
SQL> alter database open
  2
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1],
[108], [615], [655], [], [], [], [], [], [], []`

ЗДЕСЬ МОЕ РЕШЕНИЕ ПРОБЛЕМЫ:

    SQL> Startup mount
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown abort
ORACLE instance shut down.
SQL>
SQL> startup mount
ORACLE instance started.

Total System Global Area 1904054272 bytes
Fixed Size                  2404024 bytes
Variable Size             570425672 bytes
Database Buffers         1325400064 bytes
Redo Buffers                5824512 bytes
Database mounted.
SQL> Show parameter control_files

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      C:\APP\USER\ORADATA\ORACLEDB\C
                                                 ONTROL01.CTL, C:\APP\USER\FAST
                                                 _RECOVERY_AREA\ORACLEDB\CONTRO
                                                 L02.CTL
SQL> select a.member,a.group#,b.status from v$logfile a ,v$log b where a.group#=
b.group# and b.status='CURRENT'
  2
SQL> select a.member,a.group#,b.status from v$logfile a ,v$log b where a.group#=
b.group# and b.status='CURRENT';

MEMBER
--------------------------------------------------------------------------------

    GROUP# STATUS
---------- ----------------
C:\APP\USER\ORADATA\ORACLEDB\REDO03.LOG
         3 CURRENT


SQL> shutdown abort
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 1904054272 bytes
Fixed Size                  2404024 bytes
Variable Size             570425672 bytes
Database Buffers         1325400064 bytes
Redo Buffers                5824512 bytes
Database mounted.
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 4234808 generated at 01/21/2014 18:31:05 needed for thread 1
ORA-00289: suggestion :
C:\APP\USER\FAST_RECOVERY_AREA\ORACLEDB\ARCHIVELOG\2014_01_22\O1_MF_1_108_%U_.AR

C
ORA-00280: change 4234808 for thread 1 is in sequence #108


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
C:\APP\USER\ORADATA\ORACLEDB\REDO03.LOG
Log applied.
Media recovery complete.
SQL> alter database open resetlogs;

Database altered.

НАКОНЕЦ РАБОТАЛ:

enter image description here

0 голосов
/ 04 февраля 2009

Я видел подобные ошибки, когда в таблице есть столбцы XMLTYPE, используя PL / SQL Developer. Этого бы не произошло, если бы PL / SQL Developer создал для меня скелет запроса, потому что это добавило бы некоторый синтаксис в запрос столбца XMLTYPE, я не могу точно вспомнить, что именно.

...