sql >> Database >  >> RDS >> Oracle

ORA-03113:einde bestand op communicatiekanaal

ORA-03113 is een vrij veel voorkomende fout. Laten we er eens diep in duiken

Probleem ORA-03113:einde bestand op communicatiekanaal

Oorzaak: De verbinding tussen het client- en serverproces is verbroken. Het kan ook gebeuren als de externe agent extproc om de een of andere reden crasht.

Actie: Er is een communicatiefout opgetreden die nader onderzoek vereist. Controleer eerst op netwerkproblemen en bekijk de SQL*Net-configuratie. Kijk ook in het alert.log-bestand voor eventuele fouten. Test ten slotte of het serverproces dood is en of er op het moment van de storing een traceerbestand is gegenereerd. Er kunnen enkele systeemaanroepen zijn in de .NET-functie die het proces kunnen beëindigen. Verwijder dergelijke oproepen.

Een ORA-3113 "einde van bestand op communicatiekanaal"-fout is een algemene fout die gewoonlijk wordt gemeld door een clientproces dat is verbonden met een Oracle-database. De fout betekent in feite 'ik kan niet communiceren met het Oracle-schaduwproces'. Om de een of andere reden praten uw clientcomputer en de databaseserver niet meer met elkaar. Omdat het zo'n algemene fout is, moet er meer informatie worden verzameld om te helpen bepalen wat er is gebeurd - deze fout op zichzelf geeft niet de oorzaak van het probleem aan.

ORA-3113 kan bijvoorbeeld worden gesignaleerd voor een van de volgende scenario's:
•Servermachine is gecrasht
•Uw serverproces is op besturingssysteemniveau afgebroken
•Netwerkproblemen
•Oracle interne fouten (ORA-600 / ORA-7445) / afgebroken op de server
•Client verwerkt meerdere verbindingen onjuist
• etc.. etc.. etc.. – veel mogelijke oorzaken! !
Het komt vaak voor dat deze fout gepaard gaat met andere fouten, zoals:
• ORA-01041 interne fout. hostdef-extensie bestaat niet
•ORA-03114 niet verbonden met ORACLE
• ORA-01012 niet aangemeld

Deze fout wordt soms veroorzaakt door de eenvoudigste dingen. Als het echter wordt veroorzaakt door een interne fout van Oracle, kijk dan in uw waarschuwingslogboek voor meer informatie.

Laten we een ander landschap nemen waar ORA-03113

(1) ORA-3113 tijdens opstarten van Oracle-database

Het kan voorkomen in alle fasen van het opstarten van de Oracle-database

(2) Klant ziet dat ORA-3113 SQL / PLSQL draait

Als de ORA-3113-fout optreedt NADAT u verbinding hebt gemaakt met Oracle, is het hoogstwaarschijnlijk dat het uitvoerbare bestand 'oracle' onverwacht is beëindigd. Het serverproces kan om vele redenen zijn uitgevallen.

(a) Systeembeheerder heeft het proces opzettelijk afgebroken door de proces-ID te doden, omdat dit mogelijk meer CPU en geheugen verbruikt


(b) Het kan gebeuren door een bug. We moeten het traceerbestand voor deze sessie zoeken in de diagnostische directory en de oplossing zoeken in metalink

(c) Alleen voor UNIX: Als er geen traceerbestand is, controleer dan op een 'core'-dump in de CORE_DUMP_DEST. Controleer als volgt:

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

Als er een bestand met de naam 'core' is, controleer dan of de tijd overeenkomt met de tijd van het probleem. Als er mappen zijn met de naam 'core_', controleer dan op kernbestanden in elk van deze. Het is BELANGRIJK om het juiste kernbestand op te halen. Haal nu een stacktrace uit dit 'core'-bestand. Bekijk elk van de onderstaande reeksen om te zien hoe u dit moet doen. Een van deze zou moeten werken voor uw platform.

Als je dbx hebt:

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

Als je sdb hebt:

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

Als je xdb hebt:

% script /tmp/core.s

(d) Het is mogelijk dat een bepaalde SQL-instructie of PL/SQL-blok de fout veroorzaakt. In veel gevallen wordt dit vermeld in het traceerbestand dat is gemaakt onder de kop "Huidige SQL-instructie", of in het midden van het traceerbestand onder de cursor waarnaar wordt verwezen door de regel "Huidige cursor NN".

Als het traceerbestand de foutieve instructie niet weergeeft, kan SQL_TRACE worden gebruikt om dit te helpen bepalen, op voorwaarde dat het probleem zich herhaalt. SQL_TRACE kan worden ingeschakeld in de meeste clienttools

We moeten altijd verwijzen naar de hoofdnotitie van Metalink over ORA-03113
Masternotitie:probleemoplossing ORA-03113 (Doc ID 1506805.1)

Leest ook
ORA-01111
ORA-00900
ora-29283:ongeldige bestandsbewerking


  1. SQL Server-tabel verplaatsen naar andere bestandsgroep

  2. Hoe u alle tabellen in Oracle kunt weergeven

  3. lokale verzamelingstypen niet toegestaan ​​in SQL-instructies

  4. Oracle-parameters met IN-instructie?