Oracle Database 11g Launch
Friday, 15.06.2007 – DejanNakon uspjesnih beta testiranja, dolazi i sluzbeni “launch”:
Oracle Database 11g Launch
Aj’ da vidimo konacno, sta su sve ubacili/izmijenili u novoj verziji…
Nakon uspjesnih beta testiranja, dolazi i sluzbeni “launch”:
Oracle Database 11g Launch
Aj’ da vidimo konacno, sta su sve ubacili/izmijenili u novoj verziji…
Konačno! Danas položih ovaj upgrade ispit 1Z0-040 (1Z0-040 – Oracle 10g: New features for administrators) sa OCP 9i DBA na OCP 10g DBA. Bilo je par tricky pitanja, koji su me totalno zbunili, pa sam odgovor takoreći morao blefirati, ali sve u svemu ispit nije bio težak.
Pošto više ne trebam ovaj SelfTestSoftware, dajem ga u zamjenu za nešto sa ove liste:
– Oracle knjiga,
– 2 GB RAM-a
– 1 Hard disk od oko 200 GB prostora
Ko se prvi javi, njemu ide STS, a ja čekam 11g. 🙂
Prije nekoliko godina, dok sam bio pocetnik u podrucju baza podataka, nailazio sam na mnoge probleme – nekad lagane, nekad teze. Vecinu sam ih pokusavao sam rijesiti uz pomoc dokumentacije ili knjiga, a kad nisam uspijevao, trazio sam rjesenje/savjet/pomoc na raznim forumima i preko Googlea.
U nerijetkim slucajevima sam znao izgubiti dosta vremena i zivaca, dok nisam nasao rjesenje ili neki savjet u vezi odredjenog problema.
Da nema Googlea i ljudi kao sto su Tom Kyte, koji nesebicno dijele svoje znanje i pomazu drugima, moj bi posao (a samim tim i zivot) bio mnogo tezi. 🙂
Zbog toga sam se i ja odlucio nesebicno pomagati drugim pocetnicima u podrucju baza podataka (tj. ukoliko moje znanje bude bilo dovoljno za pronalazenje rjesenja), konkretnije u vezi MySQL i Oracle baza, tako da mi mozete slati vasa pitanja sa DETALJNIM opisom problema, ocekivanim rezultatom i svim korisnim informacijama.
Pitanje ce biti postavljeno ovdje na sajtu i odgovor cemo pokusati dati svi zajedno, sa ciljem da odredjeni problem rijesimo na najbolji moguci nacin – dakle, ne samo da damo rjesenje, nego da to bude i “best practice” rjesenje.
Pitanja mozete slati na E-Mail dejanAToutsourcing-it.com
Odlučili mi da “zakrpimo” baze najnovijim patch-om, tj. patch-evima (CPU Patch April 2007 i Patch 5 za 10.2.0.3), kadli ono “rupa” u “zakrpi”. Medjutim, fora je što patch na nekim serverima radi, a na glavnom production serveru ne radi kako treba. Juče i danas smo zakrpili nekoliko lokalnih servera, a potom development i acceptance server – sve je prošlo bez ikakvih problema.
Dodje na red i live production server – pomislili smo da ni tu neće biti nikakvih problema, ali smo se žestoko uspaničili i preznojili. Moram priznati da je ovo danas bio jedan od problematičnijih dana u stilu “noćna-mora-za-DBA”.
Naime, nakon što se baza zakrpi najnovijim patchom i nakon što se pokuša normalno pokrenuti, pojavljuje se jedna od zloćudnih ORA-07445 greški:
ORA-07445: exception encountered: core dump [ACCESS_VIOLATION] [kcbzfb+346] [PC:0x4E8616] [ADDR:0x251] [UNABLE_TO_READ] []
Na MetaLinku (link za one, koji imaju pristup MetaLinku: DATABASE CAN’T BE STARTED AFTER APPLIED CPU PATCH APR 2007) sam pronašao da je riječ o Bug-u, koji trenutno nije ispravljen, ali postoji jedan workaround za rješavanje tog problema. Workaround se sastoji od dodavanja jednog parametra u init.ora datoteku:
_enable_numa_optimization=FALSE
Pošto ne želimo da se petljamo sa nekim workaroundima (loše iskustvo sa par prethodnih workaround prijedloga od strane Oracle Support tima), poništili smo zadnji patch (opatch rollback) i pokrenuli bazu normalno bez tog patcha, pa ćemo pričekati sa zakrpom, dok se taj bug ne ispravi.
U zadnje vrijeme manje pišem na blogu, jer sam zatrpan poslom, a u slobodno vrijeme se pripremam za polaganje “upgrade” ispita sa OCP 9i DBA na OCP 10g DBA (1Z0-040 – Oracle 10g: New features for administrators).
Imam već 2 godine iskustva u radu sa verzijom 10g, ali sam kupio i SelfTestSoftware za ovaj ispit – za svaki slučaj. 🙂
Kad riješim to, nastavljam sa recenzijom nekoliko novih knjiga, koje sam pročitao u zadnjih par mjeseci (Mastering SQL; Cost-based Oracle Optimizer i td.). Biće tu i opis korištenja DataPump-a (expdp/impdp), kao i nekoliko riječi o mijenjanju characterseta u bazi.
Stay tuned.
U petak sam prebacivao kopiju production baze na test-server, ali sam učinio jedan pogrešan korak, zbog kojeg sam kasnije dobijao masu “ORA-00936: missing expression” grešaka.
Gledam ja tako problematične SELECT upite, koji uzrokuju exception sa tom greškom i jednostavno ne vidim u čemu je problem. Gledam, testiram ručno, pokrenem debugging u TOAD-u, odradim tracing, grizem se za usne, vrijeme prolazi … – ništa sumnjivo.
Stvarno nikad ne bih uspio skontati u čemu je fora, da mi jedan stariji i iskusniji Oracle DBA nije rekao:”To ti je sigurno zbog pogrešnih NLS podešavanja!”
I bio je u pravu… Na production bazi su NLS podešavanja postavljena na Ameriku:
NLS_LANGUAGE=’AMERICAN’
NLS_TERRITORY=’AMERICA’
a na testnom serveru je postavljeno na Njemačku:
NLS_LANGUAGE=’GERMAN’
NLS_TERRITORY=’GERMANY’
tako da upiti sa TO_NUMBER i TO_DATE, koji sadržavaju masku za formatiranje, nisu radili kako treba i javljali su gorespomenutu grešku.
Početnička greška … Da sam kopirao odgovarajuću init.ora datoteku sa ispravnim NLS podešavanjima, ne bih imao ovaj problem…
No dobro, jos jedno iskustvo više. 🙂
Na adresi “Oracle Tehnical Information – High availability” možete pronaći zaista odlične tekstove o kreiranju HA (High availability) sistema, a navešću samo neke teme:
– Oracle Database 10g High Availability
– Technical White Paper – Oracle Data Guard: Ensuring Disaster Recovery for the Enterprise
– Oracle Recovery Manager 10g
– Preventing, Detecting, and Repairing Data Corruption
– Oracle Database 10g Online Data Reorganization and Redefinition
– How to Avoid Fragmentation
Tekstova ima još, a isplati ih se pročitati.
Danas smo prebacivali neke PL/SQL pakete sa testnog servera na acceptance server i prilikom provjeravanja da li sve funkcioniše, pojavila se “neodredjena” greška:
ORA-29261: bad argument
Malo je reći da smo se smorili tražeći uzrok te greške, dok nisam krenuo ručno debugovati korištene PL/SQL pakete. U jednoj proceduri, koja je služila za slanje obavještenja putem E-Maila (UTL_MAIL.send), debugger mi je stalno skakao u EXCEPTION dio. Skromno ću reći da sam minimalno 20 puta pregledao slovo po slovo, zarez po zarez, kako bih utvrdio da u kôdu sve štima. Kako će se kasnije utvrditi – sve je i štimalo.
Problem je bio u init parametru SMTP_OUT_SERVER, koji nije bio uopšte podešen. Rješenje spomenute greške je:
ALTER SYSTEM SET SMTP_OUT_SERVER='smtp.domain.com:25' SCOPE=BOTH;
Umjesto smtp.domain.com treba staviti odgovarajući naziv SMTP servera, a 25 je port SMTP servera, koji se i ne mora zadavati, jer je standardno podešen na port 25.
U zadnje vrijeme primjecujem veliki broj wait eventa u bazi, a veliki broj njih se odnosi na “parallel execution” evente. Konkretno mi je za oko zapao event “PX Deq Credit: send blkd“, pa sam trazio detaljnije informacije u vezi toga i naisao na izvanredan tekst o paralelnom izvrsavanju upita, koji sadrzi prilicno detaljna objasnjenja zasnovana na testovima obavljenim na razlicitim okruzenjima (bez paralelizma, sa paralelizmom, sa par procesora, sa vise procesora itd.).
Ukratko, ukoliko ste kreirali neku tabelu sa parallel degree vecim od 1 (kod mene je DOP 4; DOP = Degree Of Parallelism) i ukoliko imate OLTP okruzenje sa vise korisnika spojenih istovremeno, onda vam performanse mogu biti gore, nego kad je DOP manji ili kad se upit izvrsava bez paralelizma. Smanjio sam DOP na 2 i vec uocavam manje zauzece resursa u bazi po pitanju PX eventa. Pokusacu kreirati kopije tabela sa NOPARALLEL opcijom, pa cu izvrsiti nekoliko testova, kako bih uocio ima li poboljsanja ili nema.
Iako Oracle Support putem MetaLinka savjetuje da je “PX Deq Credit: send blkd” dobrocudni wait event, on trosi resurse i treba pripaziti na paralelno izvrsavanje zahtjevnih upita u multikorisnickom okruzenju.
Prelistavah sajtove u svojoj bookmark listi, pa naidjoh na jedan odlican clanak o naprednoj replikaciji u MySQL-u. Ako se smatrate naprednim MySQL korisnikom ili administratorom, ovaj tekst morate obavezno procitati.
Link: MySQL advanced replication