ora 03113 что за ошибка

«ORA-03113: конец файла в канале связи» при запуске

База данных Oracle зависла. Завершение работы базы данных длилось несколько часов, после чего она вышла. Это не перезапустит. Сервер был перезапущен. Oracle был перезапущен. Идем шаг за шагом: запускается номер запуска, изменяется монтирование базы данных, изменяется открытая база данных и возвращается ORA-03113. Это все на локальном хосте, а не по сети. На машине нет запущенного брандмауэра.

Есть идеи, как обойти эту ошибку ORA-03113? Я разговаривал по телефону с поддержкой в ​​Индии последние 4,5 часа и пока не нашел никого полезного.

После нескольких часов неправильной ориентации от официальной поддержки Oracle, я самостоятельно решил эту проблему и исправил ее. Я документирую это здесь на случай, если у кого-то еще есть эта проблема.

Чтобы сделать это, вы должны быть пользователем оракула:

Шаг 1: Вам нужно посмотреть журнал предупреждений. Это не в / var / log, как ожидалось. Вы должны запустить программу чтения журнала Oracle:

Обратите внимание на базу ADR. Это не установка. Вам нужно увидеть дома, чтобы вы могли подключиться к тому, который вы используете.

ТПП это дом. Установите это.

Теперь вы можете посмотреть журналы оповещений. Было бы очень хорошо, если бы они были в / var / log, чтобы вы могли легко разобрать логи. Просто перестаньте хотеть и разберитесь с этим интерфейсом. По крайней мере, вы можете хвост (и я надеюсь, у вас есть буфер прокрутки):

Прокрутите назад, пока не увидите ошибки. Вы хотите первую ошибку. Любые ошибки после первой ошибки, вероятно, вызваны первой ошибкой. В моем случае первая ошибка была:

Это вызвано транзакциями. Oracle не предназначен для использования. Если вы вставите в него много данных, он сохранит журналы транзакций. Те идут в область файла восстановления. Как только это заполнено (50 ГБ заполнено в этом случае). Тогда Oracle просто умирает. По замыслу, если что-то испортится, Oracle ответит выключением.

Есть два решения, правильное и быстрое и грязное. Быстрым и грязным является увеличение db_recovery_file_dest_size. Во-первых, выйдите из adrci.

Теперь зайдите в sqlplus, не открывая базу данных, просто монтируя ее (вы можете сделать это без монтирования базы данных, но я все равно ее монтирую).

Теперь вы можете увеличить свой текущий db_recovery_file_dest_size, увеличенный до 75G в моем случае:

Теперь вы можете снова завершить работу и запустить эту предыдущую ошибку.

Правильное решение состоит в том, чтобы избавиться от файлов восстановления. Вы делаете это с помощью RMAN, а не SQLPLUS или ADRCI.

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

Источник

ORA-03113: конец файла на канале связи после длительного бездействия в ASP.Net app

У меня есть балансировка нагрузки (не используя состояние сеанса) ASP.Net 2.0 приложение на IIS5 работает на одном сервере Oracle 10g, используя версию 10.1.0.301 ODAC / ODP.Сетевые драйверы. После длительного периода бездействия (несколько часов) приложение, казалось бы, случайным образом, выдаст исключение Oracle:

исключение: ORA-03113: конец файла на канале связи на Оракул.Доступа к данным.Клиент.OracleException.HandleErrorHelper(Типа Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, OpoSqlValCtx* pOpoSqlValCtx, объект src, строковая процедура) в Оракул.Доступа к данным.Клиент.OracleCommand.ExecuteReader (логический запрос, Boolean fillRequest, CommandBehavior поведение) в Оракул.Доступа к данным.Клиент.OracleCommand.Система.Данные.IDbCommand.ExecuteReader ()

. Oracle часть стека заканчивается здесь.

мы создаем новые соединения по каждому запросу, открываем и закрываем, завернутые в try / catch / finally, чтобы обеспечить правильное закрытие соединения, и все это обернуто в using (OracleConnection yadayada) <. >блок. Эта проблема не связана с перезапуском ASP.Net применение После быть закрученным вниз для бездействия.

нам еще предстоит воспроизвести проблему сами. Мысли, молитвы, помощь?

Подробнее: проверено с ним, брандмауэр не настроен на уничтожение соединений между этими серверами.

7 ответов

ORA-03113: конец файла на канале связи

это база данных, позволяющая вам знать, что сетевого подключения больше нет. Это может быть потому, что:

For 1) (брандмауэр) поиск tahiti.oracle.com для SQLNET.EXPIRE_TIME. Это заменить sqlnet.параметр ora, который будет регулярно отправлять сетевой пакет с настраиваемым интервалом ie: установка этого заставит брандмауэр поверить, что соединение работает.

для 1) (сеть) поговорите с вашим сетевым администратором

для 2) Проверьте предупреждение.журнал для ошибок, если процесс сервера не удалось будет сообщение об ошибке здесь и файл трассировки будет записан, чтобы включить поддержку для идентификации проблемы. Сообщение об ошибке будет ссылаться на файл трассировки.

вопросы поддержки можно поднять на metalink.oracle.com с подходящим идентификатором обслуживания клиентов (CSI)

добавить проверить соединение=true в строке подключения.

посмотреть этот блог чтобы узнать больше об.

при проверке соединения реальное соединение проверяется методом Open ().

проверьте, что нет брандмауэра, который завершает соединение через определенный период времени (это было причиной аналогичной проблемы, которую мы имели)

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

решение проверьте базу данных, работает ли она в ARCHIVELOG или NOARCHIVELOG

для проверки использования

если его на ARCHIVELOG попробуйте изменить на NOARCHIVELOG

если это работает для этого

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

после исправления проблемы с пространством это конкретное сообщение об ошибке исчезло.

вы можете попробовать этот хак реестра:

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

объединение хорошо в некоторых ситуациях, но за счет повышенной сложности вокруг первого утверждения каждого соединения.

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

Источник

It works!

вторник, 21 апреля 2015 г.

Диагностика и исправление ошибки ORA-03113: end-of-file on communication channel (Oracle XE + Oracle Linux)

Имеем тестовую СУБД Oracle XE (11.2.0.1.x86_64), на Oracle Linux 5.2 x86_64.
При попытке открыть БД из sqlplus получаем ошибку:

ORA-03113: end-of-file on communication channel
Process ID: 4862
Session ID: 91 Serial number: 3

Видим, что на уровне операционной системы все в порядке.
Смотрим, что в alert.log
$ view /u01/app/oracle/diag/rdbms/xe/XE/trace/alert_XE.log

Видим такую запись после попытки открыть БД:
ORA-19815: WARNING: db_recovery_file_dest_size of 10737418240 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
************************************************************************
ARCH: Error 19809 Creating archive log file to ‘/u01/app/oracle/fast_recovery_area/XE/archivelog/2015_04_21/o1_mf_1_243_%u_.arc’
Errors in file /u01/app/oracle/diag/rdbms/xe/XE/trace/XE_ora_5607.trc:
.

Т.е. вся область восстановления чем-то забита.
Попутно понятно, куда пишутся archivelog:
/u01/app/oracle/fast_recovery_area/XE/archivelog/

БД должна быть примонтирована, чтобы RMAN показал бэкапы.
Монтируем:
$ sqlplus / as sysdba
SQL> alter database mount;

Смотрим бэкапы:
$ rman TARGET /
RMAN> list backup;
.
specification does not match any backup in the repository

Нет ни одного бэкапа. Что само по себе печально, но для тестовой БД устраивает.

Зато видим порядка 300 архивных логов:
$ rman TARGET /
RMAN> list archivelog all;
.

Чтобы исправить ситуацию, временно увеличиваем db_recovery_file_dest_size, создаем бэкап и удаляем ненужные архивные логи.
$ sqlplus / as sysdba
SQL> alter system set db_recovery_file_dest_size=12G;

