[Oracle] Flushowanie DBMS_OUTPUT ?
Leszek Pachura - 11-05-2007 12:31
[Oracle] Flushowanie DBMS_OUTPUT ?
Czesc,
Odpalam z SQL*Plusa dlugo wykonujaca sie procedure skladowana (kilkanascie minut). Niestety, wszystkie komunikaty ktore sa wypisywane za pomoca DBMS_OUTPUT.PUT_LINE('blah blah blah') sa wyswietlane dopiero w momencie gdy procedura sie zakonczy, wszystkie na raz. Czy da sie jakos obejsc ten problem? Czy istnieje cos jak komenda "flush", ktora wypisalaby zawartosc bufora na ekran?
Mozna oczywiscie zapisywac komunikaty do osobnej tabeli i co pare sekund sprawdzac jej zawartosc z innej instancji SQL*Plusa, ale to rozwiazanie jest malo eleganckie...
Dzieki!
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
=?ISO-8859-2?Q?S=B3awomir_Szysz=B3o?= - 11-05-2007 12:31
Dnia 14 Apr 2007 23:35:27 +0200, "Leszek Pachura" <pachuraWYTNIJTO@op.pl> wklepał(-a):
>Czesc, > >Odpalam z SQL*Plusa dlugo wykonujaca sie procedure skladowana (kilkanascie >minut). Niestety, wszystkie komunikaty ktore sa wypisywane za pomoca >DBMS_OUTPUT.PUT_LINE('blah blah blah') sa wyswietlane dopiero w momencie gdy >procedura sie zakonczy, wszystkie na raz. Czy da sie jakos obejsc ten problem? >Czy istnieje cos jak komenda "flush", ktora wypisalaby zawartosc bufora na >ekran?
Jeśli potrzebujesz informacji o danych, które są przetwarzane w procedurze (np. wartości zmiennych), to zrób sobie procedurę zawierającą: PRAGMA AUTONOMOUS TRANSACTION i zapisuj w niej informacje do osobnej tabeli.
Natomiast jeśli chcesz tylko wiedzieć, który fragment procedury się wykonuje, to możesz ustawiać informację o aktualnie wykonywanej operacji przez DBMS_APPLICATION_INFO.SET_ACTION (ale tylko 32 znaki).
Podgląd przez: SELECT ACTION FROM V$SESSION WHERE SID = :P_SID;
Informacje o postępie zadania można też ustawiać poprzez DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS
I potem: SELECT * FROM V$SESSION_LONGOPS WHERE SID = :P_SID;
>Mozna oczywiscie zapisywac komunikaty do osobnej tabeli i co pare sekund >sprawdzac jej zawartosc z innej instancji SQL*Plusa, ale to rozwiazanie jest >malo eleganckie...
Rozwiązanie z DBMS_OUTPUT jest mało eleganckie. :) -- Sławomir Szyszło mailto:slaszysz@poczta.onet.pl Primus inter FAQires & Grand Inquisitor no.0 of pl.comp.bazy-danych FAQ pl.comp.bazy-danych http://www.dbf.pl/faq/ Archiwum http://groups.google.com/groups?grou...mp.bazy-danych
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
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.pldoc.pisz.plpdf.pisz.plmorebeer.opx.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 |
|