sql >> Database teknologi >  >> RDS >> Oracle

Automatiser IRI Data Integration Jobs med Oracle Job Scheduler

Jobplanlæggere er computerprogrammer, der styrer andre programudførelser bag kulisserne eller som en del af batchprocesser. Denne automatisering af arbejdsbyrden er typisk koordineret, så traditionel baggrundsdatabehandling kan integreres med forretningsaktiviteter i realtid uden at opbruge ressourcer eller forstyrre andre applikationer. Jobplanlæggeren automatiserer grænseflader i arbejdsgange, indsender og overvåger udførelser og sætter udførelsesrækkefølgen af ​​ikke-relaterede jobs i kø, så operationer håndteres i den rigtige rækkefølge og underlagt specifikke betingelser.

Et populært værktøj til databaseprocesautomatisering er Oracles indbyggede jobplanlægger. Det kan ikke kun bruges til at automatisere SQL-procedurer og hjælpefunktioner, men til tredjepartsprocesser, der påvirker Oracles effektivitet. Oracle DBA'er bruger rutinemæssigt IRI FACT, IRI CoSort og SQL*Loader til at fjerne overheaden af ​​transformationer fra databaselaget og forbedre workflowet hele vejen igennem i ETL- og offline-reorg-operationer. Disse værktøjer kan nu kombineres og planlægges med Oracles Job Scheduler i IRI Workbench, et GUI-miljø bygget på Eclipse™.

Uanset om det er på kommandolinjen, en Oracle-frontend eller IRI'er i Eclipse™, kan Oracle DBA'er nu planlægge indbyrdes afhængige ETL-trin eller opsætte unload/sort/reload (reorg) operationer ved hjælp af IRI-software. Med Oracle Job Scheduler, DBMS_SCHEDULER, kan DBA'er og datavarehusarkitekter angive, hvornår FACT-udtræk, CoSort-sortering/transformering/rapporter og/eller massebelastninger skal startes, og specificere afhængigheder mellem disse processer.

Oracle Job Scheduler hjælper brugeren med at administrere og planlægge forskellige opgaver, så manuel indgriben ikke er påkrævet. For at bruge jobplanlæggeren er der brug for tre små scripts:

• Procedure til at samle ETL-processen

• Funktion til at fange eventuelle beskeder fra Java-programmet

• Java-program til at håndtere kommandolinjekaldene til ETL-trinene:FACT (E), CoSort SortCL (T),  og Oracle SQL*Loader (L)

Når scripts er klar, kan brugeren derefter oprette en procedure for at automatisere det ønskede arbejde. Brugeren kan angive dato og klokkeslæt, hvor proceduren skal begynde. Brugeren kan også angive, hvor ofte de ønsker, at jobbet skal køre (ugentlig, daglig, timevis eller på et bestemt tidspunkt og dato ned til hvert 30. sekund).

Planlæggeren vil administrere trinene, så de udføres i den rigtige rækkefølge. Det er også muligt at definere brugerdefinerede kontroller for at sikre, at det næste trin ikke begynder, medmindre det forrige er lykkedes eller opfyldt visse kriterier.

I eksemplet nedenfor har brugeren valgt proceduren "runFlow" for at starte definerede trin hver tirsdag kl. 8.00 og hver fredag ​​kl. 15.00.


DECLARE
JobNo user_jobs.job%TYPE;
v_date1 date :=to_date('20130312 080000′,'yyyymmdd hh24miss');
v_date2 date :=to_date('10501) ′,'yyyymmdd hh24miss');
BEGIN
dbms_job.submit( JobNo,  –Job ID
'begin runFlow; end;', ​​— Procedure for at udføre
v_date1, — start kører ved
'SYSDATE + 7' — interval of jobs
);
COMMIT;
dbms_job.submit(  JobNo,  –Job ID
'begin runFlow; end; ', — Procedure for at udføre
v_date2, — start at køre ved
'SYSDATE + 7' — interval for job
);
COMMIT;
END;

Der er betydelige fordele ved at automatisere ETL-processerne på denne måde, især for Oracle DBA'er, der allerede er bekendt med DBMS_SCHEDULER. Metoden kan spare udgifterne til dyre ETL- eller jobplanlægningspakker, minimere chancerne for menneskelige fejl og udelukke behovet for manuel indgriben. Det er også muligt at bruge integrationen til at automatisere offline omorganisering og ELT-relaterede trin.

Kontakt os, hvis du har spørgsmål om implementeringen af ​​IRI-jobtrin i Oracle Job Scheduler, eller hvis du gerne vil have eksemplet med hvidbogen.


  1. Sådan slipper du udenlandske nøglebegrænsninger i SQL Server-databasen for alle tabellerne - SQL Server / TSQL vejledning del 72

  2. Brug af Sqlite Stored Procedure i Android

  3. Føj dage til en dato i PostgreSQL

  4. Hvordan håndterer jeg åbning/lukning af Db-forbindelse i en Go-app?