2016-04-13 54 views
1
SQL> Exec Dbms_Scheduler.stop_job('US_ALERT',true); 
begin Dbms_Scheduler.stop_job('US_ALERT',true); end; 
ORA-27466: internal scheduler error: 1870 
ORA-06512: at "SYS.DBMS_ISCHED", line 227 
ORA-06512: at "SYS.DBMS_SCHEDULER", line 674 
ORA-06512: at line 1 

Burada yanlış gidenler hakkında herhangi bir fikri olan var mı? Veritabanı: Oracle Sürüm: 12cdbms_scheduler işini durdurulamadı

cevap

1

Bu hata, yığının pl/SQL kodunda işlenmeyen özel durumlar tarafından çözülmesinden kaynaklanır. Büyük olasılıkla programlayıcı, içindeki bazı kötü kodlarla bir prosedür yürütüyor.

yapılması gereken ilk şey

BEGIN 
    DBMS_SCHEDULER.DROP_JOB('myjob1'); 
END; 
/

Sonra saklı yordam (ler) soruşturma başlatmak ve bazı istisna işleme ekleyin işi bırakmaktır (http://www.techonthenet.com/oracle/errors/ora06512.php bakınız).

DECLARE pe_ratio NUMBER(3,1); 
BEGIN 
SELECT price/earnings INTO pe_ratio FROM stocks WHERE symbol = 'XYZ'; -- might cause division-by-zero error 
INSERT INTO stats (symbol, ratio) VALUES ('XYZ', pe_ratio); COMMIT; 
End; 

şöyle bu bir ora 06512. neden olabilir İşinizin tarafından çağrıldı Eğer bazı PL/SQL kodu bulunsun Örneğin

(Muhtemelen bazı günlük/izleri de eklemek gerekir senin pı içine/SQL

DECLARE pe_ratio NUMBER(3,1); 
BEGIN 
SELECT price/earnings INTO pe_ratio FROM stocks WHERE symbol = 'XYZ'; -- might cause division-by-zero error 
INSERT INTO stats (symbol, ratio) VALUES ('XYZ', pe_ratio); 
COMMIT; 
EXCEPTION -- exception handlers begin 
WHEN ZERO_DIVIDE THEN -- handles 'division by zero' error 
INSERT INTO stats (symbol, ratio) VALUES ('XYZ', NULL); 
COMMIT; ... 
WHEN OTHERS THEN -- handles all other errors 
ROLLBACK; 
END; -- exception handlers and block end here 

Artık işlenmeyen istisna ile değiştirin hata da yardımcı olabilir bildirilen mesajlar)

yılında, hat numaralarını bu daraltmak için Artık 06512 hatalarına neden olmamalı ve bu nedenle istendiğinde işiniz durur.

Burada kahin olur https://docs.oracle.com/cd/A97630_01/appdev.920/a96624/07_errs.htm

Umut içinde kural dışı durum işleme bazı iyi bilgi bu.

+0

Bazı kavram kanıtlarını paylaşabilir misiniz? –

+0

Yukarıdaki cevabı bazı bağlantılar ve örneklerle güncelledim. – Chris

+0

İşte benzer bir sorunu olan birinin bir örneği. http://stackoverflow.com/questions/20178030/dbms-scheduler-drop-job-only-if-exists – Chris