View Full Version : [oracle] come chiamare una procedura ogni giorno a mezzanotte
Ciao.
Come da titolo, volevo eseguire ogni notte una procedura che deve analizzare alcune procedure inserite in un'apposita tabella oracle e che deve settarle come scadute se non sono state modificate negli ultimi giorni.
Come posso farlo?
Esistono dei trigger a tempo o no?
Grazie.
Esistono.
Ma il consiglio che ti do e' quello di non usarli, per evitare complicazioni ai sistemisti di turno.
Ti consiglio di usare il comando AT, oppure le operazioni pianificate (che sono praticamente la stessa cosa) sotto Windows.
Oppure un Crontab se sei sotto unix.
In questo modo tutti sanno metterci le mani sopra.
Il comando da eseguire e' ovviamente semplice:
SQLPLUS autenticazione script.sql
Quoto, non usare i trigger.
Schedula un job da qualche parte (oracle/SO) come ti ha già risposto gugoXX
Ok. Mi avete convinto a non usare il trigger.
Schedula un job da qualche parte (oracle/SO)
Si possono fare anche job in oracle? Se si come si fa?
Grazie mille.
Si possono fare anche job in oracle? Se si come si fa?
Grazie mille.
Si', era proprio quello che ti consiglieri di non usare.
Questo mestiere non si puo' fare con i trigger del database.
Si puo' fare con i JOB del database, ma per i motivi di cui prima ti sconsiglierei di usare i JOB interni del database.
Comunque se proprio li vuoi usare lprendi spunto da qui
declare
vJobNumber binary_integer;
begin
dbms_job.submit(
job => vJobNumber,
next_date => to_date('23:45', 'HH24:MI'),
interval => 'SYSDATE + 2',
what => 'begin UpdateEmp(20, 100); end;'
);
end;
Il problema sta nell'incontrollabilita' di tale job se non da parte dei DBA, che dovranno/potranno sospenderlo o killarlo usando il valore restituito da vJobNumber, oppure da console di amministrazione (Enterprise manager).
Insomma, poiche' mi sembra di aver capito che non devi fare cose strane, ti riconsiglio di usare i job del sistema operativo su cui sei.
I Job Oracle sono usati internamente dai tool Oracle come il WorkFlow o WarehouseBuilder. Non ho mai incontrato nessuno che li abbia usati direttamente, anche se si puo' tranquillamente fare.
Avevo frainteso.
Avevo capito che sconsigliassi solo di usare i trigger.
Ok. Allora mi farò un bel file sql con la mia query e poi la farò eseguire col comando SQLPLUS come mi hai consigliato nel primo post.
Ciao e grazie ancora
Non ho mai incontrato nessuno che li abbia usati direttamente, anche se si puo' tranquillamente fare.
Io ne sto usando uno proprio in questo momento per caricare dati da un ftp sul database.
Un job oracle nel mio caso è la soluzione più semplice perchè: a) l'importazione dei dati viene lanciata da una web app e b) devo parlare con una persona sola (il DBA) e non con N (il sistemista di turno + DBA).
Cmq come ogni cosa dipende dalle specifiche esigenze...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.