ďťż
 
Oracle Advanced Queues - nasluchiwanie w tle? ďťż
 
Oracle Advanced Queues - nasluchiwanie w tle?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Oracle Advanced Queues - nasluchiwanie w tle?



Leszek Pachura - 11-04-2007 00:02
Oracle Advanced Queues - nasluchiwanie w tle?
  Czesc,

Oracle 10. Zalozmy ze mamy w bazie kolejke (queue) do ktorej rozne procesy moga
dodawac komunikaty-polecenia (np. skasuj takie-a-takie rekordy z takiej-a-
takiej tabeli, zapisz cos do logu etc. etc.). Te komunikaty odbiera - a
nastepnie wykonuje - pewien proces.

Pytanie: czy da sie uruchomic ten proces wykonawczy "w tle"?

Moge rzecz jasna napisac procedure o mniej-wiecej takim kodzie (zapis
uproszczony):

create procedure wykonuj_polecenia
begin
loop -- nieskonczona petla komunikatow
dbms_aq.dequeue('kolejka', bufor_payload);
if bufor_payload.rozkaz = 'kasuj' then
delete from TABELA;
...
commit;
end loop;
end;

....ale zawsze gdzies bedzie musial wisiec proces kliencki ktory ja odpalil (np.
zablokowane okno SQL*Plusa). Czy da sie to jakos obejsc? Tak zeby proces
nasluchiwal sobie w tle, w srodku samej bazy?

- moze zrobic to jakos z pomoca jobow?
- moze da sie zalozyc trigger na advanced queue?
- na www widzialem ze w kontekscie queues mowi sie o "agents" - moze to pomoze?

Dzieki.

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





ThomasO@cpas.com - 12-04-2007 00:08

  On Apr 10, 4:23 pm, "Leszek Pachura" <pach...@op.pl> wrote:
> Czesc,
>
> Oracle 10. Zalozmy ze mamy w bazie kolejke (queue) do ktorej rozne procesy moga
> dodawac komunikaty-polecenia (np. skasuj takie-a-takie rekordy z takiej-a-
> takiej tabeli, zapisz cos do logu etc. etc.). Te komunikaty odbiera - a
> nastepnie wykonuje - pewien proces.
>
> Pytanie: czy da sie uruchomic ten proces wykonawczy "w tle"?
>
> Moge rzecz jasna napisac procedure o mniej-wiecej takim kodzie (zapis
> uproszczony):
>
> create procedure wykonuj_polecenia
> begin
> loop -- nieskonczona petla komunikatow
> dbms_aq.dequeue('kolejka', bufor_payload);
> if bufor_payload.rozkaz = 'kasuj' then
> delete from TABELA;
> ...
> commit;
> end loop;
> end;
>
> ...ale zawsze gdzies bedzie musial wisiec proces kliencki ktory ja odpalil (np.
> zablokowane okno SQL*Plusa). Czy da sie to jakos obejsc? Tak zeby proces
> nasluchiwal sobie w tle, w srodku samej bazy?
>
> - moze zrobic to jakos z pomoca jobow?
> - moze da sie zalozyc trigger na advanced queue?
> - na www widzialem ze w kontekscie queues mowi sie o "agents" - moze to pomoze?
>
> Dzieki.
>
> --
> Wysłano z serwisu OnetNiusy:http://niusy.onet.pl

Uzyj DBMS_JOB.
DECLARE
nJob BINARY_INTEGER;
BEGIN
DBMS_JOB.Submit( nJob, 'wykonuj_polecenia;' );
COMMIT;
END;
Thomas
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= Oracle 19g +Insert +Insert +Insert... [oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?= [Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?= =?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?= [oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?= [oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?= MSSQL Express czy Oracle Express =?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?= =?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kfia-tek.keep.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com