Oracle: BUG 6141507 & ORA-07445 & query_rewrite_enabled=TRUE
Wednesday, 20.06.2007 – DejanMrzim kada trazim razlog neke greske i kada izgubim prilicno vremena i zivaca, a onda se na kraju ispostavi, da je to Oracle bug.
Naime, prije nekoliko mjeseci smo dobijali gresku ORA-07445: exception encountered: CORE Dump[ACCESS_VIOLATION] [kkssct+102] [PC:0x93DF2E] [ADDR:0x14] [UNABLE_TO_READ] [], zbog koje sam na savjet Oracle Support strucnjaka morao dodati jedan nedokumentovani init parametar (_fix_control=’3118776:OFF’) i dva init parametra izmijeniti (query_rewrite_enabled=FALSE i cursor_sharing=EXACT).
Nakon toga je neko vrijeme sve radilo kako treba, iako su performanse baze drasticno opale, pa sam morao puno truda uloziti u optimizaciju SQL upita i postojecih materialized views. Posto broj korisnika sve vise raste i posto ima sve vise aplikacija u bazi, opterecenje je proporcionalno tome raslo.
Moj pokusaj da gorespomenuta dva init parametra vratim na prvobitno stanje, kako bih dobio na performansama, sveo se na hrpu gorespomenutih ORA-07445 gresaka i zalbu mnogobrojnih korisnika.
Zbog toga sam putem Metalinka odlucio ponovo pokrenuti pitanje (Service Request) u vezi ove greske. Nakon visednevnog “dopisivanja” i testiranja, ljudi iz Oracle Supporta su zakljucili da je to bug (Bug 6141507 – QUERY_REWRITE_ENABLED=TRUE ORA-07445: [ACCESS_VIOLATION] KSSCT+102]) i da mi ne preostaje nista drugo, nego cekati da se taj bug ispravi.
3 Responses to “Oracle: BUG 6141507 & ORA-07445 & query_rewrite_enabled=TRUE”
Ma evo sad će ova 11g pa će sve da reše )))
Samo me zanima da li ti je stvarno nešto pomoglo menjanje parametra cursor_sharing. Lično mislim da je bolje da se programeri nateraju da koriste bind varijable nego da se menja parametar (ne volim ta silver bullet rešenja).
Ja imam sličan problem sa deljenjem kursora, baš zbog ne korišćenja bind varijabli ali mi promena ovog parametra na SIMILAR nije pomogla ništa. Nije mi pomoglo ni ubeđivanje sa programerima da koriste bind varijable, ali to ću da ti postujem posebno na mail pa da vidimo da li može da se reši problem (problemi sa ADO konekcijom). Kako ti sad uopšte rade materijalni pogledi kad ti nije parametar query_rewrite_enabled uključen, ili ovaj bug ne utiče na parametre sesije.
S.
By _simma_ on Jun 21, 2007
@_simma_: Ma koristimo neki 3rd party tool za izradu posebnih izvjestaja, koji se salju austrijskoj nacionalnoj banci i austrijskoj kontrolnoj banci. Tu aplikaciju NE MOZEMO mijenjati, ali smo napravili novu in-house aplikaciju, koja ce zamijeniti postojecu, samo da obavimo jos neke detaljne testove i da nam te banke odobre koristenje ove aplikacije.
Iskljucivo zbog te aplikacije moram koristiti CURSOR_SHARING=SIMILAR, jer onda dodje do zastoja baze (concurrency waits) u trajanju od po nekoliko minuta (3-10 minuta), a tokom tog perioda niko ne moze da se spoji na bazu, niti aktivni korisnici mogu nesto da rade. Cak ni strucnjaci iz Oracle Austria nisu uspjeli rijesiti taj problem…
Materialized Views rade solidno, ali vjerujem da bi radili jos brze, kad bih mogao podesiti parametar QUERY_REWRITE_ENABLED na TRUE.
Bas zato sto ni ja na volim silver bullet rjesenja, tj. predlozene workarounde od strane Oracle Supporta, sacekacu da se ovaj bug ispravi, prije nego da koristim nedokumentovane parametre.
Ja sam pricao sa svojim shefom i dao mu prijedlog da svakom programeru zabranimo pristup bazi, ukoliko se ne bude pridrzavao standardnih procesa i pravila prilikom programiranja u PL/SQL-u (FORALL, bind varijable i td.), ali je rekao da bi to bilo preokrutno. 🙂
Ko zna, mozda jednom u afektu zabranim pristup doticnim programerima, da pocnu raditi svoj posao kako treba. 🙂
By dejan on Jun 21, 2007
Ma da to je klasika sa kupljenim aplikacijama. Kod mene sad uvode SAP i bacaju ga na Oracle, trebalo bi da radi dobro, ali sam kod gomile gurua na netu pročitao da se ježe od tih database independent apliakcija. SAP ne koristi ništa od pogodnosti rdbms-a.
Verovatno je i kod te vaše aplikacije rađeno nešto po tom principu, “ajde da uradimo ovo da paše na svim bazama”, i onda dupliraju nešto što već postoji na oracle-u.
A nemoj da misliš da si najgori, kad me iznerviraju projektanti dođe mi da oborim bazu i da odem na Jamajku. 🙂 Najbolju definiciju je dao jedan od kolega iz Telekoma: “Kod nas u firmi ima X oracle baza i 50 programera. Možete da zamislite koja je to razorna moć koja napada ovih X baza”
By _simma_ on Jun 23, 2007