Oracle apmācības un jauns seminārs

Augusts 14, 2009

Ja vēl neesat pamanījis, tad Oracle sertificētās apmācības ir pārgājušas no Affecto Latvia (lai vieglas tam smiltis ;) ) uz BDA. Pozitīvā ziņa ir tāda, ka gan kursu organizatore, gan pasniedzēji (tai skaitā arī man tas gods :) ) ir palikuši tie paši. Tā kā Jums ir visas iespējas apskatīt potenciālo kursu grafiku un izvēlēties sev tīkamāko. OK, OK, es jau tāpat virtuāli jūtu skeptisko noskaņojumu par šodienas ekonomiskās situācijas nesavienojamību ar apmācībām un kursiem, bet pārāk ekonomējot uz tām arī nav tālredzīga rīcība.

Oracle apmācības ir un būs ilgtermiņā, bet ļoti drīz būs vienreizējs pasākums Joze Senegacnik seminārs “Optimizing for Performance” tepat Rīgā, arī Baltijas datoru akadēmijas telpās. Pasniedzēju neesmu redzējis dzīvē, bet esmu redzējis viņa prezentācijas tekstuālā formā un arī Jozes Senegacnik mājaslapa ir pietiekami daiļrunīga. Personas, kas vēlas lietot cilvēka labāko draugu googli, lai sīkāk iepazītu autoru, var pamēģināt šādu maģisku kombināciju un paskatīties, kas no tā sanāk.


Oracle SQL teikuma izpildes plāns – prezentācija

Marts 28, 2009

Latvijas Oracle lietotāju grupas (LVOUG) pirmā konference/seminārs ir veiksmīgi beidzies – paldies tā organizētājiem! Nezinu īsti, cik oficiāli bija cilvēku pieteikušies, bet es teiktu, ka kāds simtiņš kopā sanāca. Pasākums bija atšķirīgs no oficiālājām Oracle dienām ar to, ka nebija nevienas prezentācijas (vismaz no tām, ko apmeklēju es), kurā nodarbotos ar mārketingu ;) Visas prezentācijas bija tehniski orientētas un bez oficiālajiem reklāmas rullīšiem.

Arī es stāstīju prezentāciju par SQL teikuma izpildes plānu - kā to iegūt, kā attēlot, kā saprast un kā uzlabot. Centos pastāstīt arī par dažām visbiežāk izpildāmajām operācijām un jo sevišķi sīkāk par fiziskajiem savienojumu izpildes veidiem (nested loops, hash join, sort merge join).

Tiem, kam ir dziļāka interese par SQL teikuma izpildes plānu un kam nepaveicās nokļūt uz neseno Tanela Podera semināru, es gribētu speciāli uzsvērt šo viņa emuāra rakstu, kurā ir saite uz failu “Oracle SQL Plan Execution: How It Really Works”. Tā prezentācija ir ļoti interesanta pat tad, ja klātienē nedzirdējāt sīkāku stāstu.

Un visbeidzot šeit ir arī saite uz manis lasīto prezentāciju par to kā saprast SQL teikuma izpildes plānu.


LVOUG pirmā konference

Marts 2, 2009

Jauns gads ar jauniem vietējiem pasākumiem ir klāt. 27. martā (šajā 2009. gadā, protams :) ) Latvijas Oracle lietotāju grupa rīko savu pirmo konferenci. Tā sākas pusdienlaikā 13.00 un paralēli notiks 2 sesijās. Konferencē uzstāsies vietējie LVOUG pārstāvji, kas dalīsies pieredzē par dažām Oracle 11g jaunajām iespējām ieskaitot 11g SQL plānu pārvaldību un Database replay iespēju, vairākas prezentācijas no administratoru skatupunkta, Oracle vs MySQL (kazi varētu būt interesanti ne tikai rūdītiem Oracle faniem) un Raimonda iemīļotais jājamzirdziņš Ruby on Rails. Arī es centīšos dot savu artavu šai lietā ar prezentāciju par SQL teikuma izpildes plānu (execution plan), tā iegūšanu un izpratni, mazdruscīt par biežākājām tajos sastopamajām operācijām, tai skaitā savienojumu (join) fiziskajiem izpildīšanas veidiem (nested loops, hash join, merge join) un mazliet par garajām operācijām (long operations).

