Problem Oracle sessions

Richard Hrdlicka ricmond na pef.mendelu.cz
Úterý Listopad 12 13:49:53 CET 2002


Tue, Nov 12, 2002 ve 11:07:59AM +0100, Honza Pazdziora napsal:
> On Tue, Nov 12, 2002 at 10:34:43AM +0100, Richard Hrdlicka wrote:
> > 
> > byl jsem na vas odkazan M.Sormem... Omluvte moji neodbornost pri
> 
> Jsem myslel, ze Milan tohle vi ... :-)

NO, bohuzel takove detaily nevi :-)

> 
> > pouzivame RH (2.4.18-10) - s Apache2, OpenSSL. Apache si na Oraclu "rozjede" dvojnasobny
> > pocet vlastnich sessions nez je pocet procesu...
> 
> Tohle povazujete za vlastnost nebo to potrebujete taky resit?

To se jenom snazim popsat stav...

> 
> > Problem je v tom, ze pokud se udela nejaky zasah do package, tak
> > vsechny funkce si zapisi stav, ze package je:
> 
> Moment, funkce si nezapisi zadny stav. Pri nasledujicim pouziti
> package, ktery uz byl v te session pouzit a je tudiz inicializovan,
> Vam Oracle rekne

Ano, napsal jsem to blbe, session si pamatuje stav toho package nebo
zda ho uz pouzila...

> 
> > Error: ORA-04061: existuj?c? stav package "UIS.PKG_STUDIUM" byl ozna?en za neplatn?                                                                                
> > ORA-04065: neprovedeno, package "UIS.PKG_STUDIUM" zm?n?no nebo zru?eno (DBD ERROR: OCIStmtExecute)
> 
> coz znamena, ze jakykoli stav, ktery v tom packagi byl (a ktery
> pretrvava po celou dobu trvani session) bylo nutne zahodit, protoze
> se zmenila definice. A zmeni-li se definice, neni mozne, aby prezila
> ta data uvnitr. A zaroven se tim vyvole recompile, ktery pokud uspeje,
> tak zajisti, ze pri dalsim zavolani uz tuhle chybu nedostanete.
> 

No a ted jde o to, proc teda neprovede to recompile hned? Proste po
zmene toho baliku to obcas blbne a treba pul hodiny (jak kdy) je to
bez dodatecne kompilace nepouzitelne... Da se rict, ze po pul hodine
se to zrejme nejak rekompiluje. 

Predpokladali jsme, ze kdyz se
zmeni nejaky package, ze vsechny rozjete sessions to poznaji a vnitrne
si udelaji recompile daneho baliku ihned, lec realita je jina... Jestli to
treba nemuze byt tim, ze apache je nastaven aby udrzoval spojeni i po
vyrizeni requestu (sice je to pouze 15 vterin)

> > Samozrejme, ze ten balik je valid a bez chyby, pokud se pouzije v dane
> > session "alter package UIS.PKG_STUDIUM compile", tak to vesele
> > zkompiluje a chyby nehlasi....
> > 
> > Ale jak to udelat pro tech cca 80 dalsich session aby si ten package
> > zkompilovali???
> > 
> > Zrejme se jedna o nejake trivialni inicializacni nastaveni, lec
> > bohuzel jsem na nej neprisel..
> 
> No, pravdepodobne byste mohl napsat nejaky handler do Apache, ktery by
> reagoval na vhodny signal, a po obdrzeni toho signalu by do prislusne
> session poslal vyse uvedene recompile.

No o tom jsem taky uvazovali, sice ne puvodni handler Apache, ale jako
nejaky PL/SQL kod, ktery by vyhledal zmenu a snazil by se o
rekompilaci...
> 
> Je ale treba si uvedomit, ze tim ztracite data treba v polovine
> provadeni akce. A pokud se deje tohle a jestli to navic chcete, tak
> je otazka, jestli to nemate nejak blbe postavene od zacatku. Prece
> nemuze byt normalni, ze Vam nevadi, ze prijdete o data, ne? To je jako
> byste chtel, aby kurzor prezil DDL na tabulce, nad kterou ten kurzor
> je, tedy aby nehodil chybu, ale pritom aby zahodil vsechna neprectena
> data, ktera jste jeste nestihl fetchnout.

No, to je problem dodelavani popr. zmen packagu v ostrem provozu.
Napriklad funkce nebo procedury tyto problemy nemaji (nebo se mozna
alespon tak neprojevuji), ze by z toho chodily chybove hlasky

Ted moc nerozumim, chcete naznacit, ze kdyz se zmeni package, tak se
ztrati veskera tada, ktera ten package prave zpracovava, to snad jeste
dobehne korekne, ne? Nebo si to mozna bajne namlouvam. No a ty data
potom co ma zpracovat snad uz nezpracuje, kdyz je v nepouzitelnem
stavu....


Diky

Richard Hrdlicka


> 
> -- 
> ------------------------------------------------------------------------
>  Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
>       ... all of these signs saying sorry but we're closed ...
> ------------------------------------------------------------------------


Další informace o konferenci Test