Делаем бэкап БД, controlfile и архивных логов.
$ rman TARGET /
RMAN> backup as compressed backupset database plus archivelog delete input;

Возвращаем обратно значение параметра инициализации db_recovery_file_dest_size:
$ sqlplus / as sysdba
SQL> alter system set db_recovery_file_dest_size=10G;

Источник

ORA-27101 и ORA-03113

Со временем аккумуляторы в ИБП деградируют и уже не могут обеспечить требуемого времени работы сервера во время отключения электричества.

И если такое случается на физическом сервере, где работают виртуальные сервера, то велика вероятность, что система не успеет завершить работу виртуальной машины или не успеет сделать её сохранения. Такая ситуация произошла в одной тестовой среде и после не правильного завершения работы ВМ, на которой работал Oracle одна из баз перестала работать. Обычно в такой ситуации достаточно запустить сервер и перезапустить базу Oracle, но одна база так и не запустилась и во время подключения к ней выдавала ошибку:

ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

Я попытался запустить базу используя следующие команды:

Но этот вариант мне не помог и при попытке запуска базы я получил следующую ошибку:

ORA-03113: end-of-file on communication channel

Исправить ошибку ORA-03113 у меня получилось с помощью следующей последовательности команд:

Когда я выполнил команду «alter database clear unarchived logfile group 1;» первый раз, то получил ошибку, я проигнорировал её и выполнил следующие две команды «… group 2;» и «… group 3;» после чего я тут же повторно выполнил команду «… group 1;» и она выполнилась без ошибок. Так же при выполнении команды «shutdown immediate» вы можете получить ошибку «ORA-01109: database not open» игнорируйте её и выполняйте следующую команду «startup». После этого работа базы будет восстановлена.

Источник

Вылетает запрос с ошибкой ORA-03113 : Oracle

Есть самописная программа, все работало до определенного момента, потом стала вылетать с ошибкой ORA-03113: end-of-file on communication channel
стал разбираться, выяснилось вылетает на запросе абсолютно безобидном запросе:
SELECT TREE, NAME
FROM SUPERMAG.SACARDCLASS
WHERE TREE LIKE ‘16.7.2.%’
AND INSTR( TREE,’.’,1,4 ) > 0
AND INSTR( TREE,’.’,1,5 ) = 0

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

в запросе меняешь например
было: AND INSTR( TREE,’.’,1,4 ) > 0
меняешь на: AND INSTR(TREE,’.’,1,4 ) > 0
и все работает

вылет мгновенный при запуске запроса например из девелопера
нажал выполнить, девелопер отвалился от базы :)))

а в алерте я не нашел цитат на этот момент 🙁

Оказывается одним из способов решения этой проблемы является простое удаление статистики. Именно статистики, а не индексов.
В случае, если это не помогло, ее всегда можно восстановить средствами Оракл
==================================================
Обычно связана с аппаратными сбоями, при этом нередко имеет
динамический характер: то есть, то нет. При возникновении нужно
искать соответствующий trace file и анализировать его.
Посмотрите хватает операционке памяти и т. п.
Возможно ваш запрос съел большую часть ресурсов и оракл не поймал их.
Скорей всего это вопрос к админам (пусть ставят патчи).

6.2.34 ORA-03113: End-of-File on Communication Channel
Cause: This error can occur under several circumstances and indicates that the
Oracle server process has failed.

Action: There is one case that may be encountered during an upgrade that has a
known solution. When running on certain 64-bit platforms, the RDBMS bug 2614728
may cause the defnavpg.sql script to fail. If you are on a 64-bit platform, check
your upgrade log file to see if the problem is encountered in the following
context:

#— Beginning inner script: wwd/defnavpg
# Create seeded navigation pages for page groups declare
*
ERROR at line 1:
ORA-03113: end-of-file on communication channel
If it is in this context, apply the patch for bug 2614728 for your platform.
Restore from your backup, and run the upgrade again.
==================================================

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *