Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Schedulare una procedura su DB Oracle

692 views
Skip to first unread message

Denis Carraro

unread,
Jun 12, 2003, 11:14:03 AM6/12/03
to
come si fa?


freCho

unread,
Jun 12, 2003, 11:25:19 AM6/12/03
to
Il Thu, 12 Jun 2003 17:14:03 +0200, Denis Carraro ha scritto:

> come si fa?

dipende da cosa intendi per 'procedura'.
Potresti creare un job, schedulare su crontab uno script
che lanci eventuali file .sql
Dovresti spiegare meglio cosa devi fare.
ciao

Denis Carraro

unread,
Jun 12, 2003, 11:50:30 AM6/12/03
to
Ho creato una PROCEDURA (con Create Procedure CDD....) e vorrei ke qsta
peocedura partisse in automatico ogni giorno ad un dato orario (crea 1 file
di testo)...

aiutatemi


Rachel Hotmail

unread,
Jun 12, 2003, 1:49:49 PM6/12/03
to
C'č un package fornito da oracle che si chiama DBMS_JOBS o JOB... non mi
ricordo piů.
Li puoi schedulare la tua procedura / package direttamente dall'interno del
db, senza intervenire con dei batch a livello di sistema operativo.

Controlla la reference per le procedure specifiche del package che ti ho
suggerito...
c'č la procedura SUBMIT che ti permette di schedulare il tuo job, oppure la
procedura RUN se lo vuoi far partire subito.

CIao

"Denis Carraro" <i...@tu.com> ha scritto nel messaggio
news:bca5br$fdoth$1...@ID-192995.news.dfncis.de...
> come si fa?
>
>


Andrea Salzano

unread,
Jun 16, 2003, 4:35:42 AM6/16/03
to

Non ho capito il "crea 1 file di testo..." a cosa si riferisce,
cmq, i passi da seguire sono i seguenti:

1. Crea una STORED procedure
create or replace procedure CDD

2. utilizza il package dbms_job.submit
Ti riporto un esempio direttamente dal manuale
(http://download-west.oracle.com/docs/cd/A87861_01/NT817EE/index.htm)

Il prototipo del package e':

DBMS_JOB.SUBMIT (
job OUT BINARY_INTEGER,
what IN VARCHAR2,
next_date IN DATE DEFAULT sysdate,
interval IN VARCHAR2 DEFAULT 'null');

(ti ho riportato solo i valori più importanti)

VARIABLE jobno number;
exec DBMS_JOB.SUBMIT(:jobno,
'CDD',
SYSDATE,
'SYSDATE + 1');
/
commit;

Statement processed.
print jobno
JOBNO
----------
14144

In questo caso il job viene schedulato ogni giorno (SYSDATE+1).
Nota gli apici attorno a CCD e SYSDATE+1. Il motivo è da
ricercare nella definizione del package.

A partire dal jobno (14144 in questo caso), puoi interrogare la
USER_JOBS per conoscere tutti i dettagli sul tuo "lavoro" schedulato.

SQL> select * from user_jobs where job=14144;

tiziana...@gmail.com

unread,
Apr 10, 2020, 5:15:11 AM4/10/20
to
Come si fa a specificare l'ORA.
Io ho dei JOB, ho specificato una esecuzione SETTIMANALE.
Pensavo di aver specificato le 18.10 come esecuzione, ma ho visto che mi partono alle 9.35 del mattino.
Qual e' l'opzione per specificare l'orario preciso di partenza ?

tiziana...@gmail.com

unread,
Apr 10, 2020, 5:22:43 AM4/10/20
to
Se volessi schedulare l'esecuzione PARALLELA dello Stesso JOB passandogli parametri differenti, come si fa a specificare allo Scheduler ORACLE l'esecuzione in "NOHUP" ???

Vorrei quindi estrarre i valori dei parametri in input (con un loop ad esempio) e passare le N variabili allo stesso JOB che deve partire contemporaneamente su M JOB (dove M e' il numero di processori a disposizione) e deve andare ad esaurimento delle N esecuzioni a gruppi di M.

Non so se e' chiara l'esigenza, ma vorrei capire se questa attività puo' essere fatta dallo schedulatore di ORACLE
0 new messages