Avatar billede miracon Nybegynder
08. september 2003 - 11:02 Der er 1 kommentar og
1 løsning

Kontroller pipe stadig findes og at procedure stadig kører.

Jeg laver en public pipe i en "after startup on database" trigger vha. flg. procedure:
PROCEDURE Specific_Initialize IS
v_status INTEGER;
BEGIN
-- Create a public pipe.
v_status := dbms_pipe.create_pipe('PIPE_LOG', 8192, FALSE);
END;
Så starter jeg packaged procedure som looper for altid:
loop
v_status := dbms_pipe.receive_message('PIPE_LOG', 30);
IF v_status = 0 THEN
......
END IF;
end loop;
Så vil jeg hvert 5 minut (ved at bruge dbms_job) kontrollere om pipen stadig findes og om den packaged procedure stadig kører.
Hvordan kan det gøres nemmest ved at bruge PL/SQL?

Mvh Kim Damgaard
Avatar billede miracon Nybegynder
08. september 2003 - 12:38 #1
Ved at anvende DBMS_APPLICATION_INFO.SET_SESSION_LONGOPS og herefter viewet V$SESSION_LONGOPS kan jeg se om proceduren stadig kører ik?

Men jeg kan stadig ikke se hvordan jeg kan kontrollere om pipen stadig findes.

Mvh Kim Damgaard
Avatar billede holdam Nybegynder
08. september 2003 - 16:28 #2
Du kan lave et select mod v$db_pipes - der kan du se de database-pipes der findes, f.eks. SELECT NULL FROM v$db_pipes WHERE name='PIPE_LOG'
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester