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.
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:
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>
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>
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>
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>
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>
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!