Papildus pašmāju bāleliņiem (jā kur gan mums ir daiļā dzimuma pārstāves??) būs arī viesis Kuassi Mensah no Oracle, kurš uzstāsies ar divām prezentācijām.

Ja nu Tu, lasītāj, skaties un nesaproti, kāpēc Tevis nav konferences prezentētāju sarakstā, vai arī Tu varētu kaut ko interesantu citiem pastāstīt, tad seko līdzi LVOUG grupas e-pasta listei un nākošreiz piesakies! Pie tam vajadzētu atcerēties, ka ne jau tikai hiperjaunās un hipersarežģītās lietas ir vērts stāstīt, Oracle ir pietiekami liela un monstroza, lai atrastu gana interesantas tēmas arī it kā zināmākās lietās un vietās.

Vēl svarīgi zināt - dalība konferencē ir bezmaksas, bet nepieciešams reģistrēties šeit.

Un visbeidzot - konference notiks viesnīcā Monika Elizabetes ielā 21. Tā ir viesnīca uz Elizabetes un Pulkveža Brieža ielas stūra, turpat apakšā ir restorāns Vincents sevišķajiem gardēžiem ;)

Saites


Oracle Express Edition pasākums

Novembris 26, 2008

Visiem, kas interesējas par datubāzēm, bet vēl neko īpaši nav ielauzušies Oracles pasaulē (vai arī tajā nav tikuši pārāk tālu) varētu būt interesants Oracle Database Installfest pasākums 4. decembrī plkst 15:00 Latvijas Universitātes Mazajā aulā (Raiņa bulvārī 19).

Pasākumā ieeja ir bezmaksas un, kā lasāms pasākuma anotācijā, tiks prezentēta Oracle Express redakcija (XE) un izstrādes vide Application Express. XE ir viena no piecām Oracle redakcijām (editions), pati mazākā ar lielākajiem ierobežojumiem, toties pilnīgi bezmaksas. Ja kāds vēlas jau iepriekš pamēģināt mājās, kā tas ir un cik lielas iemaņas prasa, tad šis stāsts bildēs rāda, ka instalācija patiesībā ir ļoti vienkārša. Visi trīs anotācijā minētie pasniedzēji ir ļoti tehniski cilvēki, tāpēc pasākums solās būt diezgan tehnisks ;)

Šodienas baisās krīzes apstākļos apgūt jaunas zināšanas noteikti ir viena no iespējām, kā no tās izvairīties, kā arī, ja Jūsu mīļākā DBVS ir jebkas cits, nevis Oracle, Jums droši vien būs iespēja uzdot kādus indīgus jautājumus ;)

Nekāda speciāla reģistrācija, kā Edgars saka šeit, nav nepieciešama.

Vairāk info par pasākumu:


Atskaņas par Oracle traucējummeklēšanas (troubleshooting) semināru

Novembris 24, 2008

Kā jau pirms ilgāka laika rakstīju Rīgā nu jau ir noticis Advanced Oracle troubleshooting seminārs, ko lasīja Tanels Poders (Tanel Poder). Manus kopējos iespaidus var raksturot tas, ka vienu brīdi nebija īstas skaidrības, vai man pašam par to nebūs jāmaksā, galu galā pašam jāmaksā nebija, bet, ja arī būtu bijis, noteikti nenožēlotu.

Seminārā pavisam piedalījās 27 klausītāji, no kuriem daži bija arī no tuvējām ārzemēm (Igaunijas un Lietuvas). Tas nozīmē, ka pie mums tepat Latvijā ir vismaz vairāk kā 20 cilvēki, kas, es atļaušos teikt, ļoti nopietnā līmenī interesējas un (jādomā) pārzin Oracle datubāzi. Otra lieta, kas norāda, ka Latvija acīmredzot tomēr ir informātikas lielvalsts, ir fakts, ka iepriekšējā Tanela pasākumā Lietuvā esot bijis krietni mazāk cilvēku ;)

Par ko tad bija seminārs?

Galvenais uzsvars tika likts uz sistemātisku pieeju, kā noskaidrot, kas pašlaik Oracle procesā (kas apkalpo kādu konkrētu sesiju) notiek. Problēmas (datubāze lēni strādā) gadījumā:

  • nevis meklēt šur un tur, ar mērķi ja nu trāpu;
  • nevis paļauties uz iepriekšējo pieredzi, kas pirms gada Pēterim palīdzēja (kaut gan zināmas sistēmas periodiski atkārtojošos gadījumos arī tas var būt ļoti efektīvs risinājums);
  • nevis sākt drudžaini kaut ko pētīt no operātājsistēmas, tīkla u.c puses;
  • BET atrast vainīgo sesiju un sākt problēmas izpēti no tās.

Protams, klasiskā klienta servera gadījumā sesiju atrast nav sevišķi problēmātiski, arī gadījumā, ja problēma ir visiem, tad grūtības nav lielas – pietiek izvēlēties jebkuru, un visdrīzāk, arī tā būs labs reprezentants -, sliktāk ir sesiju pūla (connection pooling) gadījumā, ja problēmas ir vienam vai tikai dažiem lietotājiem, jo tad Oracle galā katrs pieprasījums var būt citas sesijas ietvaros. Bet principā arī tam Oracle piedāvā risinājumus dbms_session (set_identifier) un dbms_application_info (set_action/set_module) izskatā priekš pl/sql, savukārt citām vidēm, kas slēdzas pie Oracle, jāpēta atsevišķi.

Kad vainīgā sesija ir atrasta, tad augstā līmenī runājot nākošie soļi ir:

  • Skatīties, ko rāda v$session, v$session_event un v$session_wait. Ja tajās parādās nopietns patērētais laiks vienam vai vairākiem Oracle gaidīšanas notikumiem (wait events), tad meklējam ko tas nozīmē Oracle dokumentācijā.
  • Ja iepriekšējā solī nekāds nozīmīgs laika patēriņš netika atrasts, tad skatīties, vai nozīmīgi nepalielinās sesijas līmeņa statistiskie rādītāji v$sesstat (deltas!! nevis rādītāja lielums no sesijas izveides brīža pirms 2 nedēļām). Ja izrādās, ka tā notiek, tad meklējam, ko katra no statistikām nozīmē Oracle dokumentācijā.
  • Ja arī tas nepalīdz, tad izgāžam (dump) procesa steku un pētam to. Lūk šī daļa man patika vislabāk ;) un kā izrādījās vismaz daļēji tas nemaz nav tik briesmīgi, kā pirmajā brīdī izklausās.  Oracle Metalinks un iespējams Google var palīdzēt.

Turpinājumā tika vairāk vai mazāk sīki iztirzātas tādas lietas, kā procesa steks, atmiņas struktūras (x$ tabulas), latches (atmiņas struktūras, kas nodrošina tikai vienu vienlaicīgu kādas oprācijas izpildi), datu bloku kešs un ko nozīmē lasīšana no tā, gaidīšanas notikumu saskarne (wait events interface) – kā no dinamiskajiem skatījumiem (v$xxx) iegūt nepieciešamo info, kas ir kursors, kas ir SQL teikuma izpildes plāns un tā saistība ar iekšējām funkcijām, kas ir transakcija un kā notiek atrite (rollback) procesa atteices (crash) gadījumā. Noteikti, ka neuzskaitīju visu.

Ja nu tas viss Jūs ir ieinteresējis, bet tādu vai citādu iemeslu dēļ uz pasākumu netikāt, tad atliek tikai sākt pētīt augstākminēto Tanela blogu un tur atrodamo studēt pašam.