Heim > Datenbank > Oracle > So beheben Sie, dass die geplante Oracle-Aufgabe 16 Mal fehlgeschlagen ist

So beheben Sie, dass die geplante Oracle-Aufgabe 16 Mal fehlgeschlagen ist

下次还敢
Freigeben: 2024-05-10 03:00:27
Original
1234 Leute haben es durchsucht

Die Gründe für das 16-malige Scheitern eines Oracle-Cron-Jobs können ungültige Pakete, unzureichende Benutzerberechtigungen, Datenbankinaktivität oder unzureichende Ressourcen sein. Zu den Reparaturschritten gehören: 1. Überprüfen Sie die Gültigkeit des Pakets. 3. Überprüfen Sie den Datenbankstatus. 5. Diagnostizieren Sie andere Anomalien.

So beheben Sie, dass die geplante Oracle-Aufgabe 16 Mal fehlgeschlagen ist

Beheben Sie, dass die geplante Oracle-Aufgabe 16 Mal fehlgeschlagen ist.

Ursache des Problems

Der Grund, warum die geplante Oracle-Aufgabe 16 Mal fehlgeschlagen ist, kann auf folgende Probleme zurückzuführen sein:

  • Paketungültige Ausnahme: Geplante Aufgabenverwendung Die gespeicherte Prozedur oder Funktion wurde geändert, wodurch das Paket ungültig wurde.
  • Unzureichende Benutzerberechtigungen: Der Benutzer, der die geplante Aufgabe ausführt, verfügt nicht über Ausführungsberechtigungen für das aufrufende Objekt (z. B. eine gespeicherte Prozedur).
  • Datenbank ist inaktiv: Die Datenbank ist geschlossen oder nicht verfügbar, was dazu führt, dass geplante Aufgaben nicht ausgeführt werden können.
  • Unzureichende Datenbankressourcen: Getaktete Aufgaben erfordern viele Ressourcen wie CPU oder Speicher, die Datenbank kann diese jedoch derzeit nicht bereitstellen.
  • Andere Ausnahmen: Alle anderen Ausnahmen, die durch unerwartete Bedingungen wie ORA-Fehler verursacht werden.

Schritte beheben

1. Überprüfen Sie die Paketgültigkeit

Führen Sie den folgenden Befehl an der Eingabeaufforderung aus:

<code class="sql">SELECT object_name, status FROM dba_objects WHERE object_type='PACKAGE' AND status='INVALID';</code>
Nach dem Login kopieren

Wenn Sie ungültige Pakete finden, kompilieren oder laden Sie sie neu.

2. Überprüfen Sie die Benutzerberechtigungen

Verwenden Sie den folgenden Befehl, um die Benutzerberechtigungen für die Ausführung geplanter Aufgaben zu überprüfen:

<code class="sql">SELECT granted_role FROM dba_role_privs WHERE grantee = '<user_name>';</code>
Nach dem Login kopieren

Stellen Sie sicher, dass der Benutzer über Ausführungsberechtigungen für die relevanten Objekte verfügt.

3. Überprüfen Sie den Datenbankstatus

Überprüfen Sie den Datenbankstatus mit dem folgenden Befehl:

<code class="sql">SELECT open_mode FROM v$database;</code>
Nach dem Login kopieren

Wenn das Ergebnis „NUR LESEN“ lautet oder die Datenbank geschlossen ist, starten Sie die Datenbank bitte neu.

4. Überwachen Sie die Ressourcennutzung

Verwenden Sie den folgenden Befehl, um die Datenbankressourcennutzung zu überwachen:

<code class="sql">SELECT name, busy_time, wait_time, time_waited FROM v$active_session_history;</code>
Nach dem Login kopieren

Wenn geplante Aufgaben einen hohen Ressourcenbedarf haben, erwägen Sie bitte eine Optimierung des Codes oder eine Erhöhung der Datenbankressourcenzuteilung.

5. Andere Ausnahmen diagnostizieren

Wenn das Problem durch die oben genannten Schritte nicht behoben wird, überprüfen Sie die Oracle-Protokolldatei (/oracle/[db_name]/trace/[trace_file].dbf) auf andere Ausnahmen.

6. Setzen Sie die geplante Aufgabe zurück

Setzen Sie die geplante Aufgabe zurück:

<code class="sql">BEGIN
  SYS.DBMS_SCHEDULER.DISABLE('<job_name>');
  SYS.DBMS_SCHEDULER.DROP_JOB('<job_name>');
END;
/</code>
Nach dem Login kopieren

Dann erstellen Sie die geplante Aufgabe neu.

Das obige ist der detaillierte Inhalt vonSo beheben Sie, dass die geplante Oracle-Aufgabe 16 Mal fehlgeschlagen ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage