Oracle
 sql >> база данни >  >> RDS >> Oracle

ORA-03113:край на файла на комуникационния канал

ORA-03113 е доста често срещана грешка. Нека се потопим дълбоко в него

Проблем ORA-03113:край на файла на комуникационен канал

Причина: Връзката между процеса на клиента и сървъра беше прекъсната. Това може да се случи и ако външният агент extproc се срине по някаква причина.

Действие: Възникна грешка в комуникацията, която изисква допълнително разследване. Първо проверете за мрежови проблеми и прегледайте настройката на SQL*Net. Също така потърсете във файла alert.log за грешки. И накрая, тествайте, за да видите дали сървърният процес е мъртъв и дали файл за проследяване е генериран в момента на отказ. Възможно е да има системни извиквания във функцията .NET, които могат да прекратят процеса. Премахнете такива обаждания.

Грешка ORA-3113 „край на файла на комуникационен канал“ е обща грешка, която обикновено се съобщава от клиентски процес, свързан с база данни на Oracle. Грешката основно означава „Не мога да комуникирам с процеса на сянка на Oracle“. По някаква причина вашата клиентска машина и сървърът на базата данни са спрели да си говорят. Тъй като това е такава обща грешка, трябва да се събере повече информация, за да се определи какво се е случило – тази грешка сама по себе си не показва причината за проблема.

Например, ORA-3113 може да бъде сигнализиран за някой от следните сценарии:
•Сървърна машина се срива
•Вашият сървърен процес е убит на ниво O/S
•Мрежови проблеми
•Вътрешни грешки на Oracle (ORA-600 / ORA-7445) / прекъсва на сървъра
•Клиентът неправилно обработва множество връзки
• и т.н.. и т.н.. и т.н.. – много възможни причини ! !
Често е тази грешка да бъде придружена от други грешки като:
• вътрешна грешка ORA-01041. разширението на hostdef не съществува
•ORA-03114 не е свързано с ORACLE
• ORA-01012 не е влязло в системата

Тази грешка понякога се причинява от най-простите неща. Ако обаче е причинено от вътрешна грешка на Oracle, вижте дневника си за предупреждения за допълнителна информация.

Нека вземем различни сцени, където ORA-03113

(1) ORA-3113 по време на стартиране на базата данни на Oracle

Това може да се случи на всички етапи на стартиране на базата данни на Oracle

(2) Клиентът вижда, че ORA-3113 изпълнява SQL / PLSQL

Ако грешката ORA-3113 възникне СЛЕД като сте се свързали с Oracle, най-вероятно е изпълнимият файл „oracle“ да е приключил неочаквано. Процесът на сървъра може да е загинал по много причини.

(a) Системният администратор умишлено уби процеса, като убие идентификатора на процеса, тъй като може да консумира повече процесор и памет


(b) Това може да се случи поради някаква грешка. Трябва да потърсим файла за проследяване на тази сесия в директорията за диагностика и да проверим за решението в metalink

(c) Само за UNIX: Ако няма файл за проследяване, проверете за „основно“ дъмп в CORE_DUMP_DEST. Проверете както следва:

cd $ORACLE_HOME/dbs # Or your CORE_DUMP_DEST
ls -l core*

Ако има файл, наречен „core“, проверете дали времето му съвпада с времето на проблема. Ако има директории, наречени „core_“, проверете за основни файлове във всяка от тях. ВАЖНО е да получите правилния основен файл. Сега вземете трасиране на стека от този „основен“ файл. Проверете всяка от последователностите по-долу за да видите как да направите това – една от тях трябва да работи за вашата платформа.

Ако имате dbx:

% script /tmp/core.stack
% dbx $ORACLE_HOME/bin/oracle core
(dbx) where
…
(dbx) quit
% exit

Ако имате sdb:

% script /tmp/core.stack
% sdb $ORACLE_HOME/bin/oracle core
t
…
q
% exit

Ако имате xdb:

% script /tmp/core.s

(г) Възможно е  конкретен SQL израз или PL/SQL блок да причини грешката. В много случаи това ще бъде посочено във файла за проследяване, произведен под заглавието „Текущ SQL израз“ или близо до средата на файла за проследяване под курсора, посочен от реда „Текущ курсор NN“.

Ако файлът за проследяване не показва неуспешния израз, SQL_TRACE може да се използва за определяне на това, при условие проблемът се възпроизвежда. SQL_TRACE може да бъде активиран в повечето клиентски инструменти

Винаги трябва да се позоваваме на главната бележка на Metalink на ORA-03113
Основна бележка:Отстраняване на неизправности ORA-03113 (Doc ID 1506805.1)

Също чете
ORA-01111
ORA-00900
ora-29283:невалидна файлова операция


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да стартирате Create Table DDL с EXECUTE IMMEDIATE в Oracle Database

  2. Как да преобразуваме числото в думи - ORACLE

  3. Oracle – Клониране на таблица – Структура, ограничения на данните и всичко останало

  4. Блок за инжектиране на Oracle SQL с DBMS_ASSERT

  5. Как да шифровате парола в Oracle?