<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7625518548194040254</id><updated>2011-07-08T15:33:17.387+02:00</updated><category term='oracle'/><title type='text'>Éberhardt Péter Oracle blogja</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>40</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-7023751223118805058</id><published>2009-06-24T10:28:00.004+02:00</published><updated>2009-06-24T14:11:48.585+02:00</updated><title type='text'>Timesten 11.2.1 - rengeteg újítással</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SkIXs7UnazI/AAAAAAAAAhA/cLxcMcFPwBQ/s1600-h/multiplatform.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 123px; height: 125px;" src="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SkIXs7UnazI/AAAAAAAAAhA/cLxcMcFPwBQ/s400/multiplatform.jpg" alt="" id="BLOGGER_PHOTO_ID_5350865367875414834" border="0" /&gt;&lt;/a&gt;A TimesTen fejlesztőcsapata új verziót adott ki a memóriarezidens-adatbázisból. Első pillantásra a legszembetűnőbb változás, hogy új számozással látták el a frissített terméket. A legújabb verzió TimesTen 11.2.1.1.0 néven érhető el. A sorszám első három tagja a TimesTen kiadás sorszáma, tehát 11g release 2, az utolsó kettő pedig a patch sorszámára utal. Azt nem tudom, hogy a 7.0.5 után miért lett egyből release 2, de mindenesetre jobb, mintha release 1 lenne, mert sokan csak a 2-től tekintik használhatónak a termékeket. Marketing?&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Platformok&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Az új verzió egyelőre csak Linux 32/64 biten, ill. Windows 32 biten érhető el, azonban az Oracle-t ismerve meg sem állnak, míg el nem jutnak legalább 10 különböző platformig. Itt olvasható, hogy a jövőben milyen platformokon lesz elérhető az adatbázis: &lt;a href="http://download.oracle.com/docs/cd/E13085_01/doc/timesten.1121/e13080/toc.htm#CIHFGHBG"&gt;TTplatform&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Újdonságok&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Nézzünk pár érdekes újdonságot. Először is örömmel jelenthetem, hogy végre a TimesTen is támogatja a &lt;span style="font-weight: bold;"&gt;PL\SQL&lt;/span&gt; nyelvet, de... Sajnos nem  minden platformon, a Windows rendszert használók nem élvezhetik a kibővített SQL nyújtotta előnyöket. Ettől eltekintve mindenképp az új verzió egyik mérföldkövének tekintem ezt a fejlesztést.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Új támogatott platformok&lt;/span&gt;&lt;br /&gt;Bővült a támogatott platformok listája az alábbiakkal:&lt;br /&gt;&lt;/div&gt;&lt;ul style="text-align: justify;"&gt;&lt;li&gt;AIX 6.1&lt;/li&gt;&lt;li&gt;Asianux 3.0&lt;/li&gt;&lt;li&gt;Monta Vista 5.0&lt;/li&gt;&lt;li&gt;Windows Vista &lt;/li&gt;&lt;li&gt;Windows Server 2008.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt;Itt halkan megjegyzem, hogy volt szerencsém már korábban tesztelni Windows Vistán (32 és 64 bitesen egyaránt) és igaz akkor még nem volt hivatalosan támogatott, de gond nélkül lehetett használni. Természetesen csak teszt célokra érdemes, mert ha egy éles rendszert építünk valamilyen nem támogatott platformra, és valamilyen funkció nem működik megfelelően, akkor az Oracle-s kollégák csak széttárt kézzel azt fogják mondani, hogy ha "...nincs a listán, nincs mit tenni"...&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cache Grid&lt;/span&gt;&lt;br /&gt;További érdekes újítás, hogy a TimesTen Cache-t tovább gondolták és az Oracle Coherencehez hasonlóan egy speciális grid funkcióval látták el - Cache Grid. Ennek segítségével az egy csoportba tartozó TimesTen példányok elosztottan képesek együttműködni, ezzel is növelve a megbízhatóságot, rendelkezésre állást és nem utolsó sorban a teljesítményt, ráadásul lehetővé válik a horizontális skálázhatóság is. A dokumentációkat olvasgatva úgy találtam, hogy a fejlesztők egy olyan eszközt adtak ki a kezükből, ami egy kezdő TimesTen felhasználó számára sem okozhat gondot. Erősen ajánlott a Cache Grid funkciót automatikus beállításokkal használni, azaz dinamikus betöltéssel és az Asynchronous writethrough (AWT)  funkció bekapcsolásával. Ekkor szinte semmiféle további hangolásra nincsen szükség.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Clusterware&lt;/span&gt;&lt;br /&gt;Az újdonságokat mazsolázva még egy fontos dolgot emelnék ki. Mostantól a TimesTen adatbázisokat is lehet Clusterware-rel együtt használni, ami tovább növeli az integrálhatóságát Oracle rendszerekbe. Ennek segítségével  egy olyan köztes réteg jön létre, amin keresztül a node-okat monitorozhatjuk és azonnal beavatkozhatunk, ha valami probléma lépne fel. Ráadásul az alkalmazások szemszögéből egyetlen szervernek látszik a kiszolgáló rendszer, így jól skálázható, lehet használni több, olcsóbb szervert is akár, nem kell egy nagyteljesítményű, drágát vásárolni.&lt;br /&gt;&lt;br /&gt;Természetesen további újdonságok is megjelentek, én csak a legérdekesebbeket emeltem ki. Ezekről bővebben &lt;a href="http://blogs.oracle.com/sarecz/2009/06/megjelent_a_timesten_11gr2_1.html"&gt;Sárecz Lajos blogjában&lt;/a&gt; olvashattok, részeltesen pedig itt: &lt;a href="http://download.oracle.com/docs/cd/E13085_01/doc/timesten.1121/e13080/toc.htm"&gt;TimesTen Release Notes 11.2.1&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ezzel a verzióval úgy érzem sokat tett az Oracle afelé, hogy a TimesTent befogadják szélesebb körben is a rendszerfejlesztők, ne csak úgy tekintsenek rá, mint egy jópofa, de semmire sem jó játékra. Látszik, hogy eltökélt szándéka a terméket közös alapokra helyezni más termékeivel, így is elősegítve az integrációt már szoftvereivel. Összességében elmondható, hogy egy nagyobb mérföldkőhöz érkezett a TimesTen a korábban felsorolt újdonságok miatt, és érdemes számításba venni rendszertervezéskor, mert felahsználása immár rengeteg előnnyel jár.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-7023751223118805058?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/7023751223118805058/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=7023751223118805058' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7023751223118805058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7023751223118805058'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2009/06/timesten-1121-rengeteg-ujitassal.html' title='Timesten 11.2.1 - rengeteg újítással'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3Dv5JbeCOWY/SkIXs7UnazI/AAAAAAAAAhA/cLxcMcFPwBQ/s72-c/multiplatform.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-767836285409918754</id><published>2009-05-17T21:00:00.004+02:00</published><updated>2009-05-17T21:19:14.597+02:00</updated><title type='text'>Tank War 3D</title><content type='html'>&lt;div style="text-align: justify;"&gt;Az elmúlt időszakban az időm nagyrészét az kötötte le, hogy teljesítsem a maradék egy tárgyat, amit a diploma előtt még meg kell csinálnom. Igen, a Számítógépes grafikáról van szó. Ez a negyedik félév, hogy hallgatom. Aláírást már az elsőben szereztem és minden félévben ott voltam legalább két vizsgán, de nem sikerült átugranom Szirmay tanárúr lécét. Vagy a léc volt rossz, vagy a tanár gonosz. Nekem mindig úgy tűnt, hogy az utóbbi.&lt;br /&gt;Ebben a félévben mindent egy lapra feltéve az összes kötelező és opcionális évközi feladatot megcsináltam, hogy jó eséllyel pályázzak megajánlott jegyre, elkerülve a vizsgán való számonkérés gyötrelmeit. Ez négy kisházit és egy nagyházit jelent. A kisházik szigorúan specifikált feladatok megoldását jelenti, a nagyházi pedig egy teljesen önálló ötlet megvalósítását.&lt;br /&gt;A  félév elején egy látványos fizikával megáldott tereprallli-szerű játékot akartam csinálni, azonban ez változott, és az utolsó kisházi után úgy döntöttem, hogy egy egyszerűbb fizikával megáldott tankos-lövöldözős játék fejlesztésébe fogok. A határidőig 3 nap volt hátra, így nem sokat pepecselhettem. A terepet úgy oldottam meg, hogy rombolható legyen, valamint bármilyen domborzatot elő lehessen álíltani egy egyszerű képfájlból. A tankok irányzékot tudnak állítani, valamint tűzerőt. A kilőtt lövedék ballisztikus pályán repül a becsapódási pontig és figyelembe veszi a szélirányt és erősséget. A játékmenet a klasszikus 2D-s játékkal megegyezik, tehát egymás után célozhatnak és lőhetnek a tankok. Az nyer, amelyik hamarabb találja el a másikat. Szerintem elég jóra sikerült figyelembe véve, hogy ilyen kevés idő alatt kellett valamit prezentálnom.&lt;br /&gt;&lt;br /&gt;Két videó  a játékból:&lt;br /&gt;&lt;a href="http://users.hszk.bme.hu/%7Eep602/TankWar3D_terrain.avi"&gt;Tank War 3D terep&lt;/a&gt;&lt;br /&gt;&lt;a href="http://users.hszk.bme.hu/%7Eep602/TankWar3D_ingame.avi"&gt;Tank War 3D ingame&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-767836285409918754?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/767836285409918754/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=767836285409918754' title='5 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/767836285409918754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/767836285409918754'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2009/05/tank-war-3d.html' title='Tank War 3D'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-1980428679436563289</id><published>2009-04-19T17:17:00.002+02:00</published><updated>2009-04-19T17:25:56.165+02:00</updated><title type='text'>Külső program hívása adatbázis-kezelőből</title><content type='html'>&lt;span style="font-weight: bold;font-size:130%;" &gt;Oracle&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Az Oracle adatbázis-kezelője elérhető programozói interfészeken keresztül, mint például C-ből az OCI (Oracle Call Interface) segítségével, Javaból JDBC API-n (Java Database Connectivity) keresztül, .NET környezetből ODP.NET felhasználásával, vagy más programnyelvek esetén ODBC (Oracle Database Connectitity) segítségével. Az Oracle fejlesztők törekednek arra, hogy a napjainkban használt, szinte összes programnyelvből elérhető legyen az adatbázis, szállítóként pedig nem tehetik meg, hogy ne szenteljenek ennek elegendő figyelmet. Az egyes programnyelvekhez készített programozói interfészeken (API) keresztül azonban csak kliens-szerver architektúrában képesek a programok kommunikálni az adatbázis-kezelővel, tehát minden esetben csak a kliens kezdeményezhet, a szerver passzív szerepet tölt be. Szerepcsere ezzel a technológiával nem lehetséges.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;ODP.NET (pl. C#) használata esetén lehetőségünk van a Database Change Notification featuret kihasználni, aminek a segítségével azonnal értesülhetünk az adatbázisban bekövetkezett változásokról. Ehhez a kliens oldali alkalmazásnak folyamatos kapcsolatban kell lennie az adatbázissal, így tudja feldolgozni az onnan kapott üzeneteket.&lt;br /&gt;&lt;/div&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/win.111/b28375/featChange.htm#CJAGGGHA"&gt;http://download.oracle.com/docs/cd/B28359_01/win.111/b28375/featChange.htm#CJAGGGHA&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Van lehetőség szerveroldalon, az Oracle példány címtartományán belül Java alkalmazás futtatására. Ezen lehetőség felhasználásával összetettebb üzleti logikát lehet megvalósítani adatbázisoldalon, ráadásul jelentős IPC (Inter Process Comunication) és hálózati overheadet spórolhatunk meg vele. További előnye a megoldásnak, hogy az alkalmazás indítását szerveroldalon kezdeményezhetjük, így tetszőleges adatbázis esemény hatására lefuttathatjuk, például triggerek segítségével. A hátránya azonban az, hogy csak a Java nyelven implementált programjaink használhatóak.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Létezik azonban egy univerzális megoldás arra a problémára, hogy adatbázis oldalon kezdeményezve tetszőleges programnyelven implementált alkalmazást lefuttathassunk. Az Oracle a fejlesztők rendelkezésére bocsát egy olyan technikát, amivel mindezt megvalósíthatják. Lehetőséget biztosít arra, hogy C (vagy Java) nyelven implementált eljárásokat PL/SQL eljárásként meghívhassunk. Ez a technika a külső eljárásnak (External Procedure) hívása, ami nem más, mint DLL (Dynamic Link Library) hívás PL/SQL kódból. Ha pedig van rá mód, hogy akármikor meghívjunk egy C függvényt, akkor minden olyan más programnyelven implementált kódot képesek vagyunk futtatni, ami futtatható az adott környezetben, vagy egy szkript segítségével működésre lehet bírni.&lt;br /&gt;&lt;/div&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_externproc.htm#ADFNS1402"&gt;http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_externproc.htm#ADFNS1402&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;External procedure használata&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ahhoz, hogy egy C vagy Java nyelven implementált programot meghívhassunk Oracle környezetből, három feladatot kell helyesen megvalósítani: Load, Publish &amp;amp; Call.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Load&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Először be kell tölteni a szükséges DLL-t vagy java osztályt, másképp nem tudjuk meghívni.&lt;br /&gt;&lt;/div&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_externproc.htm#i1006311"&gt;http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_externproc.htm#i1006311&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Publish&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Utána rögzíteni kell a meghívható függvények nevét, paraméterlistáját és a visszatérési érték típusát. Ezek után szinte ugyanúgy kezelhető, mint egy belső PL/SQL tárolt eljárás.&lt;br /&gt;&lt;/div&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_externproc.htm#i1006405"&gt;http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_externproc.htm#i1006405&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Call&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Nincs más hátra, mint a PL/SQL környezetből meghívni az így elérhetővé tett külső eljárásokat.&lt;br /&gt;&lt;/div&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_externproc.htm#i1007572"&gt;http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28424/adfns_externproc.htm#i1007572&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Microsoft SQL Server&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Ugyan úgy, mint az Oracle adatbázis, az SQL Server is elérhető különféle adatbáziskapcsolat-kezelő API-kon keresztül (például ODBC). Java nyelvből a JDBC API, C# esetén pedig az ADO.NET használható. Ezeken keresztül azonban csak a kliens kezdeményezheti a kapcsolatot.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;A .NET CLR (Common Language Runtime) integrálva van az SQL Server-be, így könnyen lehet olyan menedzselt .NET kódot (pl. C#) írni, amit tárolt eljárásként (Managed (CLR) Stored Procedure) lehet közvetlenül hívni a szerveroldali T-SQL kódból. Ennek a technikának az alkalmazásával elérhetjük, hogy bonyolultabb üzleti logikát is bele lehessen csempészni a szerveroldali programozásba. Értem itt ezalatt, hogy az adatkezelést a T-SQL-re bízzuk, azonban az adatok feldolgozását .NET kóddal végezzük, így mindenki azt csinálhatja amire kitalálták. .NET-ből akár más, tetszőleges program hívható/indítható.&lt;br /&gt;&lt;/div&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms131045.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms131045.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Az SQL Server lehetőséget ad arra, hogy Microsoft Visual C vagy C++ kódot lehessen hívni szerver oldalról (Extended Stored Procedure). Ehhez kódunkból az Opends60.lib fájllal linkelt DLL-t kell készíteni, majd a&lt;span style="font-family: courier new;"&gt; sp_addextendedproc&lt;/span&gt; T-SQL tárolt eljárással regisztrálni. Ezek után már ugyan úgy használható, mint egy belső tárolt eljárás. A kód annak a címtartományában fog futni, ahonnan meghívták. Kezelése nagyon hasonló az Oracle External Procedure-éhez.&lt;br /&gt;&lt;/div&gt;&lt;a href="http://support.microsoft.com/kb/190987"&gt;http://support.microsoft.com/kb/190987&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-1980428679436563289?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/1980428679436563289/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=1980428679436563289' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/1980428679436563289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/1980428679436563289'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2009/04/kulso-program-hivasa-adatbazis.html' title='Külső program hívása adatbázis-kezelőből'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-6789883158062859330</id><published>2009-04-15T23:02:00.003+02:00</published><updated>2009-04-15T23:33:40.224+02:00</updated><title type='text'>HOUG '09</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SeZSXdUhNAI/AAAAAAAAAgE/E8MU8vo0lpk/s1600-h/szalloda.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 194px; height: 146px;" src="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SeZSXdUhNAI/AAAAAAAAAgE/E8MU8vo0lpk/s400/szalloda.jpg" alt="" id="BLOGGER_PHOTO_ID_5325034172373349378" border="0" /&gt;&lt;/a&gt;Véget ért az idei &lt;span style="font-weight: bold;"&gt;HOUG&lt;/span&gt; konferencia, melyen az elejétől a végéig részt vettem. Sajnálatosan az előadásom rajtam kívülálló okok miatt meghiúsult, azonban így is jól óreztem magam ez alatt a néhány nap alatt. Ezt nem csak a környezet alapozta meg, hanem a &lt;span style="font-weight: bold;"&gt;programok &lt;/span&gt;igényessége és &lt;span style="font-weight: bold;"&gt;szakmai változatossága &lt;/span&gt;is.&lt;br /&gt;Azt hiszem a legnépszerűbb előadást &lt;span style="font-weight: bold;"&gt;Mocsai Lajos &lt;/span&gt;tartotta első nap, aki a sikeres vezetőről, és annak ismérveiről beszélt. Úgy gondolom a közönség nagyon évezte a beszédet, a tréner a végén vastapsot kapott.&lt;br /&gt;Ezalatt a pár nap alatt sok ismerősöm tartott előadást, többek között Marton József Ernő (BME), Kocsis István (BME), Müller János (BME), Izsák Tamás (Független szakértő), Kardkovács Zsolt Tivadar (BME, U1 Kutató Központ), Sárecz Lajos (Oracle). Ha még engem is hozzávennénk a felsoroláshoz, akkor látható, hogy ezen a konferencián a &lt;span style="font-weight: bold;"&gt;Budapesti Műszaki és Gazdaságtudományi Egyetem &lt;/span&gt;(BME) egyre nagyobb számban képviselteti magát, ami az &lt;span style="font-weight: bold;"&gt;Oracle Hungary &lt;/span&gt;és az egyetem &lt;span style="font-weight: bold;"&gt;jó kapcsolatát &lt;/span&gt;mutatja. Misem bizonyítja ezt jobban, minthogy egy új, diákszekció is indult (Jövünk! címmel), ahol kizárólag diákok meséltek eddigi tapasztalataikról.&lt;br /&gt;A szervezők gondoskodtak a szórakozásról is, minden este szponzorált programok voltak, melyek közül nekem  a kedd esti &lt;span style="font-weight: bold;"&gt;GuitarHero &lt;/span&gt;tetszett a legjobban. Időt és energiát nem kímélve bandában zenélve szórakoztattuk magunkat és egymást (dobszekció rulez :D).&lt;br /&gt;Az idei konferencia nagyon tetszett, rengeteg pozitív élménnyel és tapasztalattal tértem haza.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-6789883158062859330?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/6789883158062859330/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=6789883158062859330' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6789883158062859330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6789883158062859330'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2009/04/houg-09.html' title='HOUG &apos;09'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3Dv5JbeCOWY/SeZSXdUhNAI/AAAAAAAAAgE/E8MU8vo0lpk/s72-c/szalloda.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-7567023875480444307</id><published>2009-03-04T15:04:00.012+01:00</published><updated>2009-04-15T23:35:57.978+02:00</updated><title type='text'>A közel valós idejű adattárház létrejöttének feltételei</title><content type='html'>&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CUsers%5CPeter%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="Edit-Time-Data" href="file:///C:%5CUsers%5CPeter%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_editdata.mso"&gt;&lt;!--[if !mso]&gt; &lt;style&gt; v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);} &lt;/style&gt; &lt;![endif]--&gt;&lt;link rel="themeData" href="file:///C:%5CUsers%5CPeter%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CUsers%5CPeter%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;HU&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="0" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="0" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:238; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 415 0;} @font-face 	{font-family:Cambria; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:238; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073741899 0 0 415 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:238; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-520092929 1073786111 9 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-language:EN-US;} h2 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-link:"Címsor 2 Char"; 	mso-style-next:Normál; 	margin-top:12.0pt; 	margin-right:0cm; 	margin-bottom:3.0pt; 	margin-left:0cm; 	text-align:justify; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:2; 	font-size:12.0pt; 	mso-bidi-font-size:10.0pt; 	font-family:"Arial","sans-serif"; 	mso-fareast-font-family:"Times New Roman"; 	mso-bidi-font-family:"Times New Roman"; 	mso-fareast-language:EN-US; 	mso-bidi-font-weight:normal; 	font-style:italic; 	mso-bidi-font-style:normal;} h3 	{mso-style-priority:9; 	mso-style-qformat:yes; 	mso-style-link:"Címsor 3 Char"; 	mso-style-next:Normál; 	margin-top:12.0pt; 	margin-right:0cm; 	margin-bottom:3.0pt; 	margin-left:0cm; 	text-align:justify; 	mso-pagination:widow-orphan; 	page-break-after:avoid; 	mso-outline-level:3; 	font-size:13.0pt; 	font-family:"Cambria","serif"; 	mso-ascii-font-family:Cambria; 	mso-ascii-theme-font:major-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:major-fareast; 	mso-hansi-font-family:Cambria; 	mso-hansi-theme-font:major-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:major-bidi; 	mso-fareast-language:EN-US;} p.MsoCaption, li.MsoCaption, div.MsoCaption 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-next:Normál; 	margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:6.0pt; 	margin-left:0cm; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-language:EN-US; 	font-weight:bold; 	mso-bidi-font-weight:normal;} p.MsoBibliography, li.MsoBibliography, div.MsoBibliography 	{mso-style-priority:37; 	mso-style-next:Normál; 	margin:0cm; 	margin-bottom:.0001pt; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-language:EN-US;} span.Cmsor2Char 	{mso-style-name:"Címsor 2 Char"; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"Címsor 2"; 	mso-ansi-font-size:12.0pt; 	font-family:"Arial","sans-serif"; 	mso-ascii-font-family:Arial; 	mso-fareast-font-family:"Times New Roman"; 	mso-hansi-font-family:Arial; 	mso-fareast-language:EN-US; 	font-weight:bold; 	mso-bidi-font-weight:normal; 	font-style:italic; 	mso-bidi-font-style:normal;} span.Cmsor3Char 	{mso-style-name:"Címsor 3 Char"; 	mso-style-priority:9; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"Címsor 3"; 	mso-ansi-font-size:13.0pt; 	mso-bidi-font-size:13.0pt; 	font-family:"Cambria","serif"; 	mso-ascii-font-family:Cambria; 	mso-ascii-theme-font:major-latin; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-theme-font:major-fareast; 	mso-hansi-font-family:Cambria; 	mso-hansi-theme-font:major-latin; 	mso-bidi-font-family:"Times New Roman"; 	mso-bidi-theme-font:major-bidi; 	mso-fareast-language:EN-US; 	font-weight:bold;} p.alapstlus, li.alapstlus, div.alapstlus 	{mso-style-name:alapstílus; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-link:"alapstílus Char"; 	margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:6.0pt; 	margin-left:0cm; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-language:EN-US;} span.alapstlusChar 	{mso-style-name:"alapstílus Char"; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:alapstílus; 	font-family:"Times New Roman","serif"; 	mso-ascii-font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman"; 	mso-hansi-font-family:"Times New Roman"; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt; 	mso-ascii-font-family:Calibri; 	mso-fareast-font-family:Calibri; 	mso-hansi-font-family:Calibri;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 70.85pt 70.85pt 70.85pt; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:118259621; 	mso-list-type:hybrid; 	mso-list-template-ids:1476720028 68026369 68026371 68026373 68026369 68026371 68026373 68026369 68026371 68026373;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Normál táblázat"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif"; 	mso-bidi-font-family:"Times New Roman";} &lt;/style&gt; &lt;![endif]--&gt;  &lt;h2&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="_Toc220694040"&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;a name="_Toc220694040"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;div style="text-align: justify;"&gt;Közel valós idejű adattárházat egy hagyományos adattárház módosításával hozhatunk létre. Ahhoz, hogy megfeleljen az elvárásoknak, és az üzleti igényeket ki tudja szolgálni, alapvetően három feltételnek kell eleget tennie:     &lt;/div&gt;&lt;ul&gt;&lt;li&gt;Folyamatos adatintegráció, mely az adatforrásokból az adatokat közel valós időben gyűjti és tölti az adattárházba. &lt;span style=""&gt;[1]&lt;/span&gt; &lt;span style=""&gt;[2]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Nagy rendelkezésre-állású analitikai környezet, melynek feladata a valós idejű adattárházra támaszkodva az üzleti döntéseket elősegítő összegzések és származtatott értékek előkészítése. Továbbá a felhasználóknak gyors hozzáférést biztosítani ezekhez az adatokhoz. &lt;span style=""&gt;[1]&lt;/span&gt; &lt;span style=""&gt;[2]&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;!--[if !supportLists]--&gt;&lt;!--[endif]--&gt;Szabály alapú döntéshozó komponens, melynek feladata, hogy az analitikai komponensre támaszkodva bizonyos szabályrendszert felh asználva üzleti ajánlásokat kínáljon, valamint automatikus eseményeket generáljon üzleti  alkalmazások számára.&lt;span style=""&gt; [1]&lt;/span&gt; &lt;span style=""&gt;[2]&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;      &lt;h2 style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://users.hszk.bme.hu/%7Eep602/rtdw_pic.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 329px; height: 122px;" src="http://users.hszk.bme.hu/%7Eep602/rtdw_pic.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/h2&gt;     &lt;p class="MsoCaption" style="text-align: center;" align="center"&gt;A CTF technológia bemutatása adattárház környezetben &lt;span style=""&gt;[3 old.: 5]&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin: 6pt 0cm;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;div style="text-align: justify;"&gt;A folyamatos adatintegráció (1.) az adattárházak kezdetétől jelenlévő ETL (Extract, Transform &amp;amp; Load) folyamatot váltja le. Az ETL alapvetően kötegelt végrehajtásra lett kitalálva, ami a közel valós idejű megvalósításban nem kaphatott szerepet. Helyette egy CTF (Capture, Transform and Flow) modellt kell implementálni, ami a keletkezett adatokat begyűjti a forrásrendszerből, transzformálja a megfelelő formába, majd továbbítja a valós idejű adattárház felé. Ezt a harmadik fázist tekinthetjük úgy, mintha a sok különböző adatforrásból kinyert adatot egyetlen csőbe, adatfolyamként öntenénk. Természetesen a folyam célja nem csak egyetlen adattárház lehet, tetszőleges adattárak feliratkozhatnak rá, így többen is valós idejű adatokat kapnak. &lt;span style=""&gt;[3]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Mivel a CTF leváltotta az ETL-t, ezért az adattárházakban használatos egyik alapvető komponensre nincsen szükség, mégpedig az állomásoztató területre. A CTF modell a transzformációt „on-the-fly” végzi el, így nincsen szükség adattároló egységre, ahol a transzformáció előtt az adatokat tároljuk. A CTF technológia azért képes tárolás nélkül elvégezni ezt a műveletet, mert az ETL-el ellentétben nem kötegelten hajtja végre egyszerre sok adaton a transzformációt, hanem mindig csak egyen.&lt;br /&gt;&lt;br /&gt;A valós idejű adattárház megvalósításnak a kulcsa, hogy míg az adatokat folyamatosan gyűjtjük egy valós-idejű partícióra, addig a forrásrendszerekből periodikusan érkező pillanatképeket is tároljuk egy statikus partíción. (ábra) A valós idejű partíción a forrásrendszerekből érkező adatok alapján az üzleti elemzésekhez szükséges aggregátumokat készítjük el inkrementális jelleggel. Ez a megvalósítás nem más, mint egy hagyományos adattárház, amit kiegészítünk egy valós idejű környezettel, így egyszerre van lehetőség részletekbe menő adatokat és előkészített aggregátumokat gyorsan felhasználni. &lt;span style=""&gt;[2]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A három komponensből a legfontosabb a folyamatos adatintegrációt (1.) végző folyamat. E nélkül nem lehetne megvalósítani a közel valós idejű adattárházat. Az analitikai komponens (2.) és a döntéshozó komponens (3.) nem feltétlenül szükséges a működéshez, de ha az összegyűjtött információt fel is szeretnénk használni, akkor mindenképpen érdemes implementálni őket.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Forrás:&lt;/b&gt;&lt;br /&gt;&lt;span style=""&gt;[1]. &lt;b&gt;White, Colin.&lt;/b&gt; Real-Time Data Warehousing Heats Up. &lt;i&gt;DM Review Magazine. &lt;/i&gt;augusztus, 2002.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;[2]. &lt;b&gt;Araque, Francisco.&lt;/b&gt; &lt;i&gt;Real-time Data Warehousing with temporal requirements. &lt;/i&gt;Granada, Spain, 2003.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=""&gt;[3]. &lt;b&gt;Vandermay, john.&lt;/b&gt; &lt;i&gt;Considerations for Building a Real-time Data Warehouse.&lt;/i&gt; : DataMirror, 2002.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;                &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-7567023875480444307?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/7567023875480444307/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=7567023875480444307' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7567023875480444307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7567023875480444307'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2009/03/kozel-valos-ideju-adattarhaz.html' title='A közel valós idejű adattárház létrejöttének feltételei'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-8144676572819305092</id><published>2009-02-09T23:32:00.005+01:00</published><updated>2009-02-09T23:53:12.665+01:00</updated><title type='text'>Memóriarezidens adatbázis-kezelő</title><content type='html'>&lt;meta equiv="Content-Type" content="text/html; charset=utf-8"&gt;&lt;meta name="ProgId" content="Word.Document"&gt;&lt;meta name="Generator" content="Microsoft Word 12"&gt;&lt;meta name="Originator" content="Microsoft Word 12"&gt;&lt;link rel="File-List" href="file:///C:%5CUsers%5CPeter%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"&gt;&lt;link rel="themeData" href="file:///C:%5CUsers%5CPeter%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"&gt;&lt;link rel="colorSchemeMapping" href="file:///C:%5CUsers%5CPeter%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:hyphenationzone&gt;21&lt;/w:HyphenationZone&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;HU&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;X-NONE&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val="Cambria Math"&gt;    &lt;m:brkbin val="before"&gt;    &lt;m:brkbinsub val="&amp;#45;-"&gt;    &lt;m:smallfrac val="off"&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val="0"&gt;    &lt;m:rmargin val="0"&gt;    &lt;m:defjc val="centerGroup"&gt;    &lt;m:wrapindent val="1440"&gt;    &lt;m:intlim val="subSup"&gt;    &lt;m:narylim val="undOvr"&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"&gt;   &lt;w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"&gt;   &lt;w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"&gt;   &lt;w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 1"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 2"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 3"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 4"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 5"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 6"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 7"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 8"&gt;   &lt;w:lsdexception locked="false" priority="39" name="toc 9"&gt;   &lt;w:lsdexception locked="false" priority="35" qformat="true" name="caption"&gt;   &lt;w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"&gt;   &lt;w:lsdexception locked="false" priority="1" name="Default Paragraph Font"&gt;   &lt;w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"&gt;   &lt;w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"&gt;   &lt;w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"&gt;   &lt;w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" unhidewhenused="false" name="Revision"&gt;   &lt;w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"&gt;   &lt;w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"&gt;   &lt;w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"&gt;   &lt;w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"&gt;   &lt;w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"&gt;   &lt;w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"&gt;   &lt;w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"&gt;   &lt;w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"&gt;   &lt;w:lsdexception locked="false" priority="37" name="Bibliography"&gt;   &lt;w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;style&gt; &lt;!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face 	{font-family:"Cambria Math"; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:238; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1107304683 0 0 415 0;} @font-face 	{font-family:Cambria; 	panose-1:2 4 5 3 5 4 6 3 2 4; 	mso-font-charset:238; 	mso-generic-font-family:roman; 	mso-font-pitch:variable; 	mso-font-signature:-1610611985 1073741899 0 0 415 0;} @font-face 	{font-family:Calibri; 	panose-1:2 15 5 2 2 2 4 3 2 4; 	mso-font-charset:238; 	mso-generic-font-family:swiss; 	mso-font-pitch:variable; 	mso-font-signature:-520092929 1073786111 9 0 415 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-parent:""; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:"Times New Roman"; 	mso-fareast-language:EN-US;} h1 	{mso-style-priority:9; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-link:"Címsor 1 Char"; 	mso-style-next:Normál; 	margin-top:24.0pt; 	margin-right:0cm; 	margin-bottom:0cm; 	margin-left:0cm; 	margin-bottom:.0001pt; 	line-height:115%; 	mso-pagination:widow-orphan lines-together; 	page-break-after:avoid; 	mso-outline-level:1; 	font-size:14.0pt; 	font-family:"Cambria","serif"; 	mso-fareast-font-family:"Times New Roman"; 	color:#365F91; 	mso-font-kerning:0pt; 	mso-fareast-language:EN-US;} p.MsoBibliography, li.MsoBibliography, div.MsoBibliography 	{mso-style-priority:37; 	mso-style-next:Normál; 	margin-top:0cm; 	margin-right:0cm; 	margin-bottom:10.0pt; 	margin-left:0cm; 	line-height:115%; 	mso-pagination:widow-orphan; 	font-size:11.0pt; 	font-family:"Calibri","sans-serif"; 	mso-fareast-font-family:Calibri; 	mso-bidi-font-family:"Times New Roman"; 	mso-fareast-language:EN-US;} span.Cmsor1Char 	{mso-style-name:"Címsor 1 Char"; 	mso-style-priority:9; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:"Címsor 1"; 	mso-ansi-font-size:14.0pt; 	mso-bidi-font-size:14.0pt; 	font-family:"Cambria","serif"; 	mso-ascii-font-family:Cambria; 	mso-fareast-font-family:"Times New Roman"; 	mso-hansi-font-family:Cambria; 	color:#365F91; 	mso-fareast-language:EN-US; 	font-weight:bold;} p.alapstlus, li.alapstlus, div.alapstlus 	{mso-style-name:alapstílus; 	mso-style-unhide:no; 	mso-style-qformat:yes; 	mso-style-link:"alapstílus Char"; 	margin-top:6.0pt; 	margin-right:0cm; 	margin-bottom:6.0pt; 	margin-left:0cm; 	text-align:justify; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman","serif"; 	mso-fareast-font-family:"Times New Roman"; 	mso-fareast-language:EN-US;} span.alapstlusChar 	{mso-style-name:"alapstílus Char"; 	mso-style-unhide:no; 	mso-style-locked:yes; 	mso-style-link:alapstílus; 	font-family:"Times New Roman","serif"; 	mso-ascii-font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman"; 	mso-hansi-font-family:"Times New Roman"; 	mso-fareast-language:EN-US;} .MsoChpDefault 	{mso-style-type:export-only; 	mso-default-props:yes; 	font-size:10.0pt; 	mso-ansi-font-size:10.0pt; 	mso-bidi-font-size:10.0pt; 	mso-ascii-font-family:Calibri; 	mso-fareast-font-family:Calibri; 	mso-hansi-font-family:Calibri;} @page Section1 	{size:595.3pt 841.9pt; 	margin:70.85pt 70.85pt 70.85pt 70.85pt; 	mso-header-margin:35.4pt; 	mso-footer-margin:35.4pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:549078868; 	mso-list-type:hybrid; 	mso-list-template-ids:809535654 68026369 68026371 68026373 68026369 68026371 68026373 68026369 68026371 68026373;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:none; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} --&gt; &lt;/style&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Normál táblázat"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-priority:99; 	mso-style-qformat:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Calibri","sans-serif"; 	mso-bidi-font-family:"Times New Roman";} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p class="alapstlus"&gt;A memóriarezidens adatbázis-kezelők (Main Memory Database System - MMDS) bemutatására a legjobb módszer, ha a tulajdonságait a diszk rezidens, „hagyományos” adatbázis-kezelőkéhez (Disk Resident Database System - DRDB) hasonlítjuk, mert így válnak egyértelművé azok a képességek, melyek jellemzik ezeket a rendszereket.&lt;/p&gt;  &lt;p class="alapstlus"&gt;Első közelítésben azt gondolhatnánk, hogy egy memória-adatbázis és egy diszk rezidens adatbázis között csak annyi a különbség, hogy az előbbi az adatokat a memóriában tartja, míg utóbbi a háttértáron. Ahhoz azonban, hogy a különbséget a kettő működése között ténylegesen megértsük, mélyebbre kell ásnunk. A két rendszer sajátosságait alapvetően a kétféle adattároló médium tulajdonságai határozzák meg, ezért ezek ismerete elengedhetetlen a működés megértéséhez.&lt;/p&gt;  &lt;p class="alapstlus"&gt;A memória és a merevlemez különböző tulajdonságokkal rendelkezik mind az adattárolás, mind az adatok hozzáférése terén.&lt;/p&gt;  &lt;p class="alapstlus" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;A memória kikapcsolás után elfelejti tartalmát, a lemez nem.&lt;/p&gt;  &lt;p class="alapstlus" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;A memóriához való hozzáférési idő legalább egy nagyságrenddel rövidebb, mint a merevlemezé, ami teljesítmény kritikus rendszerek esetében fontos tulajdonság.&lt;/p&gt;  &lt;p class="alapstlus" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;A háttértár blokkszervezésű, ami a működéséből adódik, míg a memória direkt hozzáférésű. Éppen ezért a memória minden egyes megcímezhető egységnyi tartományát ugyan annyi idő alatt érhetjük el, míg a lemez alapú tárolás esetében ez az idő változó, ráadásul még egyazon blokk esetében sem tekinthető állandónak.&lt;/p&gt;  &lt;p class="alapstlus" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;A merevlemezen tárolt adatok szervezése fontos, mivel a lemez szekvenciális hozzáférés esetén jobb átlagos teljesítményre képes, mint véletlen hozzáférés esetén. A memóriában nem annyira fontos az adatok elrendezése a teljesítmény szempontjából.&lt;/p&gt;  &lt;p class="alapstlus" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family: Symbol;"&gt;&lt;span style=""&gt;·&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;A processzor a memóriában lévő adatokhoz közvetlenül hozzá tud férni, míg a merevlemezen tárolt adatokhoz nem. Emiatt a memória-adatbázisban lévő adatok sérülékenyebbek ebből a szempontból.&lt;/p&gt;  &lt;p class="alapstlus"&gt;Ezek a tulajdonságok alakították ki a memóriarezidens adatbázis-kezelő rendszer felépítését és működését.&lt;span style=""&gt; [1]&lt;/span&gt;&lt;/p&gt;  &lt;p class="alapstlus"&gt;Az alábbiakban bemutatom, hogy egy memóriarezidens adatbázis-kezelő hogyan teljesíti egy adatbázis-kezelő jellemző funkcionális feladatait:&lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;b style=""&gt;Konkurens adathozzáférés&lt;/b&gt; - Zárkezelés ugyanúgy megvalósítható, mint a diszkrezidens adatbázis-kezelő rendszerek esetében, azonban erre nem minden esetben van szükség. Mivel a memóriában sokkal gyorsabban férhetünk az adatokhoz mintha merevlemezen tárolnánk őket, ezért&lt;span style=""&gt;  &lt;/span&gt;az egyes műveletek is rövidebb ideig tartanak . Ez pedig azt jelenti, hogy a konkurens műveleteknek a valószínűsége is kisebb. Ebben az esetben megfontolandó a műveletek szekvenciális végrehajtása, mert a zárkezelés megvalósítása egy ilyen rendszerben jelentős overhead-et jelent. &lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;b style=""&gt;Commit kezelés, tranzakciós naplózás&lt;/b&gt; - Mivel a memória sérülékeny, rendszerhiba esetén az adatok elveszhetnek. Ennek elkerülésére a tranzakciós műveleteket naplózni (tranzakciós log) kell és ezt a naplót olyan helyen tárolni, ahol védve van egy kritikus rendszerleállástól. A tároló média elsősorban merevlemez lehet, ami azt jelenti, hogy a költséges I/O műveletek teljes egészében nem eliminálhatóak egy memóriarezidens adatbázis rendszerből. Minden egyes commit előtt a változásokat ki kell írni a log (napló) fájlba.&lt;br /&gt;Alternatív megoldásként szóba jöhet egy olyan architektúra, ahol a napló legfrissebb részét egy nem felejtő, kis kapacitású memóriában tároljuk. Onnan pedig egy független folyamat rendszeresen átmozgatja a bejegyzéseket a merevlemezen tárolt végleges log fájlba. A funkcionalitás mit sem változott, a tranzakciónak azonban sokkal kevesebbet kell a naplózás miatt várnia.&lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;b style=""&gt;Adathozzáférés&lt;/b&gt; - A keresett rekordok megtalálásához az adatbázis-kezelő rendszerek indexelési technikát használnak. Diszkrezidens adatbázisokban B&lt;sup&gt;-&lt;/sup&gt;fa indexet használnak, mert ez az indexelési eljárás a legmegfelelőbb a merevlemez adattárolási struktúrájához. Ez azonban a memóriában való kereséshez nem a legoptimálisabb. A T-fa kifejezetten a memória-adatbáziskezelők részére lett kifejlesztve. A legjobb megoldás azonban arra, hogy egy rekordot megtaláljunk a memóriában, hash táblák használata. Ezzel azonban intervallumkeresés nem hajtható végre.&lt;span style=""&gt; [2]&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;b style=""&gt;Adatkezelés - &lt;/b&gt;Minden egyes adatnak az adatbázisban van egy memóriacíme, mely a memória egy területére mutat. Ezzel könnyen lehet kezelni akár változó méretű mezőket is, mert egy rekordot a memóriában egy pointer gyűjtemény reprezentál. Ha egy táblának kicsi a kardinalitása, akkor az azonos értékeket csak egyszer kell tárolnunk, és elegendő csak erre a címre hivatkozni az érintett rekordoknak. Ez nagy adatméret esetén rendkívül hatékony adattárolást jelent. &lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;b style=""&gt;Lekérdezés optimalizálás - &lt;/b&gt;A diszkrezidens adatbázis-kezelők lekérdezés optimalizálója a költséges I/O műveletek minimalizálását tartja elsődlegesen szem előtt.&lt;span style=""&gt;  &lt;/span&gt;Ehhez költség alapú elemzéseket végez, mielőtt kiválasztani azt a végrehajtási tervet, mely a legrövidebb végrehajtási idővel kecsegtet. A memória-adatbáziskezelőkben ez a stratégia nem biztos, hogy a legjobb megoldást adja, mivel a legnagyobb költséget nem feltétlenül az adatok elérése jelenti. Sokkal inkább az egyes műveletek számítási ideje.&lt;span style=""&gt;  &lt;/span&gt;Éppen ezért érdemes ezeket a műveleteket a lehető legjobban csökkenteni, úgymint indexek építése, felesleges adatmásolatok készítése. A lekérdezések optimalizálása ezért memória-adatbázisokban javarészt rendszerfüggő.&lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;b style=""&gt;Helyreállítás kezelés&lt;/b&gt; - A biztonsági mentés és helyreállítás ugyanúgy működik, mint egy hagyományos adatbázis-kezelő rendszer esetében. A rendszer működéséről teljes mentést készíthetünk, amit a merevlemezen tárolunk. Ha ezt a tranzakciós naplózással kombináljuk, akkor egy teljesen megbízható rendszert kapunk, mert kritikus rendszerhiba esetén a memória tartalma törlődhet ugyan, de a biztonsági menésként tárolt checkpoint fájlból és az azóta eltelt tranzakciós naplóból a hiba előtti állapot teljes mértékben visszaállítható. Egy memóriarezidens adatbázis-kezelőnek a háttértárat kezelni csak naplózáskor és biztonsági mentés készítésekor kell, valamint helyreállításkor.&lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;b style=""&gt;Teljesítmény&lt;/b&gt; - A hagyományos adatbázisrendszerek a teljesítményt elsősorban az I/O műveletek alapján becslik meg. Memória-adatbáziskezelő esetén alapvetően a műveletek processzorideje számít, tehát más metrika alapján számítható a teljesítmény, ennek ellenére a háttértárműveletek is befolyásolják azt. Ha a teljesítmény előbbre való, mint az adatok integritása, akkor nem kell tranzakciós naplózás. Ekkor azonban rendkívül sérülékeny a rendszer, és adatok veszhetnek el. Ha a legfőbb szempont az adatok biztonsága, akkor ezeket a háttértárigényes folyamatokat be kell kapcsolni, ami viszont a teljesítmény rovására megy. Természetesen a biztonsági mentés gyakoriságának állításával az átlagos teljesítmény mértéke befolyásolható, de a maximális teljesítményt a tranzakciós naplózás miatt biztosan nem érheti el.&lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;b style=""&gt;API és védelem - &lt;/b&gt;Egy memória-adatbázisnak meg van az az előnye a diszkrezidenssel szemben, hogy a még nagyobb teljesítmény érdekében direkt kapcsolódási módot biztosítson a programozónak. Ez azt jelenti, hogy az adatbázis-kezelő a program rendelkezésére bocsátja az általa használt memóriaterületet, és objektumok helyett memóriacímeket küld ad át, így a program közvetlenül olvashatja ki a rekordokat. Ennek a módszernek az előnye, hogy nincs szükség felesleges objektummásolatokra a küldő pufferbe, hanem egyből kiolvasható az eredmény. Ez azonban a hátránya is, mivel csak körülményesen garantálható a többi adat biztonsága a memóriában. Ráadásul ez csak akkor használható, ha a program és az adatbázis-szerver egyazon hoszton helyezkedik el, mert közös memóriaterületet használnak. Természetesen a programok kapcsolódhatnak az adatbázishoz az egységes programozói interfészen (ODBC - Open Database Connenctivity) is.&lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;b style=""&gt;Adatcsoportosítás – klaszterezés - &lt;/b&gt;Memóriarezidens adatbázis esetén nincsen szükség az adatok csoportosítására, mert a rekordokat egy-egy memóriacím azonosít a memóriában. Mindegy, hogy hol helyezkedik el, mert az nem befolyásolja az adathozzáférési időt. Ez azonban egy problémát is felvet, amikor diszkrezidens adatbázisba szeretnénk migrálni a memória-adatbázist, mert nem egyszerű eldönteni, hogy mely rekordok kerüljenek egy klaszterbe.&lt;span style=""&gt; [1]&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="alapstlus"&gt;Felmerülhet a kérdés, hogy ha egy memóriarezidens adatbázis-kezelőnek nem kell megküzdenie a rendkívül költséges háttértárműveletekkel, akkor miért nem használjuk őket a diszk alapúak helyett? Erre egyszerű a válasz. Azért nem, mert egy adatbázis sok esetben olyan nagymennyiségű adatot kezel, ami nem fér el a memóriában. Ez azonban nem azt jelenti, hogy ez a megvalósítás teljesen működésképtelen és használhatatlan. A memória előállításának költsége napjainkra drasztikusan lecsökkent, ezért a kereskedelmi forgalomban kapható modulok ára egyre alacsonyabbak lettek. A mai rendszerekben már nem ritka a 128GB, 256GB vagy akár az 512GB memória sem (ezek nagyon szerény becslések, mert vannak olyan top konfigurációk, melyekben akár 4096GB memória is lehet). Éppen ezért megfontolandó, hogy egy adatbázist memóriarezidens adatbázis-kezelőre bízzunk, vagy sem. Mivel a tárolási kapacitás egyre kevésbé jelent problémát, a minél jobb teljesítmény érdekében egyre több memória-adatbázis fog megjelenni.&lt;/p&gt;  &lt;p class="alapstlus"&gt;Jelenleg sok esetben fordul elő, hogy egy hagyományos adatbázis ugyan nagy méretű, de szükség lenne a felgyorsítására memória-adatbázis segítségével. Ekkor az adatokat csoportosítani kell, hogy melyek azok az adatok, amelyeket sűrűn, rendszeresen használnak, és melyek azok, amelyeket csak ritkán. Ezek közül a gyakoribb adatokat érdemes a memória-adatbázisba tölteni, hogy azokat gyorsan el lehessen érni. Ha az adatbázisunk nem csak olvasható, akkor szinkronizációs problémák léphetnek fel a két adatbázis között, melyeket meg kell oldani (ez azonban implementációs kérdés). Az így létrejött architektúra tekinthető a hagyományos adatbázis kiterjesztésének egy memória-cache segítségével.&lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p class="alapstlus"&gt;&lt;b style=""&gt;Mi a különbség egy memória-adatbázis és egy nagy pufferel rendelkező diszkrezidens adatbázis között?&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="alapstlus"&gt;Ha egy hagyományos adatbázisnak elegendő memória áll a rendelkezésére, hogy minden adatot a memóriában tartson, akkor gondolhatnánk, hogy így elérhetjük egy memória-adatbázis teljesítményét. Ez azonban tévedés, mert ekkor még mindig egy diszkrezidens adatbázis-kezelő kezeli az adatokat. Ahhoz, hogy egy alkalmazás hozzáférjen egy rekordhoz először a kezelő kiszámítja a diszken lévő helyét, utána a pufferkezelő lekérdezni, hogy esetleg a memóriában van-e? Mivel ott van, onnan átmásolja a küldő pufferbe, ahonnan az alkalmazás már elérheti a kívánt rekordot. Ehhez természetesen a blokkszervezésű, lemezre optimalizált B-fa indexet is fel kellett használni.&lt;/p&gt;  &lt;p class="alapstlus"&gt;Ezzel szemben a memóriarezidens adatbázis-kezelő miután megkapta, hogy melyik rekordra van szükség, a hash táblával meghatározza a memóriacímet és ezt átadja az alkalmazásnak (direkt hozzáférés esetén). Ebből is látszik, hogy ez mennyi felesleges számítást spórol meg.&lt;br /&gt; &lt;/p&gt;    &lt;p class="MsoBibliography"&gt;&lt;span style=""&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBibliography"&gt;&lt;span style=""&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Forrás&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoBibliography"&gt;&lt;span style=""&gt;[1]. &lt;i&gt;Main Memory Database Systems: An Overview. &lt;/i&gt;Garcia-Molina, Hector és Salem, Kenneth&lt;b&gt;.&lt;/b&gt; 1992., IEEE Transactions on Knowledge and Data Engineering, old.: 509-516.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoBibliography"&gt;&lt;span style=""&gt;[2]. Oracle Corporation&lt;b&gt;.&lt;/b&gt; &lt;i&gt;Oracle TimesTen Products and Technologies. &lt;/i&gt;Redwood Shores, California, U.S.A. : Oracle Corporation, 2007.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="alapstlus"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-8144676572819305092?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/8144676572819305092/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=8144676572819305092' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/8144676572819305092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/8144676572819305092'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2009/02/memoriarezidens-adatbazis-kezelo.html' title='Memóriarezidens adatbázis-kezelő'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-2174117116819026241</id><published>2009-01-18T14:56:00.005+01:00</published><updated>2009-04-15T23:01:33.799+02:00</updated><title type='text'>HOUG előadás</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3Dv5JbeCOWY/SXM6WPpC3JI/AAAAAAAAAcA/W0c3uAJ8t4c/s1600-h/presentation.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 107px;" src="http://4.bp.blogspot.com/_3Dv5JbeCOWY/SXM6WPpC3JI/AAAAAAAAAcA/W0c3uAJ8t4c/s320/presentation.gif" alt="" id="BLOGGER_PHOTO_ID_5292638140920683666" border="0" /&gt;&lt;/a&gt;Nagy örömömre szolgál, hogy az idei &lt;span style="font-weight: bold;"&gt;HOUG&lt;/span&gt;-on (nagy valószínűséggel) előadóként fogok részt venni. Az előadás a TDK-ra készített IPTV rendszerhez készített &lt;span style="font-weight: bold;"&gt;kiszolgáló rendszer prototípusát&lt;/span&gt;, a tervezés nehézségeit és a megvalósítást mutatja be. Az  előadást természetesen nem egyedül fogom tartani, mivel a megoldás, amivel pályáztunk több embert is érint a tanszékről, &lt;span style="font-weight: bold;"&gt;a társam Kardkovács Zsolt&lt;/span&gt; lesz.&lt;br /&gt;A félév eleji megbeszélésekkor Sárecz Lajos leszögezte, hogy az idei HOUG részvétel feltétele lesz egy TDK dolgozat megírása, azt azonban remélni sem mertem volna, hogy ilyen szorosan fog kapcsolódni a HOUG-hoz. Számomra ez &lt;span style="font-weight: bold;"&gt;mindenképp nagy lehetőség&lt;/span&gt;, hogy gyakoroljam és fejlesszem előadási képességeimet nagyközönség előtt (reméljük sokan kíváncsian lesznek ránk), ráadásul a gyenge TDK szóbeli szereplésemet is javíthatom.&lt;br /&gt;Ezek&lt;span style="font-weight: bold;"&gt; az információk még nem hivatalosak&lt;/span&gt;, mert csak a pályázatot adta le Zsolt, a program még nem készült el az idei HOUG-ra. Ha majd ott szerepel a nevünk és témánk a programban, akkor válik véglegessé.&lt;br /&gt;Addig is érdemes néha ránézni a HOUG &lt;a href="http://houg.hu/"&gt;hivatalos honlapjára&lt;/a&gt;, hátha felkerült már a program.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-2174117116819026241?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/2174117116819026241/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=2174117116819026241' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/2174117116819026241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/2174117116819026241'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2009/01/houg-elads.html' title='HOUG előadás'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3Dv5JbeCOWY/SXM6WPpC3JI/AAAAAAAAAcA/W0c3uAJ8t4c/s72-c/presentation.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-966131039080805417</id><published>2009-01-18T00:21:00.005+01:00</published><updated>2009-01-18T01:36:15.096+01:00</updated><title type='text'>TimesTen telepítés windowsra</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SXJ5N47nfFI/AAAAAAAAAb4/8s1O39F2yOo/s1600-h/BigRedButton.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 54px; height: 62px;" src="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SXJ5N47nfFI/AAAAAAAAAb4/8s1O39F2yOo/s320/BigRedButton.jpg" alt="" id="BLOGGER_PHOTO_ID_5292425791641451602" border="0" /&gt;&lt;/a&gt;A minap bukkantam &lt;a href="http://www.oracle.com/technology/products/timesten/viewlets/tt70_install_win_viewlet_swf.html"&gt;erre&lt;/a&gt; a kis Viewlet-re, amely összesen 64 állomáson keresztül segíti a kezdő TimesTen telepítőket. A bemutató windows környezetben lett felvéve és nagyon szemléletesen mutatja be, hogy nem is kell olyan bonyolult utat bejárnunk ahhoz, hogy egy működőképes TT példányunk legyen kedvenc operációs rendszerünkön.&lt;br /&gt;Felhívnám a figyelmet azonban arra, hogy a telepítés egyszerűségével szemben a TimesTen példányunk és a DataStore-ok kezelése velősebb feladat. Ehhez segítséget &lt;a href="http://www.oracle.com/technology/documentation/timesten_doc.html"&gt;itt &lt;/a&gt;találhatsz, a hivatalos dokumentációk között.&lt;br /&gt;Jó szórakozást!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-966131039080805417?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/966131039080805417/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=966131039080805417' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/966131039080805417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/966131039080805417'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2009/01/timesten-telepts-windowsra.html' title='TimesTen telepítés windowsra'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3Dv5JbeCOWY/SXJ5N47nfFI/AAAAAAAAAb4/8s1O39F2yOo/s72-c/BigRedButton.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-7288871857395311496</id><published>2009-01-11T12:58:00.004+01:00</published><updated>2009-01-11T13:11:20.480+01:00</updated><title type='text'>HOUG 2009</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3Dv5JbeCOWY/SWnhracpiqI/AAAAAAAAAbw/mV1LqmyCp0E/s1600-h/905bo.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 114px; height: 84px;" src="http://2.bp.blogspot.com/_3Dv5JbeCOWY/SWnhracpiqI/AAAAAAAAAbw/mV1LqmyCp0E/s320/905bo.jpg" alt="" id="BLOGGER_PHOTO_ID_5290007373273467554" border="0" /&gt;&lt;/a&gt;Mint minden évben, idén is megrendezésre kerül a HOUG (Hungarian Oracle User Group) konferenciája április 6-9-ig. Az eseményre lehetőség van előadóként pályázni, melyről már több hírportál is beszámolt: &lt;a href="http://www.computerworld.hu/palyazatokat-varnak-a-houg-konferenciara.html"&gt;computerworld&lt;/a&gt;, &lt;a href="http://www.hwsw.hu/hirek/37707/oracle_houg_konferencia_eloadas_palyazat.html"&gt;hwsw&lt;/a&gt;. A pályázat menetéről, feltételeiről és pontos kiírásáról a &lt;a href="http://houg.hu/pls/apex/f?p=houg:fooldal:1323949106287736"&gt;HOUG hivatalos weboldalán &lt;/a&gt;kaphatsz tájékoztatást. A helyszín a régi, a Balaton partján lévő Hotel Azúr, Siófok ad otthont a találkozónak.&lt;br /&gt;A tavalyi tapasztalatok alapján idén is érdekes és szakmai tartalomban gazdag előadásokat hallgathatunk végig, melyet az igényes környezet és a szálloda szolgáltatásai még kellemesebbé tesznek.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-7288871857395311496?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/7288871857395311496/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=7288871857395311496' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7288871857395311496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7288871857395311496'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2009/01/houg-2009.html' title='HOUG 2009'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3Dv5JbeCOWY/SWnhracpiqI/AAAAAAAAAbw/mV1LqmyCp0E/s72-c/905bo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-4765427537507927687</id><published>2008-12-11T17:10:00.008+01:00</published><updated>2008-12-11T17:33:57.118+01:00</updated><title type='text'>Önlab III</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3Dv5JbeCOWY/SUFAbA9GoXI/AAAAAAAAAZw/uBa6QWFsR7w/s1600-h/scansnap-papers.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 91px; height: 87px;" src="http://2.bp.blogspot.com/_3Dv5JbeCOWY/SUFAbA9GoXI/AAAAAAAAAZw/uBa6QWFsR7w/s320/scansnap-papers.jpg" alt="" id="BLOGGER_PHOTO_ID_5278571071111864690" border="0" /&gt;&lt;/a&gt;Ez a félév is eltelt és nem is kevés munkával. A korábbi bejegyzésemben beszámoltam a TDK-n belül végzett munkámról, tapasztalataimról. Ezen kívül az &lt;span style="font-weight: bold;"&gt;Önálló laboratóriumot&lt;/span&gt; is teljesíteni kellett, amihez nagyon jó alapnak szolgált a félév közben megírt dolgozat. A &lt;span style="font-weight: bold;"&gt;szóbeli beszámolót megúsztam&lt;/span&gt;, mert a TDK-val kiváltható volt, de az írásbelit meg kellett írnom. A legtöbb munkám nem a tartalommal, sokkal inkább a formai követelmények betartásával volt. &lt;span style="font-weight: bold;"&gt;10-12 oldal terjedelmű &lt;/span&gt;beszámolót kellett írni. Nekem kb. 16 oldal lett volna kényelmes, ez azonban talán a 2-es jegyet sem érte volna el, ezért beltuszkoltam 12 oldalba. Visszajelzést majd csak a neptunból kapok, ha beírják a jegyet. A dolgozat &lt;a href="http://users.hszk.bme.hu/%7Eep602/onlab_III_eberhardt.doc"&gt;itt&lt;/a&gt; érhető el.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-4765427537507927687?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/4765427537507927687/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=4765427537507927687' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/4765427537507927687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/4765427537507927687'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/12/ez-flv-is-eltelt-s-nem-is-kevs-munkval.html' title='Önlab III'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3Dv5JbeCOWY/SUFAbA9GoXI/AAAAAAAAAZw/uBa6QWFsR7w/s72-c/scansnap-papers.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-563379327575731305</id><published>2008-11-21T21:42:00.003+01:00</published><updated>2008-11-21T22:23:06.753+01:00</updated><title type='text'>TDK</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SScl8fwUVcI/AAAAAAAAAYI/pvInlbuJ0Ts/s1600-h/book.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 162px; height: 141px;" src="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SScl8fwUVcI/AAAAAAAAAYI/pvInlbuJ0Ts/s320/book.jpg" alt="" id="BLOGGER_PHOTO_ID_5271223610106992066" border="0" /&gt;&lt;/a&gt;Egy hónapja, hogy nem írtam a webnaplómba. Az elmúlt időszakban nem volt sajnos túl sok szabadidőm, mert a legfontosabb dolog a TDK munkám megírása volt. Ez azonban minden fáradtságot megért, mert &lt;span style="font-weight: bold;"&gt;a 2008-as TDK konferencián 3. díjat nyertem&lt;/span&gt;.&lt;br /&gt;A felkészülési időszakban nem telt el úgy nap, hogy ne foglalkoztam volna vele. A leadási határidő közelében pedig egyenesen "ennek éltem". Nem azért, mert szörnyen élveztem, hanem azért, mert elhatároztam, hogy megcsinálom. Ha már majdnem egy hónapnyi munkám benne volt, akkor az a két-három átdolgozott éjszaka nem számított. Az utolsó napokban nem sokat aludtam, a leadás előtti éjjel pedig semennyit. Mivel elég kevés idő alatt terveztük meg és írtam meg a dokumentációt, ezért nem lett tökéletes, de a körülményekhez képest szerintem egészen jól sikerült.&lt;br /&gt;Egy korábbi bejegyzésemben már említettem a témát, azonban részletesebben még nem mutattam be a tervezett rendszert, amely egyébként&lt;span style="font-weight: bold;"&gt; két Oracle11g adatbázisra épült, és mindegyikhez tartozott egy-egy TimesTen cache&lt;/span&gt; is. Egy egyoldalas összefoglaló itt olvasható: &lt;a href="http://avalon.aut.bme.hu/%7Elengyel/tdk/abs/Eberhardt_Peter.pdf"&gt;absztrakt&lt;/a&gt;.&lt;br /&gt;A TDK dolgozat leadása után kicsit szusszanhattam, de a munkának még koránt sem volt vége. Következett a konferencia, ahol szóban, 20 percben kellett bemutatni, hogy mit csináltam. Erre összesen két hét felkészülési időm volt. Mivel hátra volt még némi implementáció is, ezért az előadás előkészítésére szánt idő körülbelül megfeleződött. Az implementáció technikai akadályokba ütközött, így az előadásra nem tudtam elkészülni bizonyos mérésekkel.&lt;br /&gt;A Szoftver szekcióba kaptam jegyet, melynek elnöke a konferencián Dr. Pataricza András volt a MIT tanszékről. A részletes szekció program itt olvasható: &lt;a href="http://avalon.aut.bme.hu/%7Elengyel/tdk/TDKProgram2008.htm#s12"&gt;Szoftver szekció, TDK, 2008&lt;/a&gt;&lt;br /&gt;Szerencsére névsorrenben következtek egymás után az előadások, így harmadikként adhattam elő. Nagyon izgultam előtte, ezért nem éreztem magam magabiztosnak előadás közben. Ezt a 15 perces prezentáció utáni 5 percnyi kérdésnél tovább rombolták a jobbnál jobb kérdésekkel. Zsolt véleménye szerint a szóbeli előadásom előtt jobb helyen szerepelhettem a szekció rangsorban, mint utána. Van benne valami.&lt;span style="font-weight: bold;"&gt; Inkább túléltem, mint megéltem a prezentációmat&lt;/span&gt;. Se' baj, tanulópénz. Egy biztos, nagyon sokat tanultam belőle. És nem csak a szóbeliből, hanem a teljes 4+2 hétnyi munkával töltött időszakból.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-563379327575731305?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/563379327575731305/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=563379327575731305' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/563379327575731305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/563379327575731305'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/11/tdk.html' title='TDK'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3Dv5JbeCOWY/SScl8fwUVcI/AAAAAAAAAYI/pvInlbuJ0Ts/s72-c/book.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-7853159030267681138</id><published>2008-10-25T17:07:00.003+02:00</published><updated>2008-10-25T17:22:24.606+02:00</updated><title type='text'>III. Oracle Blogger Dinner</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SQM5hOcByOI/AAAAAAAAAVw/OXN74uVblEY/s1600-h/1234.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 138px; height: 101px;" src="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SQM5hOcByOI/AAAAAAAAAVw/OXN74uVblEY/s320/1234.jpg" alt="" id="BLOGGER_PHOTO_ID_5261112032672991458" border="0" /&gt;&lt;/a&gt;Eljött az idő, hogy megtartsuk szokásos találkozónkat, melyre jövő hétfőn délután 17:00-kor kerül sor. Lajos elküldte a meghívókat, ahogy elnéztem a címlistát, szép számmal leszünk jelen. A helyszín még nem biztos, de gondolom a szokásos helyen, a Déli Point irodaház 5. emeletén lesz. Az immár szokásos pizza mellé egy kis fejtágítást is fogunk kapni, melyet Tánczos Zoltán végez majd előadás formájában. A téma pedig SQL Server migráció Oracle adatbázis-kezelőre. Egy konzultáció alkalmával már volt szerencsém valamennyit megtudni, hogy mit is fogunk hallani. Szerintem érdekes lesz mindenki számára, aki eljön.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-7853159030267681138?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/7853159030267681138/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=7853159030267681138' title='5 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7853159030267681138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7853159030267681138'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/10/iii-oracle-blogger-dinner.html' title='III. Oracle Blogger Dinner'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3Dv5JbeCOWY/SQM5hOcByOI/AAAAAAAAAVw/OXN74uVblEY/s72-c/1234.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-5548550006027124930</id><published>2008-10-06T12:20:00.005+02:00</published><updated>2008-10-06T13:01:30.699+02:00</updated><title type='text'>Félév eleji köszöntő</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_3Dv5JbeCOWY/SOnuwuauQRI/AAAAAAAAAR8/QnJZuZ92k8c/s1600-h/Blue+Sky+Red+Hills.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://4.bp.blogspot.com/_3Dv5JbeCOWY/SOnuwuauQRI/AAAAAAAAAR8/QnJZuZ92k8c/s320/Blue+Sky+Red+Hills.jpg" alt="" id="BLOGGER_PHOTO_ID_5253992961165639954" border="0" /&gt;&lt;/a&gt;Már régen jelentkeztem, leginkább azért, mert a nyári időszakban leginkább a pihenés és nyaralás volt előtérben. Szeptember beköszöntével elkezdődött egy &lt;span style="font-weight: bold;"&gt;új félév&lt;/span&gt;, számomra a 9-edik. Ez azt jelenti, ha minden jól megy, akkor a következő félévben tervezhetem a diplomámat. De addig van dolgom bőven, pláne, hogy egy kis lemaradást is elkönyvelhettem a következő félévben. A &lt;span style="font-weight: bold;"&gt;Számítógépes grafika&lt;/span&gt; nem tartozik a könnyen teljesíthető tárgyak közé. Nekem sajnos már harmadszorra kellett felvennem, és ha diplomázni akarok, akkor most már meg kell csinálnom.&lt;br /&gt;Rögtön a félév elején nagy fába vágtam a fejszémet, mert Kardkovács Zsolt rábeszélt, hogy írjak meg egy&lt;span style="font-weight: bold;"&gt; TDK&lt;/span&gt; dolgozatot, hejj, de jó lesz nekem akkor. Nos, kis hezitálás után beláttam, nem olyan nagy hülyeség, végtére is az Önálló labor keretein belül is valami ilyesmit kéne csinálnom, így mondhatjuk két legyet üthetek egy csapásra. Bele is kezdtem gőzerővel a téma feldolgozásába, ami nem áll olyan messze attól, amivel eddig foglalkoztam. A dolgozat címe: &lt;span style="font-weight: bold;"&gt;Valós idejű analitikai rendszer támogatása állandó hozzáférésű adatpiac segítségével&lt;/span&gt;&lt;br /&gt;Ebben a félévben kell tehát teljesíteni az &lt;span style="font-weight: bold;"&gt;Önálló laboratórium 3&lt;/span&gt;-at, amiből már meg is volt az első közös konzi. Jelen voltunk vagy 11-12-en, ami a csoport felét sem teszi ki. Zsolt, mint a csoport fő konzulense igyekezett egy kis ízelítőt adni az új önlabozóknak, valamint megkérdezett minket, "öreg motorosokat", hogy mivel is foglalkoztunk eddig, mondjunk róla pár szót. Ez után Sárecz Lajos beszélt egy kicsit, hogy az Oracle hogyan támogatja a munkánkat és ezért mit vár el. Idén is a blogírás alappillére a jó kapcsolatnak, de a &lt;span style="font-weight: bold;"&gt;HOUG&lt;/span&gt;-on való részvételt most egy TDK dolgozat megírásához kapcsolta.&lt;br /&gt;Néhány szó erejéig megemlítem, hogy idén is elindult a &lt;a href="http://www.eestec.hu/pages/home.php"&gt;MAVE&lt;/a&gt; (Magyar Villamosmérnök- és Informatikus-hallgatók Egyesülete), &lt;a href="http://www.oracle.com/global/hu/index.html"&gt;Oracle&lt;/a&gt;, &lt;a href="http://www.tmit.bme.hu/"&gt;BME TMIT&lt;/a&gt; (BME Távközlési és Médiainformatikai Tanszék) szervezésében az &lt;span style="font-weight: bold;"&gt;Oracle szemináriumsorozat&lt;/span&gt;, melyről bővebb információt &lt;a href="http://atria.aspnet.hu/EventDetail.aspx?EventID=7"&gt;itt&lt;/a&gt; olvashattok.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-5548550006027124930?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/5548550006027124930/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=5548550006027124930' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/5548550006027124930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/5548550006027124930'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/10/flv-eleji-ksznt.html' title='Félév eleji köszöntő'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_3Dv5JbeCOWY/SOnuwuauQRI/AAAAAAAAAR8/QnJZuZ92k8c/s72-c/Blue+Sky+Red+Hills.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-3148176162870500028</id><published>2008-08-07T17:17:00.004+02:00</published><updated>2008-08-07T17:40:10.455+02:00</updated><title type='text'>Adósság</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_3Dv5JbeCOWY/SJsXAWfjy-I/AAAAAAAAAMo/ROnHHSDIFqE/s1600-h/thailand.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_3Dv5JbeCOWY/SJsXAWfjy-I/AAAAAAAAAMo/ROnHHSDIFqE/s320/thailand.jpg" alt="" id="BLOGGER_PHOTO_ID_5231800686926351330" border="0" /&gt;&lt;/a&gt;Egy kis késéssel ugyan, de közzé teszem a félév során összehozott rendszertervet, melyet a témában írtam. Ez a rendszerterv közös alapokon nyugszik Nyárády Péter rendszerével. A vizsgaidőszak után kellett még egy kicsit dolgoznom rajta, míg tartalmilag és küllemre is megfelelt az elvárásaimnak.&lt;br /&gt;Ezt most megosztom a nagyközönség számára is: &lt;a href="http://users.hszk.bme.hu/%7Eep602/oracle/HIR_rendszerterv.doc"&gt;Hallgatói Információs Rendszer - Rendszerterv&lt;/a&gt;&lt;br /&gt;A félév során összesen 34 oldal dokumentációt írtam, melybe beletartozik az itt a blogon közzétett néhány cikk is.&lt;br /&gt;A következő félévig jó nyaralást kívánok mindenkinek!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-3148176162870500028?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/3148176162870500028/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=3148176162870500028' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/3148176162870500028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/3148176162870500028'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/08/adssg.html' title='Adósság'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_3Dv5JbeCOWY/SJsXAWfjy-I/AAAAAAAAAMo/ROnHHSDIFqE/s72-c/thailand.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-4252297727058192683</id><published>2008-07-15T19:40:00.003+02:00</published><updated>2008-07-15T20:31:08.740+02:00</updated><title type='text'>"Gyorsfagyasztott" adatbázis szerver</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_3Dv5JbeCOWY/SHzsaocCMII/AAAAAAAAAMA/O_6ZUMcdBPQ/s1600-h/pclinux.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_3Dv5JbeCOWY/SHzsaocCMII/AAAAAAAAAMA/O_6ZUMcdBPQ/s320/pclinux.gif" alt="" id="BLOGGER_PHOTO_ID_5223309610118688898" border="0" /&gt;&lt;/a&gt;Az &lt;a href="http://eptentimes.blogspot.com/2008/07/11g-on-oel5.html"&gt;elmúlt hét eseményei&lt;/a&gt; annyira felkorbácsolták itthon a hangulatot, hogy még mindig nem sikerült kihevernem teljesen. Épp a legfrissebb  Oracle InDepth hírlevelet olvasgattam, amikor egy mondat a TECH DIVE rovatban hirtelen szemetszúrt: "&lt;a href="http://www.oracle.com/technology/tech/linux/validated-configurations/index.html?msgid=6668994"&gt;Deploy Linux Faster with Oracle Validated Configurations&lt;/a&gt;". Érthető módon azonnal kattintottam, hogy a cím mögötti tartalom is előkerüljön. Mint kiderült, más is sok időt eltöltött már linux telepítéssel és véleményének hangot is adhatott, mert az Oracle-nek van egy csapata, akik előretelepített konfigurációkat gyártanak, tesztelnek és validálnak (szép magyar szó:D). Mikor ezt megtudtam, akkor szidtam az Istent, hogy ez a levél hamarabb is landolhatott volna a postaládámban. Viszont akkor nem biztos, hogy felfigyelek erre a mondatra. Mindegy. Tovább nézegetve a letölthető konfigurációkat rájöttem, hogy nem igazán ilyen garázs projektekhez állították össze őket, mint az enyém. Van a listán HP, Dell, IBM szerver, de sok más gyártó termékei is. Összesen 61 konfigurációt számolhatunk össze (foylamatosan bővítik), melyek megbízhatóan működnek. Vannak 10g, 11g szerverek OEL4 vagy OEL5-tel, VM-mel vagy anélkül, RAC-cal vagy nélküle. Szóval színes a lista. Az én AMD Sempron 2600+ -os x86-osomhoz nem találtam konfigurációt :D Talán egyszer majd arra is sort kerítenek...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-4252297727058192683?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/4252297727058192683/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=4252297727058192683' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/4252297727058192683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/4252297727058192683'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/07/gyorsfagyasztott-adatbzis-szerver.html' title='&quot;Gyorsfagyasztott&quot; adatbázis szerver'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_3Dv5JbeCOWY/SHzsaocCMII/AAAAAAAAAMA/O_6ZUMcdBPQ/s72-c/pclinux.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-3771369675418351005</id><published>2008-07-07T19:10:00.017+02:00</published><updated>2008-07-13T22:44:54.910+02:00</updated><title type='text'>11g on OEL5</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_3Dv5JbeCOWY/SHJRTs44teI/AAAAAAAAAL0/QF-VEOTDAec/s1600-h/armored_pinguin.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 192px; height: 189px;" src="http://bp2.blogger.com/_3Dv5JbeCOWY/SHJRTs44teI/AAAAAAAAAL0/QF-VEOTDAec/s320/armored_pinguin.jpg" alt="" id="BLOGGER_PHOTO_ID_5220324316984948194" border="0" /&gt;&lt;/a&gt;Engem is utolért a végzet, mint sok más blogger kollégámat. Linuxra 11g-t telepíteni nem hogy nehéz, de egyenesen lehetetlen [...ha nem értesz hozzá:)] Itt megjegyezném, hogy a sokat szidott operációs rendszer kapott tőlem pár plusz pontot ez idő alatt - főleg a kényelem és használhatóság terén - , de azért a linuxot sem becsülöm le.&lt;br /&gt;&lt;br /&gt;Nagy ötletem volt a félév végén. Próbáljuk ki, hogy amit megterveztünk hogyan működik valójában. Ehhez össze kell állítani egy tesztkörnyezetet, ami egy Oracle 11g szerverből áll, valamint egy vele hálózatba kötött gépből, amin egy kliens alkalmazást futtatunk, ami elvégzi a szükséges funkciókat. Arra gondoltam, hogy itt az alkalom kipróbálni az Oracle által szállított &lt;a href="http://www.oracle.com/technology/tech/linux/index.html"&gt;Enterprise Linux&lt;/a&gt; legújabb 5-ös verzióját (félreértés ne essék, életemben egy linux disztribúcióval volt dolgom, azzal sem sokáig), mert azt gondoltam, hogy ezzel lesz a legkevesebb telepítési és konfigurációs probléma. Tévedtem. Nem vehetjük kézpénznek az Oracle által támogatott Linux disztribúció (&lt;a href="http://www.oracle.com/technology/tech/linux/index.html"&gt;Oracle Enterprise Linux 5 - OEL5&lt;/a&gt;) és saját adatbázisuk (&lt;a href="http://www.oracle.com/database/index.html"&gt;Oracle Database 11g&lt;/a&gt;) felhőtlen viszonyát.&lt;br /&gt;&lt;br /&gt;Telepítés előtt felkutattam azokat a dokumentációkat, melyek segítenek a telepítésben és felhívják a figyelmet a kritikus pontokra (van belőlük bőven). Amíg vártam, hogy levánszorogjon az 5 CD-s OEL5, valamint a 11g (1.7G), átolvasgattam, hogy mire kell felkészülnöm, milyen műveleteket kell végrehajtanom a helyes konfiguráció elérése érdekében. Itt megemlíteném, hogy az Oracle munkatársai csak CD-s verzióban bocsátják rendelkezésünkre az ingyenes Linux disztribúciójukat. Természetesen van 1 DVD-s verzió is, de azt postai úton kell megrendelni valamennyi térítés ellenében. Mivel manapság CD-t nem használok, ezért kicsit hülyén éreztem magam, miközben DVD-re írom ki a 700 megás képfájlokat.&lt;br /&gt;&lt;br /&gt;A linux telepítés viszonylag simán ment elsőre (legalábbis akkor még azt hittem), csak utána kezdődtek a gondok. Mondhatom, hogy amikor behelyeztem a letöltött és DVD-re kiírt 11g legújabb verzióját, megkezdődött vesszőfutásom.&lt;br /&gt;A telepítési útmutatóban leírtaknak megfelelően létrehoztam a felhasználókat és könyvtárakat, megadtam a jogokat, ezzel nem volt semmi gond. A telepítő is elindult sikerrel, beállítottam a kívánt paramétereket, amolyan Windows User módjára nyomkodtam a Next-et. Ezután elkezdte felmásolni a fájlokat, de csak egy darabig, mert kis idő elteltével hibüzenetet kaptam, mely arról árulkodott, hogy szüksége lenne egy .oui fájlra, de sehol sem találja a DVD-n. Gondoltam hú de jó, még ez is, lehet hegesztgetni a frissen kiadott adatbázis telepítőjét. Rákerestem magam is a fájlra, hogy esetleg valami elérési út probléma állhat-e a probléma mögött, de nem találtam egyáltalán a médián. A következő lépés az volt, hogy a tömörített képfájlban megtalálom-e, mert ha igen, akkor a tömörítéssel lehetett gond. Természetesen abban meg volt, csak DVD-re nem került rá valahogy. Még egyszer kitömörítettem a TotalCommander-em beépített tömörítőjével, csak a teszt kedvéért. Nem csalatkoztam, a tömörítés hiánytalan volt. Egyetlen láncszem maradt a folyamatban, amely a hibát okozhatta, mégpedig az író program. Világ életemben az &lt;a href="http://www.nero.com/eng/nero8-introduction.html"&gt;Ahead Nero&lt;/a&gt; programját használtam CD/DVD írásra, mert részletesen be lehetett állítani, de az új gépemen valamiért egy másik szoftver van fent. &lt;a href="http://www.roxio.com/enu/products/creator/suite/"&gt;Roxio Creator Basic&lt;/a&gt;. Egyszerű felület, még az írási sebességet sem kell beállítani(természetesen van rá mód), és kész is a lemez. Most is jól elintézte, mert úgy néz ki, hogy a számára értelmezhetetlen fájlokat egy adatlemez készítésénél önkényesen kihagyja, és még csak nem is tájékoztat a műveletről. Így történt, hogy a ".oui" nevű fájl nem felelt meg az elnevezési konvenciónak és lemaradt a lemezről. Az esetből tanulva az archiv fájlt írtam ki a DVD-re és a tömörítést a felmásolás után parancssorból végeztem, ahogy a &lt;a href="http://www.oracle.com/technology/pub/articles/smiley-11gr1-install.html"&gt;telepítési útmutató&lt;/a&gt; is ajánlotta.&lt;br /&gt;&lt;br /&gt;Újra belevágtam a telepítésbe és sikerrel jártam. Egy aggasztó képernyő fogadott a konfigurációs panelnál. Mégpedig az operációs rendszer(OEL5) adatbázishoz szükséges hiányzó csomagjainak a listája. Nem volt rövid. Kérdem én. Miért hihányoznak ezek a csomagok? Miért nincsenek feltelepítve? Talán elrontottam a telepítést? Nem a default módot kellett volna választani, hanem a Telepítés adatbázis számára? De ilyen opció nem volt. Akkor miért nincsenek alap esetben telepítve ezek? Hiszen ki a fene választaná az Oracle által csomagolt operációs rendszert, ha nem az, aki az Oracle adatbázis-kezelőjét szeretné használni? Más biztos nem választja, hiszen igazából egy összepofozott RedHat Linuxról van szó. Nem értem. Ezzel a problémával más is szembe találkozott és nem hagyta szótlanul: &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=545426&amp;amp;tstart=-1"&gt;oracle forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Belenyugodtam, hogy ez a telepítés nem lesz egy leányálom és tovább kutakodtam, mi módon fogok egy minden Error és Warning nélküli, jól működő Oracle adatbázist kapni Linuxra telepítve. A &lt;a href="http://www.oracle.com/technology/pub/articles/smiley-11gr1-install.html"&gt;hivatalos telepítési doksiban&lt;/a&gt; van egy "Pre-installation tasks" rész, de azt eddig átugrottam, mert nem feltételeztem, hogy csomagokat kell telepítgetnem ehhez az "összeszokott pároshoz". Tévedtem. -Azt azért megemlítem, mivel gyakorlatlan Linux használó vagyok, ezért még egyszer megkíséreltem egy "Clear install"-t a pingvines csodából és nagyon megnéztem a telepítési módokat, hátha van olyan, hogy "Install Linux for Oracle Database", de sajnos nem volt. Sebaj, legalább nöttek a tapasztalati pontjaim Linux telepítésből.- Tehát nekiláttam a csomagok telepítésének a leírás alapján. Már az első lépés után egy halom hibaüzenetet kaptam, ami természetesen nem volt betervezve, így a leírás alapján nem tudtam(/lehet) felrakni a kívánt csomagokat, melyek megtalálhatóak a telepítő CD-ken. Igazából ezekre a csomagokra van szükség a 11g telepítéséhez:&lt;br /&gt;&lt;br /&gt;* binutils-2.17.50.0.6&lt;br /&gt;* compat-libstdc++-33-3.2.3&lt;br /&gt;* compat-libstdc++-33-3.2.3 (32 bit)&lt;br /&gt;* elfutils-libelf-0.125&lt;br /&gt;* elfutils-libelf-devel-0.125&lt;br /&gt;* gcc-4.1.1&lt;br /&gt;* gcc-c++-4.1.1&lt;br /&gt;* glibc-2.5-12&lt;br /&gt;* glibc-2.5-12 (32 bit)&lt;br /&gt;* glibc-common-2.5&lt;br /&gt;* glibc-devel-2.5&lt;br /&gt;* glibc-devel-2.5-12 (32 bit)&lt;br /&gt;* libaio-0.3.106&lt;br /&gt;* libaio-0.3.106 (32 bit)&lt;br /&gt;* libaio-devel-0.3.106&lt;br /&gt;* libgcc-4.1.1&lt;br /&gt;* libgcc-4.1.1 (32 bit)&lt;br /&gt;* libstdc++-4.1.1&lt;br /&gt;* libstdc++-4.1.1 (32 bit)&lt;br /&gt;* libstdc++-devel 4.1.1&lt;br /&gt;* make-3.81&lt;br /&gt;* sysstat-7.0.0&lt;br /&gt;&lt;br /&gt;Ha default Linux installt csinálunk, akkor a következő csomagokat kell még feltelepíteni:&lt;br /&gt;&lt;br /&gt;* compat-libstdc++-33-3.2.3&lt;br /&gt;* compat-libstdc++-33-3.2.3 (32 bit)&lt;br /&gt;* elfutils-libelf-devel-0.125&lt;br /&gt;* gcc-4.1.1&lt;br /&gt;* gcc-c++-4.1.1&lt;br /&gt;* glibc-devel-2.5&lt;br /&gt;* glibc-devel-2.5-12 (32 bit)&lt;br /&gt;* libaio-devel-0.3.106&lt;br /&gt;* libstdc++-devel 4.1.1&lt;br /&gt;* sysstat-7.0.0&lt;br /&gt;&lt;br /&gt;Itt hozzátenném, hogy nem csak ezekre a csomagokra lesz szükség, hanem a függőségek figyelembe vételével azokra is, amelyekre ezek támaszkodnak. Szerencsére minden szükséges csomag megtalálható az 1., 2., 3. CD-ken.&lt;br /&gt;&lt;br /&gt;Most már készen állok az adatbázis telepítésére. Ezt mi sem bizonyítja jobban, mint a telepítő "Product-Specific Prerequisit Checks" oldalán a "Checking operating system package requirements" teszt megfeleltté van nyilvánítva. Igen! Megcsináltuk! :D A telepítés további részletei nem voltak érdekesek, pont úgy kell, mint Windows-on, hála a java alapú telepítő GUI-nak.&lt;br /&gt;&lt;br /&gt;Nem esett még szó a tárhelyről. Elvileg ajánlatos Automatic Storage Managementet(&lt;a href="http://www.oracle.com/technology/products/database/asm/index.html"&gt;ASM&lt;/a&gt;) alkalmazni, de mivel ezen a gépen van még két NTFS partíció, amolyan Windows célokra és nem nagyon bízom meg az ilyen automatikusan konfigurálódó, particionáló és formázó technológiákban, ezért ezt nem alkalmazom. A vas egy 2600+ Sempron, 1G memóriával. Ehhez egy 2Gb méretű SWAP-ot foglaltam le, valamint vagy 50Gb EXT3 fájlrendszerű tárterületet. Egyébként a &lt;a href="http://www.oracle.com/technology/pub/articles/smiley-11gr1-install.html"&gt;telepítő doksiban&lt;/a&gt; is az EXT3-at ajánlják.&lt;br /&gt;&lt;br /&gt;Összegzésül elmondanám, hogy a nehézségek ellenére nem bántam meg, hogy "felszenvedtem" egy 11g-t OEL5-re. Azonban megfontolandó, hogy ha erre a NAGYON támogatott operációs rendszerre ennyi megpróbáltatás árán sikerült telepíteni a szoftvert, akkor egy olyan rendszerrel mennyi gond lehet, amely a KEVÉSBÉ támogattottak listáján csücsül. Ha bárki hasonló telepítési gondokkal küzd, mint amikkel én is szembe találkoztam, annk egy jó tanács, hogy a csomagokat figyelmesen telepítse fel. Ehhez nyújt segítséget ez a pár dokumentáció:&lt;br /&gt;* &lt;a href="http://www.oracle.com/technology/pub/articles/smiley-11gr1-install.html"&gt;Installing Oracle Database 11g Release 1 on Enterprise Linux 5 (32- and 64-bit)&lt;/a&gt; by John Smiley&lt;br /&gt;* &lt;a href="http://ivan.kartik.sk/oracle/install_ora11gR1_elinux.html"&gt;Installation of Oracle 11g Release 1 (11.1.0.6.0) on RedHat EL 4, 5 and (Oracle) Enteprise Linux 4, 5 &lt;/a&gt;&lt;br /&gt;* &lt;a href="http://forums.oracle.com/forums/thread.jspa?threadID=545426&amp;amp;tstart=-1"&gt;Install 11g on Unbreakable Linux 5 failing&lt;/a&gt; on Community Discussion Forums, Oracle&lt;br /&gt;&lt;br /&gt;Pém Gábor &lt;a href="http://bblog.notice.hu/"&gt;blogjában&lt;/a&gt; lehet még olvasni 11g telepítési HowTo-t. Ő Debian-nal próbálkozott és érdekes problémákba ütközött, melyekre mind megtalálta a megoldást:&lt;br /&gt;* &lt;a href="http://bblog.notice.hu/?postid=13"&gt;Oracle 11g telepítése Debian 4.0 Etch-re (AMD64) - Előkészületek&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://bblog.notice.hu/?postid=14"&gt;Oracle 11g telepítése Debian 4.0 Etch-re (AMD64) - Az adatbázis telepítése&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://bblog.notice.hu/?postid=15"&gt;Oracle 11g telepítése Debian 4.0 Etch-re (AMD64) - Telepítés utáni feladatok&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-3771369675418351005?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/3771369675418351005/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=3771369675418351005' title='3 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/3771369675418351005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/3771369675418351005'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/07/11g-on-oel5.html' title='11g on OEL5'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_3Dv5JbeCOWY/SHJRTs44teI/AAAAAAAAAL0/QF-VEOTDAec/s72-c/armored_pinguin.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-4399845322346064952</id><published>2008-06-11T15:07:00.006+02:00</published><updated>2008-08-07T17:50:40.675+02:00</updated><title type='text'>foci EB</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SJsZqCOxUUI/AAAAAAAAAMw/rgeFhftldcc/s1600-h/Fussball.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 236px; height: 248px;" src="http://3.bp.blogspot.com/_3Dv5JbeCOWY/SJsZqCOxUUI/AAAAAAAAAMw/rgeFhftldcc/s320/Fussball.jpg" alt="" id="BLOGGER_PHOTO_ID_5231803602064986434" border="0" /&gt;&lt;/a&gt;Annak idején, amikor beadtam az írásbeli beszámolóm anyagát, akkor még korán sem voltam kész. De úgy gondoltam, hogy a tárgyfelelősnek így is jó lesz. Tudom, kicsit gonosz, de jó lett... Úgy érzem, hogy jóval kevesebb munkával is lehetett volna teljesíteni ezt az önlabot, ha csak erre a dolgozatra koncentrálok. De nem így lett, és utólag már nem bántam meg. A félévi munkámat reprezentáló dokumentum közel 34 oldal lett (összehasonlításul a tárgyfelelősnek szánt verzióval, ami 11 oldal minden klisével és képpel együtt), igaz van pár majdnem ugyan-olyan oldal, de képet csak egyet tartalmaz. A rövidebb dokumentumból pont az maradt ki, ami a félév lényege volt számomra, de ezt a véglegesben már pótoltam. Az adatbázis memória hangolása érdekes téma volt, de szerintem még nem sikerült kimerítenem teljesen. Az elméleti megfontolásaimat jó lenne teszteken is látnom, hogy tényleg gyorsabbá tudtam tenni ez által a lekérdezéseket. Lehet, hogy a nyáron összeállítok egy tesztkonfigurációt, amin megnézem mindezeket. Érdekes lenne a TimesTen-nel is tesztelni a teljesítményt. Majd meglátjuk. Mindezek előtt a maradék 4 vizsgámat szeretném sikerrel teljesíteni, ami még 20 kredit :D Eddig már zsebben van 21, de a szakirányos tárgyak még hátra maradtak. Na és a foci EB...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-4399845322346064952?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/4399845322346064952/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=4399845322346064952' title='3 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/4399845322346064952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/4399845322346064952'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/06/foci-eb.html' title='foci EB'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_3Dv5JbeCOWY/SJsZqCOxUUI/AAAAAAAAAMw/rgeFhftldcc/s72-c/Fussball.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-7015419513925105647</id><published>2008-05-29T10:23:00.002+02:00</published><updated>2008-05-29T10:40:58.421+02:00</updated><title type='text'>II. Oracle Blogger Dinner</title><content type='html'>Második alkalommal kerül megrendezésre az Oracle Blogger Dinner (2008. június 9 17:00, Oracle irodaház), melynek nem titkolt szándéka, hogy lehetőséget teremtsen a magyarországi Oracle bloggereknek a személyes találkozásra. Kaptunk meghívást szép számmal, remélem mindenki el tud jönni. Ez csak egy rövid találkozás lesz, de nem esemény nélküli. A végleges program még nem hivatalos, de elöljáróban annyit elfecsegek, hogy lesz egy előadás Application Express témakörben, valamint többen fogunk a nemrég megrendezett HOUG2008-ról élménybeszámolót tartani.&lt;br /&gt;Izgalmas eseménynek ígérkezik. Aki kapott meghívást de nem szeretne eljönni, az is gondolja meg, mert a kötetlen beszélgetések közben némi pizza és üdítő is található majd a teremben...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-7015419513925105647?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/7015419513925105647/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=7015419513925105647' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7015419513925105647'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7015419513925105647'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/05/ii-oracle-blogger-dinner.html' title='II. Oracle Blogger Dinner'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-5190763552223147252</id><published>2008-05-18T13:57:00.002+02:00</published><updated>2008-05-18T14:40:04.799+02:00</updated><title type='text'>Félév végi hajtás</title><content type='html'>Mint minden félévben, ebben is a szorgalmi időszak vége a leghúzosabb, mert minden munkának ekkor van a határideje. Ilyenkorra kell befejezni a házikat, összeállítáani a prezentációt, és a pótzh-kat is ekkor lehet csak megírni. Ezek közül számomra most mind kijutott, így nem tudtam a blogommal foglalkozni.&lt;br /&gt;Most azonban sok mindenről kell beszámolnom, mert Önlab II-ből is elkészültek anyagok, amiket megosztok veletek.&lt;br /&gt;Először is egy rendszerterv elkészítése volt a feladat ebben a félévben, ami még most sem készült el teljesen. A tárgyfelelősnek ezt írásban és szóban is be kellett mutatni. Az írásbelivel sajnos késtem pár napot, mert elnéztem a beadási határidőt a Pünkösd hétfő miatt. Na jó, nem néztem el, csak lusta dög voltam időre megcsinálni :). Meg is lett az eredménye :(. Be kell valljam, kicsit későn kaptam észhez, hogy egy rendszertervvel még adós vagyok. Nyárády Petivel összefogtunk, mivel hasonló a témánk - optimalizálás- , ezért az alapkoncepció lehetne közös. Marton Józsival gyorsan le is ültünk konzultálni, az első ötletünket lefújta, ami egy számlázó rendszer volt. Jogosan, teszem hozzá, mert nem tudjuk, milyen folyamatok zajlanak pontosan egy ilyen rendszerben. Aztán egy kézenfekvő dolog jutott eszünkbe. Hallgatói információs rendszer, vagyis Neptun, de mégsem az. Ez már jónak bizonyult. Petivel gyorsan össze is dobtuk az adatbázis sémát, amihez a szkriptet utána megcsinálta PLSQL és TSQL nyelven is. Ez volt a kiindulási alap. Innentől ő az SQL optimalizálással foglalkozott nagyrészt, én pedig a helyes rendszer konfiguráció - értem itt ezalatt az adatbázis memória kiosztását (SGA) - megalkotásával töltöttem az időmet. Azonban rossz stratégiát választottam. Úgy gondoltam, hogy először megcsinálom a teljes koncepciót, aminek nincsenek formai, csak tartalmi követelményei, és majd ebből kiemelem a lényeget és beadom azt a tárgyfelelősnek. Na emiatt kicsúsztam a határidőből és későn változtattam az elképzelésemen. A tanulmány megírásának a felénél belekezdtem a kiírt formai követelményekbe tuszkolni az irományt, ami nem volt túl egyszerű, és időm sem maradt elég, ráadásul nem sikerült mindent belerakni, amit szerettem volna. Végül leadtam 27 óra késéssel, ami 2 munkanapnak felelt meg, így 9% levonásra számíthattam a végleges jegyemből.&lt;br /&gt;Szóbeli.&lt;br /&gt;Egyéb házi feladatok írása közben összeállítottam a szóbeli prezentációmat, amit természetesen nem töltöttem fel a kívánt határidőre, mert elfelejtettem. Csak a beszámoló napján délben jutott eszembe, hogy van egy ilyen feltétele is a szóbelinek. Nem történt nagy baj, bevittem magammal pendrive-on. Elég kalandos volt Marton Józsit előkerítenem a szóbelire, mert legutoljára a szóbelimről 1 hónappal előtte beszéltünk, de nem elékeztettem közvetlenül előtte. Két beszámoló után kijöttem a teremből és elindultam megkeresni. Először a termében (IL109), aztán meg mindenféle kollégáját leszólítva a folyosón, meg más laborokba bekukkantva. Végül Erős Levente oldotta meg a problémámat, aki tudta a mobil számát és felhívta, hogy meg kell jelennie konzulens minőségben egy szóbeli beszámolón. Minden a helyén volt, jöhetett a prezentációm. Megtartottam. 10 és fél perc lett körülbelül, ami fél perccel volt több a megengedettnél. Marosits Tamás volt a hallgatóság és értékelő egyben. A szóbelimben és írásbelimben egyetlen kivetnivalója volt. Az, hogy nem különült el egyértelműen, hogy mi az, amit én csináltam, és mi az, amit közösen Péterrel. Ezt szóban meg is cáfoltam neki, de úgy tűnik valamiért mindenképp rosszabb jegyet akart nekem adni. Talán a két nap késés miatt, nem tudom. A lényeg az, hogy, a késés önmagában még nem rontott volna a jegyemen, de sajnos nem értékelte tökéletesre a beszámolóimat, így a végén csak 4-est kaptam a tárgyra.&lt;br /&gt;A végleges, konzulensnek szánt beszámolómat csak később tudom befejezni, de nem maradok vele adós. Most a változatosság kedvéért Adatbázisok szerveroldali programozása vizsgám lesz, de utána befejezem a művem :D.&lt;br /&gt;&lt;br /&gt;Anyagok&lt;br /&gt;Írásbeli beszámoló a tárgyfelelősnek: &lt;a href="http://users.hszk.bme.hu/%7Eep602/oracle/g3ks8j-eberhardt.doc"&gt;link&lt;/a&gt;&lt;br /&gt;Szóbeli prezentáció: &lt;a href="http://users.hszk.bme.hu/%7Eep602/oracle/g3ks8j-eberhardt.ppt"&gt;link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-5190763552223147252?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/5190763552223147252/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=5190763552223147252' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/5190763552223147252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/5190763552223147252'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/05/flv-vgi-hajts.html' title='Félév végi hajtás'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-9207714045027938107</id><published>2008-05-01T12:16:00.002+02:00</published><updated>2008-05-01T12:24:29.312+02:00</updated><title type='text'>HOUG 2008 anyagok</title><content type='html'>Izsák Tamás jelezte egy &lt;a href="http://eptentimes.blogspot.com/2008/04/houg-2008.html"&gt;hozzászólásban&lt;/a&gt;, hogy felkerültek a HOUG honlapjára a konferencia &lt;a href="http://www.houg.hu/pls/apex/f?p=houg:archivum:97587182028690"&gt;előadás anyagai&lt;/a&gt;. Akit érdekelnek a részletek, az nyugodtan válogathat közülük.&lt;br /&gt;Kellemes olvasgatást!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-9207714045027938107?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/9207714045027938107/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=9207714045027938107' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/9207714045027938107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/9207714045027938107'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/05/houg-2008-anyagok.html' title='HOUG 2008 anyagok'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-556034632262347579</id><published>2008-04-19T16:34:00.004+02:00</published><updated>2008-04-20T00:28:19.591+02:00</updated><title type='text'>Memória konfiguráció - Alapelvek</title><content type='html'>Az Oracle adatbázis alapvetően memóriában tárol minden információt. Azonban, ha nincs elegendő erőforrás, akkor az operációs rendszer kénytelen átmenetileg kitenni egy részét a merevlemezre, amíg ismét szükség lesz rá. Ez sajnos elkerülhetetlen elegendő memóriával nem rendelkező rendszerek esetében. (Ugye a memória olvasási és írási sebessége nagyságrendekkel gyorsabb, mint a lemezé.) Egy másik probléma pedig, hogy csak a működéshez elengedhetetlen információk vannak a memóriában, az adatok viszont a merevlemezen pihennek(a TimesTen az adatokat is a memóriában tárolja). Ezeket be kell olvasni, ha szükség van rájuk. A gyakran használt adatokat pedig valamilyen stratégia szerint minél tovább a memóriában kell marasztalni, hogy elkerüljük a felesleges I/O műveleteket.&lt;br /&gt;A cél tehát kirajzolódni látszik. Csökkenteni a fizikai írás/olvasás műveleteket amennyire csak lehet akár cache-eléssel, vagy akár az adatblokkok behozásának hatékonyabbá tételével.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Az alapvető memória részek&lt;/span&gt;, melyek hatással vannak a teljesítményre:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Shared pool&lt;/li&gt;&lt;li&gt;Large pool&lt;/li&gt;&lt;li&gt;Java pool&lt;/li&gt;&lt;li&gt;Buffer cache&lt;/li&gt;&lt;li&gt;Streams pool size&lt;/li&gt;&lt;li&gt;Log buffer&lt;/li&gt;&lt;li&gt;Rendezéshez és hasheléshez szükséges memória(saját processz memória)&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Automatikus memória kezelés&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Alapesetben a telepített Oracle példányunk automatikusan kezeli a rendelkezésére álló memóriát. Ebbe csak nagyon kevés beleszólásunk van. Mindössze a felhasznált memória célméretét (MEMORY_TARGET) és maximumát (MEMORY_MAX_TARGET) szabhatjuk meg, minden más az adatbázis dolga. Elvégzi a területek kiosztását és méretezését az SGA-nak és PGA-nak. Törekszik a legoptimálisabb megoldásra.&lt;br /&gt;Ha mégis úgy döntünk, hogy magunk szeretnénk kezelni a kiosztott memória területeket, akkor érdemes használni a beépített Memory Advisort.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Automatikus osztott memória kezelés&lt;/span&gt;&lt;br /&gt;Ha a szerverpéldányunk SGA-ját szeretnénk egyszerűsítve kezelni, akkor ezt megtehetjük egyszerűen. Csupán az SGA_TARGET paramétert kell nullánál nagyobb értékre állítani (ezzel foglalhatjuk le az SGA-nak szükséges területet), utána pedig a STATISTICS_LEVEL-t TYPICAL vagy ALL módba kapcsolni. Ezekkel a beállításokkal az SGA automatikusan szétosztja a rendelkezésére álló memóriát az alábbi területek között: buffer cache, shared pool, large pool, java pool, streams pool. Ha az ezekhez tartozó memóriaterületeket nullánál nagyobb értékekre állítjuk, akkor ezzel a számukra szükséges minimum területet állítottuk be. Ezt figyelembe veszi az adatbáziskezelő a területek szétosztásánál.&lt;br /&gt;Az SGA_TARGET változót dinamikusan is állíthatjuk, ezzel hozzá hangolva az éppen aktuális rendszerműködéshez. Ha az SGA_TARGET-et nullára állítjuk szerver induláskor, akkor a legutolsó beállítások fognak vonatkozni az SGA területeire(buffer cache, shared pool,...). Ezeket azonban személyesen is átállíthatjuk a megfelelő változókkal: DB_CACHE_SIZE, SHARED_POOL_SIZE, LARGE_POOL_SIZE, JAVA_POOL_SIZE, STREAMS_POOL_SIZE. Erről azonban majd később.&lt;br /&gt;Vannak azonban olyan memóriaterületek is, melyekre az automatikus osztott memória kezelésnek nincsen hatása(log buffer, más cache-ek, belső SGA foglalások), azonban az SGA-ból területet vonnak el. Érdemes odafigyelni rájuk.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Memóriaterületek dinamikus változtatása&lt;/span&gt;&lt;br /&gt;Ha magunk szeretnénk a memóriaterületeinket kezelni, akkor ezt megtehetjük, de ekkor körültekintően kell eljárnunk. A területek méretének beállítását az alábbi paraméterekkel tehetjük meg: DB_CACHE_ADVICE, JAVA_POOL_SIZE, LARGE_POOL_SIZE, LOG_BUFFER, SHARED_POOL_SIZE. Ezek közül a Log buffer beállítása indítás után nem változtatható meg, a többi viszont dinamikusan kezelhető. A memória foglalás alapegysége az SGA-nak 4MB, amíg 1GB alatt van, felette viszont 16MB. Ezt menet közben nem lehet megváltoztatni.&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;(Egyébként a V$SGA_DYNAMIC_COMPONENTS nézet tartalmazza az aktuális alapegységet.)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;Azzal, hogy beállítjuk&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt; &lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;induláskor az SGA maximális méretét (SGA_MAX_SIZE)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;korlátot szabunk a teljes memóriahasználatnak. Az ide tartozó komponenseknek nem adhatunk több operatív tárak, mint amennyit kezdetben allokáltunk. Ezért amikor kiszámoljuk, hogy mennyi hely fog kelleni a szerverünk működéséhez, mindig becsüljük kissé túl, hogy ha valamilyen váratlan okból meg kell növelnünk egyes komponensek rendelkezésére álló memória területet, akkor ne kelljen feltétlenül elvennünk valamely máséból, hogy beleférjünk a keretbe.&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;span&gt;Segítség a dinamikus újraméretezéshez&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Ahhoz, hogy olyan döntéseket hozzunk meg, melyek eredményeként át kelljen méretezni memória területeket, információra van szükségünk az adatbázisunk állapotáról, teljesítményéről, elvégzett műveleteiről. Ebben segítenek nekünk előre definiált nézetek, melyek az alábbiak:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;V$MEMORY_CURRENT_RESIZE_OPS - A jelenleg is futó átméretezési műveletek listáját tartalmazó nézet.&lt;/li&gt;&lt;li&gt;V$MEMORY_DYNAMIC_COMPONENTS - Az összes dinamikusan állítható paraméter aktuális értéke, beleértve az SGA és PGA méretét is.&lt;/li&gt;&lt;li&gt;V$MEMORY_RESIZE_OPS - A legutóbbi 800 végrehajtott átméretezési művelet (csak a befejezettek).&lt;/li&gt;&lt;li&gt;V$MEMORY_TARGET_ADVICE - Hangolási tanácsokat tartalmaz a MEMORY_TARGET paraméter állítására.&lt;/li&gt;&lt;li&gt;V$SGA_CURRENT_RESIZE_OPS - Az éppen futó SGA átméretezési műveletek listáját jeleníti meg.&lt;/li&gt;&lt;li&gt;V$SGA_RESIZE_OPS - A legutóbbi 800 végrehajtott SGA átméretezési művelet (csak a befejezettek).&lt;/li&gt;&lt;li&gt;V$SGA_DYNAMIC_COMPONENTS - Az SGA dinamikus komponenseiről tárol információt. Tartalmazza az indítástól számított összes SGA átméretezési műveletet.&lt;/li&gt;&lt;li&gt;V$SGA_DYNAMIC_FREE_MEMORY - Az SGA számára fennálló szabad memória mennyiségét tárolja, ha a jövőben át szeretnénk méretezni.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Megfontolások alkalmazás oldalon&lt;/span&gt;&lt;br /&gt;A memória konfigurációját természetesen az alkalmazáshoz kell igazítani, azonban ha a memóriahasználatot megfelelően hangoljuk, akkor nagyban csökkenthetjük az erőforrás szükségleteket. Ha hatékonyan használjuk az adatbázis erőforrásait, akkor jobb teljesítményt érhetünk el, mintha ezzel nem foglalkoznánk.&lt;br /&gt;A legjobb teljesítmény elérése érdekében tehát az alkalmazás memóriahasználatát optimálisan kell kezelni, valamint az adatbázis memória struktúráját az alkalmazás igényeihez kell teljesen igazítani. Ha változtatunk az alkalmazáson, akkor újra kell gondolni az adatbázis memória használatát is.&lt;br /&gt;Ha Java kódot használunk, akkor ezzel külön kell foglalkozni, mert az Oracle adatbáziskezelő külön erre a célra fenntart egy memória területet (Java pool).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Az operációs rendszer memóriahasználata&lt;/span&gt;&lt;br /&gt;A legtöbb operációs rendszer használja a lapozási technikát. Vagyis ha nincs elegendő memória, akkor valamilyen stratégia szerint kiválaszt egy memóriaterületet és azt a merevlemezre mozgatja, hogy a helyére az éppen aktuálisan futó processz adatai kerüljenek. Ez teljesítmény csökkenést eredményez az operációs rendszer szintjén. Ebből a megközelítésből tehát a teljesítmény növelése csak a rendelkezésre álló memória növelésével érhető el. Vagy a felesleges processzek leállítása, így szabad memóriaterülethez juthatunk.&lt;br /&gt;Az SGA szemszögéből nézve nagyban rontaná a hatékonyságot, ha egy szerverpéldány egy része nem férne el a memóriába (pl. sok más folyamat miatt) és így folyton használni kéne a lapozást. Ezért ajánlatos valamilyen módon az SGA-t mindig a memóriában tartani. Ennek egy módja, ha van elég hely ugyan a memóriában, hogy megparancsoljuk az operációs rendszernek, hogy nem nyúlhat az SGA-hoz. Ezt az adatbázis LOCK_SGA paraméterével állíthatjuk be. Azonban ha ezt beállítjuk, akkor nem használhatjuk a MEMORY_TARGET és MEMORY_MAX_TARGET paramétereket.&lt;br /&gt;Ha megalkottuk a helyes SGA beállításokat az alkalmazásunkhoz, akkor sem szabad megfeledkeznünk a kapcsolódó felhasználókról, mert nekik is szükségük lesz szabad memóriára, hogy elvégezhessék a műveleteket.&lt;br /&gt;Az SGA aktuális állapotáról a SHOW SGA PL/SQL parancs kiadásával tájékozódhatunk.&lt;br /&gt;&lt;br /&gt;Forrás: &lt;a style="color: rgb(0, 0, 0);" href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/memory.htm#i21817"&gt;&lt;/a&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/memory.htm#i21817"&gt;Oracle Database Performance Tuning Guide 11g Release 1 (11.1) - 7 Memory Configuration and Use - 7.1 Understanding Memory Allocation Issues&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-556034632262347579?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/556034632262347579/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=556034632262347579' title='1 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/556034632262347579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/556034632262347579'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/04/memria-konfigurci-alapelvek.html' title='Memória konfiguráció - Alapelvek'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-7436094041422628787</id><published>2008-04-19T16:15:00.003+02:00</published><updated>2008-04-19T16:34:29.053+02:00</updated><title type='text'>Memória konfiguráció</title><content type='html'>A most &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;következő&lt;/span&gt; néhány bejegyzésben szeretném bemutatni, hogy &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;adatbázisunk&lt;/span&gt; teljesítményét miként befolyásolja a rendelkezésre álló memória mennyisége és kiosztása. Először csak az alapelveket tisztázom, majd belemegyek az &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;SGA&lt;/span&gt; részletes konfigurálási lehetőségeibe. Itt a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Buffer&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Cache&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Shared&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Pool&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Large&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Pool&lt;/span&gt; és &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Redo&lt;/span&gt; Log &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Buffer&lt;/span&gt; tárgyalásáról lesz szó, majd kitérek a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;PGA&lt;/span&gt; beállítási lehetőségeire és használatára is.&lt;br /&gt;&lt;br /&gt;Ahhoz, hogy &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;adatbázisunk&lt;/span&gt; teljesítménye a lehető legjobb legyen, szükséges a konkrét feladathoz hangolni a rendszer &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;memóriahasználatát&lt;/span&gt;. Olvasva ehhez kapcsolódó dokumentációkat mindig feltűnt egy mondat: "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Oracle&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;recommends&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;using&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;automatic&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;memory&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;management&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;to&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;manage&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;the&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;memory&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;on&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;your&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;system&lt;/span&gt;." Ha szót fogadnék neki, akkor mondhatnám, hogy kész is vagyunk, mert &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_27"&gt;alap esetben&lt;/span&gt; így működik &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;adatbázisunk&lt;/span&gt;, és nekikezdhetünk a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_29"&gt;rendszer tervnek&lt;/span&gt;. De nem hiszek neki, ezért tovább olvasom ezeket a dokumentumokat. Rájövök, hogy jól tettem, hogy nem fordultam vissza rögtön az elején, mert rengeteg lehetőségünk van &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;finomhangolni&lt;/span&gt; rendszerünket, amitől a rejtett &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_31"&gt;teljesítmény növekedést&lt;/span&gt; várom.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-7436094041422628787?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/7436094041422628787/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=7436094041422628787' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7436094041422628787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7436094041422628787'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/04/memria-konfigurci.html' title='Memória konfiguráció'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-8357782361452946824</id><published>2008-04-12T10:58:00.002+02:00</published><updated>2008-04-12T13:21:50.790+02:00</updated><title type='text'>HOUG 2008</title><content type='html'>Lezajlott az idei&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://houg.hu"&gt;HOUG&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;konferencia, melyen idén először én is részt vehettem 3 "sorstársam" társaságában. Köszönet érte az Oracle Hungary Kft. -nek és természetesen Sárecz Lajosnak a meghívásért.&lt;br /&gt;&lt;br /&gt;A &lt;span style="font-weight: bold;"&gt;rendezvény&lt;/span&gt; ideje alatt plenáris és szekció előadások voltak, de esténként a szórakozás sem maradt el. Minden nap a plenáris előadásokkal kezdődött a nap, de arra az első napot kivéve nem sikerült odaérni, mert az ébredés és reggeli eléggé elhúzódott. Rendszerint az első kávé szünetre, vagy az azelőtti előadásra értünk a helyszínre. Mentségünkre legyen, hogy minket nem a Konferencia helyszínén, a Hotel Azúrban szállásoltak el, hanem 10 percre onnan, a siófoki móló legvégén a Hotel Yacht Klubban.&lt;br /&gt;&lt;br /&gt;Visszatérve a &lt;span style="font-weight: bold;"&gt;konferenciára&lt;/span&gt; sok pihenésre nem maradt időnk, mert mindig akadt érdekes előadás, amit nem lehetett kihagyni, így reggeltől(délelőtt) délután 5-6-ig elfoglaltuk magunkat. Utána akadt egy kis pihenő, majd vacsora, ami után rendszerint érdekes programokkal kedveskedtek a szervezők. Itt kiemelném az esténként díjmentesen fogyasztható csapolt Heinekent :) Persze más ital is ingyen volt a résztvevőknek, de én csak ezt próbáltam ki.&lt;br /&gt;&lt;br /&gt;Az előadások közül legjobban &lt;span style="font-weight: bold;"&gt;Hoppán Gergely&lt;/span&gt; (Alpha Consulting 1996 Kft.) &lt;span style="font-weight: bold;"&gt;Blogoljunk és prosperáljunk&lt;/span&gt; című előadása tetszett, aki arról beszélt, hogy mi értelme egy szakmai blognak és azt hogyan kell írni ahhoz, hogy minél többen olvassák. A legjobban az a rész tetszett, amikor egy blogot egy nőhöz hasonlított kiemelve a két végletet. Egy céges honlap unalmas, lassan frissülő, száraz. Egy személyes blog szubjektív, abszolút szórakoztató és érdekes. Ennek a kettőnek az ötvözete adja a szakmai blogot, mely szórakoztató céges weboldal. És akkor a hasonlat: "Amikor feleséget választunk, akkor az a célunk, hogy a hölgy legyen egyszerre úrinő is, meg szexistennő is." Ez vitte a pálmát.&lt;br /&gt;&lt;br /&gt;Volt még érdekes előadás bőven, de talán &lt;span style="font-weight: bold;"&gt;Papp Péter&lt;/span&gt; (Kancellár.hu) &lt;span style="font-weight: bold;"&gt;Oracle Hacking háziasszonyoknak&lt;/span&gt; című előadását érdemes kiemelni. Az előadás egy demóból állt, ahol megmutatta, hogy kell eltéríteni egy Oracle 10g patchek nélküli rendszert egy távoli gépről. Azt hiszem a hallgatóság majd lefordult a székről amikor már azt is elérte, hogy minden jogot megkapjon az egyszerű felhasználónk. Ültek a teremben sokan, akik ebben a pillanatban legszívesebben felhívták volna céges adatbázisuk adminisztrátorát, hogy azonnal telepítse fel a patcheket... :) Én mindenesetre jól szórakoztam.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Kardkovács Zsolt&lt;/span&gt; (BME TMIT) és &lt;span style="font-weight: bold;"&gt;Benkő Borbála&lt;/span&gt; (BME TMIT) közös előadását is volt alkalmam meghallgatni, melyben arról számoltak be, hogy milyen eredményeket értek el a saját magyar szótövesítő rendszerük fejlesztésében. Ennek alapja az &lt;span style="font-weight: bold;"&gt;Oracle Text&lt;/span&gt; technológia, mely lehetőséget ad arra, hogy szövegeket kezeljünk, rendszerezzünk OracleDB alapokon. Az általuk elkészített rendszer a &lt;span style="font-weight: bold;"&gt;HunLexer&lt;/span&gt;, amit egy rövid demón keresztül prezentáltak.&lt;br /&gt;&lt;br /&gt;Nagy örömömre szolgált, hogy két előadás is volt &lt;span style="font-weight: bold;"&gt;TimesTen&lt;/span&gt; témakörben, így egy kis betekintést kaphattam a TT ipari környezetben lévő használatáról.&lt;br /&gt;&lt;br /&gt;Az első előadást &lt;span style="font-weight: bold;"&gt;Ökrös Péter&lt;/span&gt; (Astron Informatikai Kft.) tartotta &lt;span style="font-weight: bold;"&gt;Oracle TimesTen for Real Time Business&lt;/span&gt; címmel. Az előadás első része a TimesTen technológia ismertetéséről szólt, majd két megvalósítást hozott fel példának, ami Magyarországon egyedülállónak mondható.&lt;br /&gt;Az első példa egy &lt;span style="font-weight: bold;"&gt;Applikációs adatbázis&lt;/span&gt; felgyorsítása a Mavir Zrt.-nél, mely az &lt;span style="font-weight: bold;"&gt;első magyar TT prodzsekt&lt;/span&gt; volt. Ez nem volt egyszerű feladat, mert egy valós idejű vezérlőrendszerből kellett valós idejű konvertálást végezni az alkalmazások számára. Ezt a TimseTen Cache Connect funkciójával valósították meg.&lt;br /&gt;A megoldandó problémák a következők voltak: gyorsabbnak kell lennie (10x, ha már Times&lt;-&gt;Ten), tárolt eljárásokat pótolni kellett (mivel a TT nem támogatja), nagy rendelkezésre állás biztosítása Oracle adatbázis tárolt eljárásaival, TT csak valós (materializált) adatokat kezel. A feladatokat sikerrel oldották meg és a rendszert tényleg sikerült felgyorsítani, ha nem is tízszeres sebességre. Tanulságként annyi vonható le, hogy a TimesTen nem minden esetben gyorsít fel egy már meglévő rendszert, főleg akkor nem, ha ehhez nincs megfelelő szakértelem. Viszont, ha hozzáértő szakember készíti el a terveket, akkor jelentős gyorsulásra tehetünk szert.&lt;br /&gt;A második példa egy Ügyviteli Jelentési Rendszer felgyorsítása volt, ahol a fő gondot az okozta, hogy az alkalmazásokhoz nem lehetett nyúlni, tehát egy olyan integrációs megoldást kellett kitalálni, ahol a beillesztett TimesTen réteg transzparensen tudja ellátni a feladatát. Ezt ugyancsak a Cache Connect funkcióval valósították meg. Érdekessége a dolognak, hogy összesen 10 mérnöknap ráfordítással értek el átlagosan 3x sebesség növekedést. Természetesen további ráfordítással és fejlesztéssel a sebesség tovább növelhető.&lt;br /&gt;Az előadás végén még megemlítésre kerültek a TimesTen további alkalmazási területei, mint például a Call Center-ek (azonnali hibafeloldás), telekommunikáció (sms nyugtázás), banki alkalmazások (gyorsabb adathozzáférés).&lt;br /&gt;&lt;br /&gt;A másik TimesTen előadást &lt;span style="font-weight: bold;"&gt;Mészáros András&lt;/span&gt; (Allround Informatikai Kft.) tartotta &lt;span style="font-weight: bold;"&gt;A TimesTen lehetőségei a Magyar Telekom mobil árazó rendszerében&lt;/span&gt; címmel. Az előadó arról számolt be, hogy a TimesTennel milyen eredményeket lehet elérni ezen  területen. Ez egy tanulmány ismertetése volt, a megvalósítás még várat magára. Szó volt a számlázó rendszer architektúrájáról, komponenseiről és hogy mihez érdemes hozzányúlni ahhoz, hogy teljesítmény növekedést érjenek el. Megemlítette a tervezési döntéseket is, valamint az elvárásokat a fejlesztéssel kapcsolatban. Az előadás végén összefoglalta a vizsgálat menetét és a mérések eredményeit. Természetesen megéri elvégezni az átalakítást a TT felhasználásával. Az előadó megemlítette, hogy a várt eredményeken túl egy pozitív észrevételük is volt, mégpedig, hogy még kedvezőtlen helyzetben is nagyon gyors volt ez  megoldás. A mérések alapján jó választás.&lt;br /&gt;&lt;br /&gt;Ezeken kívül természetesen még sok előadást meghallgattam a három nap alatt, azonban nem sikerült megszerettetnem magammal a &lt;span style="font-weight: bold;"&gt;Business Intelligence&lt;/span&gt; témát. Pedig én megpróbáltam. Összesen három ilyen témájú előadást hallgattam végig, de kivétel nélkül mindnek a vége felé már kapartam a falat. Volt amelyikről ki kellett jönnöm. Na de mindegy.&lt;br /&gt;Összességében &lt;span style="font-weight: bold;"&gt;nagyon hasznos volt a konferencia&lt;/span&gt; és örülök, hogy elmehettem. Remélem jövőre is részt vehetek, talán már a másik oldalon...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-8357782361452946824?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/8357782361452946824/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=8357782361452946824' title='6 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/8357782361452946824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/8357782361452946824'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/04/houg-2008.html' title='HOUG 2008'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-608373908759673915</id><published>2008-04-02T23:47:00.001+02:00</published><updated>2008-04-03T10:37:58.337+02:00</updated><title type='text'>Tervezés és fejlesztés a teljesítmény nevében - Rendszer architektúra</title><content type='html'>&lt;h2&gt;Rendszer architektúra&lt;/h2&gt;  &lt;h3&gt;Hardver és szoftver komponensek&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Hardver&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Egy rendszer hardver elemeit érdemes úgy méretezni, mint ahogy egy hídépítő mérnök tervezi a hidat. Mivel a költségekkel mindig számolni kell, ezért nem érdemes bizonyos részeit a legjobb és legdrágább anyagokból építeni, míg más részeit olcsóbb, és így gyengébb elemekből. A híd teherbírása a leggyengébb rész teherbírása lesz. Sokkal erősebb hidat lehet építeni, ha valamiféle egyensúlyt keresünk az egyes részek minősége között, és próbáljuk ezt egymáshoz közel tartani és a költségeket ennek megfelelően minimalizálni.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Egy számítógépes rendszer tervezésénél is pontosan ez a helyzet. Törekedni kell tehát az egyensúlyra és úgy méretezni leendő rendszerünket.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Az alapvető hardver komponensek:&lt;/p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;Processzor&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Memória&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;I/O      alrendszer&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Hálózat&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Szoftver&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Úgy, mint a számítógépeknek is vannak közös hardver elemei a szoftvereknek is vannak funkcionálisan közös elemeik. Ha az alkalmazásokat szétválasztjuk funkcionális elemekre, jobban megértjük ezek működését.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A legtöbb alkalmazás tartalmazza az alábbi komponenseket:&lt;/p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;Felhasználói      felület&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Üzleti      logika&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Felhasználói      kérések és erőforrás foglalás&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Adat      és tranzakció kezelés&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;i style=""&gt;Felhasználói felület&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A felhasználó ezen a felületen keresztül kommunikál a programmal.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Feladatai:&lt;/p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;Kép      megjelenítése&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Adatgyűjtés      és kézbesítés az üzleti logikai rétegnek&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Bejegyzéseket      érvényesíti&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Navigál      az alkalmazás állapotai között&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;i style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;i style=""&gt;Üzleti logika&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Az alapvető logikai egység. Ettől függ, hogy az alkalmazás milyen feladatot lát el. Ha ebben hiba van, annak helyreállítása nagyon költséges is lehet. Procedurális és deklaratív részek alkotják.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Feladatai:&lt;/p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;Adatmodell      átültetése relációs sémába&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Kényszerek      definiálása a relációs sémában&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Az      üzleti logika megvalósítása függvények segítségével&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;i style=""&gt;Felhasználó kérések és erőforrás foglalás&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ez a komponens minden alkalmazásban szerepel. Egy több felhasználós rendszerben az erőforrás foglalást elvégzi az adatbázis szerver, vagy az operációs rendszer. Azonban nagyon nagy alkalmazás esetén a rendszer tervezőjének meg kell bizonyosodnia, hogy nagy terhelés esetén is garantálható a normális működés.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Az ide tartozó feladatok:&lt;/p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;Adatbázis-kapcsolat      kezelése&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Lekérdezések      végrehajtása&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Kliensek      kezelése&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Egyensúlyban      tartani a felhasználói kéréseket a hardver erőforrások függvényében&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;i style=""&gt;Adat és alkalmazás kezelés&lt;o:p&gt;&lt;/o:p&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ezért főleg az adatbázis szerver és az operációs rendszer felelős.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Feladatok:&lt;/p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;Egyidejű      adathozzáférés garantálása zárak és tranzakciók segítségével&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Optimalizált      adathozzáférés indexek és cache segítségével&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Gondoskodni      az adatmódosítások logolásáról&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;Érvényesíteni      az adatokra vonatkozó szabályokat&lt;/li&gt;&lt;/ul&gt;  &lt;h3&gt;A szükségleteknek megfelelő helyes rendszer-architektúra beállítása&lt;/h3&gt;  &lt;p class="MsoNormal"&gt;Meghatározni a helyes rendszer architektúrát nem egyszerű feladat. Sokszor többször át kell gondolni a tervezés különböző fázisaiban. Alapvetően megkülönböztetünk interaktív (pl. árusító rendszerek, email szerverek, web alapú alkalmazások…) és processz alapú (pl. csalás detektáló rendszer, direct mail) rendszert. A legtöbb esetben ez utóbbit könnyebb fejleszteni, mert itt hiányzik a felhasználói felület. Azonban itt a feladat is nehezebb, mert a célok nem annyira tiszták, mint egy felhasználói igényeket kielégítő rendszerben. A tervező mérnökök nincsenek hozzászokva nagy adatmennyiségek kezeléséhez.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A rendszer architektúra meghatározása nem tartozik a determinisztikus dolgok közé. Ahhoz, hogy valaki jó tervező mérnökké váljon, rengeteg tapasztalatra van szükség. Azonban álljon most itt néhány kérdés, melyek megválaszolása elősegítheti a helyes architektúra kialakítását.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Elsődleges kérdések:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Hány felhasználó fogja használni a      rendszert?&lt;br /&gt;    &lt;/b&gt;Majdnem minden alkalmazás besorolható az alábbi kategóriák egyikébe.&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal" style="margin-left: 53.4pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Nagyon kevés felhasználó egy keveset használt számítógépen&lt;br /&gt;&lt;i style=""&gt;Ez általában egy felhasználót jelent. A tervezésnél a fő szempont az, hogy ez az egy felhasználó a lehető legjobb hatékonysággal tudja használni az alkalmazást, minimális válaszidővel. Ezeknek az alkalmazásoknak a felhasználói ritkán zavarják egymást és az erőforrás ütközések is minimálisak.&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 53.4pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Közepesen sok és sok felhasználó egy vállalati, osztott alkalmazásban&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;i style=""&gt;Ebben az esetben a felhasználók száma limitált és megjósolható, például egy vállalat alkalmazottai. Azonban a megbízhatóság döntő szempont a tervezésnél. A felhasználók közös erőforrást használnak, így nagy terhelésnél is fontos a válaszidő kordában tartása.&lt;/i&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 53.4pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="font-family:Symbol;"&gt;&lt;span style=""&gt;·&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;        &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Megszámolhatatlan felhasználó fér a rendszerhez az interneten keresztül&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;i style=""&gt;Ennél az alkalmazástípusnál fontos a mérnöki hozzáértés, mert gondosan meg kell tervezni az erőforrások elosztását. Ha elfogy valamelyik hardverkomponens tartaléka, akkor könnyen kialakulhat ’bottleneck’, ami a rendszer instabilitásához vezethet. Az ilyen alkalmazásokhoz szükséges terhelés kiegyenlítés, állapotmentes alkalmazás szerver, és hatékony adatbázis kapcsolat menedzsment.&lt;/i&gt;&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Milyen lesz a felhasználói hozzáférés?&lt;br /&gt;    &lt;/b&gt;A felhasználói felület megválasztása a web-alapú technológiáktól      egészen a saját kliens programig.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Hol vannak a felhasználók?&lt;br /&gt;    &lt;/b&gt;A felhasználók közötti távolság szabja meg bizonyos esetekben, hogy      mennyi lehet a késleltetési idő. De a felhasználók helye még azt is      befolyásolhatja, hogy melyik napszakban legyen a karbantartás, és mikor      legyen feltétlenül elérhető.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Mekkora a hálózati sebesség?&lt;br /&gt;    &lt;/b&gt;A hálózati sebesség nagyban befolyásolja azt, hogy mennyi adatot      célszerű küldeni egyszerre a felhasználói felület és az adatbázis szerver      között. Ha lassú a sebesség, akkor nem érdemes minden egyes új információt      átküldeni, hanem csak tömbösítve, mert akkor nem lesz szétdarabolt a      bevitel. Ha pedig gyors a hálózati elérés, amit használunk, akkor      megoldható az, hogy a szerver gyorsan reagáljon minden bevitelre.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Mennyi adathoz férhet hozzá egy      felhasználó és ebből mennyi csak olvasható?&lt;br /&gt;    &lt;/b&gt;A lekérdezett adatmennyiség kihat a tervezési döntésekre. A tervezőnek      meg kell bizonyosodni róla, hogy a válaszidő az adatbázis méretétől nem      függ. Ha az alkalmazás jórészt csak lekér adatokat, akkor az      adatreplikáció és adat elosztás egy jó megoldás a fő szerver      tehermentesítésére (terhelés megosztás).&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Mekkora a maximális megengedhető      válaszidő?&lt;br /&gt;    &lt;/b&gt;Ezt felhasználója válogatja. El kell döntenünk, hogy aki használni      fogja a rendszert, annak milliszekundumos válaszidőre van szüksége, vagy      elegendő akár másodperces nagyságrend is.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Szükség van-e napi 24 órás elérésre?&lt;br /&gt;    &lt;/b&gt;Az internetről is elérhető rendszerek számára ez kötelező. Azonban a      vállalati rendszerek, melyek csak egy időzónában működnek, elegendőek csak      a munkaidő alatt elérhetőnek lenniük. A maradék időben pedig el lehet      rajtuk végezni a karbantartási munkákat és átkonfigurálásokat.&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Minden változtatást valós időben kell      elvégezni?&lt;br /&gt;    &lt;/b&gt;Fontos a tervezéskor eldöntenünk, hogy a felhasználó által kért      változtatásokat azonnal végre kell hajtanunk, vagy ráér esetleg később is,      aszinkron módon.&lt;/li&gt;&lt;/ul&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Másodlagos kérdések:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;ul style="margin-top: 0cm;" type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Mekkora lesz az adatbázis?&lt;br /&gt;    &lt;/b&gt;Az adatbázis mérete határozza meg a szerver gép erőforrásait. Az olyan      szerver, amin nagy adatbázist használunk egy kicsivel nagyobb gépet      igényel, mint amekkorára feltétlenül szüksége lenne. Ez azért van, mert az      adminisztrációs folyamatok végrehajtási ideje nagyban függ az adatbázis      méretétől. Ha nincs elegendő plusz erőforrás, akkor ezek a műveletek      nagyon hosszúra is nyúlhatnak.&lt;b style=""&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Mennyi a szükséges teljesítmény egy      művelethez?&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Mik a rendelkezésre állási      szükségletek?&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/li&gt;&lt;li class="MsoNormal" style=""&gt;&lt;b style=""&gt;Milyen kompromisszumokat tudunk kötni,      ha finanszírozási megszorítások lennének?&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/toc.htm"&gt;Forrás&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-608373908759673915?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/608373908759673915/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=608373908759673915' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/608373908759673915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/608373908759673915'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/04/tervezs-s-fejleszts-teljestmny-nevben_269.html' title='Tervezés és fejlesztés a teljesítmény nevében - Rendszer architektúra'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-6298907686570529222</id><published>2008-04-02T23:40:00.003+02:00</published><updated>2008-04-03T10:38:21.695+02:00</updated><title type='text'>Tervezés és fejlesztés a teljesítmény nevében - Skálázhatóság</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Skálázhatóság&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Mit hívunk skálázhatóságnak?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;A skálázhatóság egy rendszerképesség, mely azt mondja meg, hogy ha növeljük a folyamat által felhasználható fizikai erőforrások számát, akkor a rendszer mennyivel több terhelést bír el. Ha például egy skálázható rendszerben kétszeresére növeljük a munkaterhelést, akkor az erőforrás felhasználás is a kétszeresére növekszik. Ez nyilvánvalónak tűnik, azonban egy nem skálázható rendszerben ez nem így van, mert ott a terhelés növelése megsokszorozhatja az erőforrás szükségleteket. Az okok a következők lehetnek: megnövekedett zárhasználat, operációs rendszer terhelése, rosszul megtervezett lekérdezések és indexek növelhetik az I/O műveletek hosszát… Azonban az is okozhatja a lassulást, hogy elfogyott a memória, vagy lemezterület, a hálózati kapcsolat sebessége nem tudja kielégíteni az igényeket, vagy akár annyi folyamatot indítunk (és memóriát foglalunk számukra), hogy az operációs rendszer nem tudja kezelni őket.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;A rendszer skálázhatósága&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Napjaink legtöbb adatbázis rendszerének meg kell felelnie annak a követelménynek, hogy a nap 24 órájában elérhető legyen az interneten. Ha kezdetben egy kisebb rendszert is tervezünk, szem előtt kell tartani azt is, hogy később szükség lehet jóval nagyobb munkaterhelést is elbírnia. Tehát jól skálázhatónak kell lennie a kezdetektől fogva. Ha erre nem szentelünk elegendő figyelmet, akkor a későbbiekben szembesülhetünk azzal a problémával, hogy a megnövekedett igények miatt újra kell tervezni a teljes rendszert, ami az üzleti világban nem biztos, hogy megmagyarázható lépés. Egy rendszer áttervezése miatti leállás költsége elérheti egy rendszer teljes fejlesztésének költségeit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Skálázottságot befolyásoló tényezők&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Egy rendszer megtervezésénél és megépítésénél a szakemberek mindig arra törekednek, hogy a lehető legjobb legyen a skálázhatóság. Ez optimális esetben lineáris skálázhatóságot jelent, vagyis a processzorok duplázásával duplájára nő a terhelhetőség is. Ez azonban elérhetetlen.&lt;br /&gt;Az alábbiakban összefoglaljuk, hogy melyek azok a tényezők, melyek a leginkább befolyásolják a rendszer skálázhatósági képességét.&lt;br /&gt;&lt;br /&gt;• Gyenge alkalmazás tervezés, implementáció és konfiguráció.&lt;br /&gt;(Az alkalmazásnak van a legnagyobb hatása a skálázhatóságra.)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Gyenge adatbázisséma tervezésből adódó drága SQL lekérdezések.&lt;/li&gt;&lt;li&gt;Gyengén megtervezett tranzakciók okozhatnak zárolási és sorosítási problémákat.&lt;/li&gt;&lt;li&gt;Gyengén megtervezett hálózati kapcsolat okozhat nagy válaszidőket és nem megbízható     működést.&lt;/li&gt;&lt;/ul&gt;Azonban nem csak a tervezés okozhat gondot, hanem az alkalmazás gyenge implementációja is:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Rosszul implementál I/O stratégia.&lt;/li&gt;&lt;li&gt;Éles környezetben megváltozhat a végrehajtási terv a tesztkörnyezethez képest.&lt;/li&gt;&lt;li&gt;Nagy memória-igényű alkalmazások nem fordítanak elegendő figyelmet a nem használt memória felszabadítására.&lt;/li&gt;&lt;li&gt;Nem hatékony memória használat okozhat gondokat a virtuális-memória kezelésben. Ez hatással van a teljesítményre és hozzáférhetőségre.&lt;/li&gt;&lt;/ul&gt;• Hibásan méretezett hardver komponensek&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Napjaink hardver árai kisebbek, mintsem azzal foglalkozzunk, hogy megvegyük-e még ezt az 1Gb RAM-ot a 10Gb-os rendszerünkbe vagy sem. Azonban a túl nagy hardver kapacitás elfedheti a skálázhatósági problémákat, így csak később vesszük észre azokat, mikor már nagyobb gondot okozhatnak.&lt;/li&gt;&lt;/ul&gt;• Hardver komponensek korlátozása&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A hardver nem tökéletesen skálázható. A legtöbb multiprocesszoros gép közel lineárisan skálázódik, azonban egy meghatározott processzorszám után a növekedés ugyan összességében folytatódik, de arányaiban nem annyival, mint eddig. Ha tovább növeljük, akkor pedig elérünk oda, ahol a teljesítmény növekedés megtorpan, sőt vissza is esik. Ez  a viselkedés nagyban függ a munkaterheléstől és az operációs rendszer beállításaitól.&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/toc.htm"&gt;Forrás&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-6298907686570529222?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/6298907686570529222/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=6298907686570529222' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6298907686570529222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6298907686570529222'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/04/tervezs-s-fejleszts-teljestmny-nevben_1138.html' title='Tervezés és fejlesztés a teljesítmény nevében - Skálázhatóság'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-5193995172957481859</id><published>2008-04-02T23:38:00.001+02:00</published><updated>2008-04-02T23:40:14.229+02:00</updated><title type='text'>Tervezés és fejlesztés a teljesítmény nevében - Beruházási lehetőségek megértése</title><content type='html'>&lt;span style="font-weight: bold;font-size:130%;" &gt;Beruházási lehetőségek megértése&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Napjainkra a hardverek ára meglehetősen olcsó. Nem okoz gondot, ha a rendszerünk teljesítménye nem megfelelő, akkor vásároljunk még memóriát, vagy háttértárat, esetleg lecseréljük egy több processzort használó rendszerre. Azonban ez hosszútávon nem vezet jóra, mert a teljesítménycsökkenés okát nem szűnteti meg, ami a legtöbb esetben a nem megfelelő tervezésnek köszönhető. A rendszer kapacitásának növelése után, ha az alkalmazásunk tovább növekszik, akkor a probléma rövid időn belül újra jelentkezni fog,&lt;br /&gt;Vannak olyan esetek is, amikor további memória, háttértár beszerzése nem növeli a teljesítményt. Vásárlás előtt mindig érdemes átgondolni, hogy alkalmazásunkban minden folyamat a lehető legoptimálisabban működik-e. Az adatbázisunk sem futtat feleslegesen sok, erőforrást felemésztő műveletet. Hosszú távon sokkal hatékonyabb megoldás ezen hibák kigyomlálása.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/toc.htm"&gt;Forrás&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-5193995172957481859?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/5193995172957481859/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=5193995172957481859' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/5193995172957481859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/5193995172957481859'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/04/tervezs-s-fejleszts-teljestmny-nevben_1161.html' title='Tervezés és fejlesztés a teljesítmény nevében - Beruházási lehetőségek megértése'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-6330451895092264892</id><published>2008-04-02T23:34:00.003+02:00</published><updated>2008-04-02T23:40:37.541+02:00</updated><title type='text'>Tervezés és fejlesztés a teljesítmény nevében - Bevezetés, Oracle módszertan</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Bevezetés&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Optimális rendszerteljesítményt elérni nem könnyű. Ahhoz, hogy ez sikerüljön, már a tervezési fázisban is figyelembe kell venni teljesítmény specifikus szempontokat. Meg kell hozni olyan döntéseket, melyek a későbbiekben segíthetnek hangolni rendszerünket.&lt;br /&gt;&lt;br /&gt;Ez az összefoglaló segít megérteni a teljesítményre hatással lévő rendszerkomponensek óvatos kezelésének fontosságát. Megpróbál egy olyan körképet adni, aminek a segítségével tudatosabban fejleszthető egy rendszer a teljesítmény nevében.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Oracle módszertan&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A rendszer-teljesítmény napjainkban egyre fontosabb dolog, mert a számítógép rendszerek folyamatosan nőnek és egyre összetettebbeké válnak. Ehhez még az is hozzájárul, hogy az Internet egyre nagyobb szerepet játszik ebben, mert ezeket a komplex megoldásokat még össze is kapcsoljuk, így létrejőve még ennél is nagyobb bonyolultságú rendszer.&lt;br /&gt;&lt;br /&gt;Az Oracle mérnökei kialakítottak egy módszertant, melyet, ha figyelembe veszünk a tervezés és fejlesztés ideje alatt, akkor a végül sokkal jobb teljesítményt érhetünk el, mint ezt nélkülözve. Ez a leírás ismerteti ezeket az alapelveket.&lt;br /&gt;&lt;br /&gt;A teljesítmény-stratégiák hatékonysága különbözőek lehetnek attól függően, hogy milyen profilú rendszert építünk. Például egy operatív rendszernek más teljesítmény mutatókkal kell rendelkezni, mint egy döntést támogató adatbázis-rendszernek. Ez a módszertan segít összpontosítani azokra a területekre, melyeknél szükséges a nagy hatékonyság, a célokat figyelembe véve.&lt;br /&gt;&lt;br /&gt;A teljesítmény mindig egy konkrét rendszerre van hangolva, mely hardver és szoftver elemekből, erőforrásokból állnak. A teljesítménycsökkenés általában ezeknek az erőforrásoknak a kimerülése miatt következik be. Ha elfogyott valamely rendszerkomponens összes tartaléka, akkor a rendszer nem méretezhető tovább és visszaesik a teljesítmény is.&lt;br /&gt;&lt;br /&gt;Ez a módszertan figyel a teljesítmény maximalizálására. A tervezésnél nagy figyelmet fordít az erőforrásokkal való óvatos bánásmódra. A kész rendszernél pedig segít feltárni az erőforráshiányt vagy erőforrás-ütközést, hogy ezeket megszűntetve növelhessük rendszerünk teljesítményét.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/toc.htm"&gt;Forrás&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-6330451895092264892?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/6330451895092264892/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=6330451895092264892' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6330451895092264892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6330451895092264892'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/04/tervezs-s-fejleszts-teljestmny-nevben_02.html' title='Tervezés és fejlesztés a teljesítmény nevében - Bevezetés, Oracle módszertan'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-686289140092738767</id><published>2008-04-02T23:17:00.002+02:00</published><updated>2008-04-02T23:34:08.280+02:00</updated><title type='text'>Tervezés és fejlesztés a teljesítmény nevében</title><content type='html'>Az elmúlt időszakban nem voltam valami termelékeny, ám nem töltöttem az időm hasztalan. Mint korábban írtam, ebben a félévben az Oracle adatbázis teljesítmény kérdéseivel szeretnék foglalkozni. Ennek fényében egy kis Oracle architektúra gyorstalpalón vettem részt Nyárády Péternek köszönhetően, aki &lt;a href="http://oraoptimization.blogspot.com/"&gt;blogjában&lt;/a&gt; írt a témáról elég kimerítően. Ezek után a hivatalos &lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/toc.htm"&gt;Oracle Database Concepts&lt;/a&gt; dokumentációban lévő &lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28318/memory.htm#i12483"&gt;Memory architecture&lt;/a&gt; részt tanulmányoztam át.&lt;br /&gt;Péter javaslatára ezután a &lt;a href="http://download.oracle.com/docs/cd/B28359_01/server.111/b28274/toc.htm"&gt;Performance Tuning Guide&lt;/a&gt;-ot lapozgattam, melyből egy összeállítással is elkészültem. Ebben a félévben az irodalomfeldolgozáson kívül egy rendszertervet is össze kell állítani. Ehhez szeretnék segítséget nyújtani ezzel az összefoglalóval, melynek témája a címben is szereplő "Tervezés és fejlesztés a teljesítmény nevében". Még nem készültem el vele teljesen, de ami eddig formába van öntve, azt közzé teszem.&lt;br /&gt;Holnap (2008. április 3. csütörtök) a közös konzultáción az előadásom vezérvonala is ez a téma lesz, erről fogok beszélni. Remélem a rendszerterv megalkotásához segítséget tud majd nyújtani.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-686289140092738767?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/686289140092738767/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=686289140092738767' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/686289140092738767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/686289140092738767'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/04/tervezs-s-fejleszts-teljestmny-nevben.html' title='Tervezés és fejlesztés a teljesítmény nevében'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-6916130782722087948</id><published>2008-02-23T19:43:00.002+01:00</published><updated>2008-02-24T00:20:39.330+01:00</updated><title type='text'>Új lendület</title><content type='html'>Legutóbbi bejegyzésem óta elég sok idő telt el. Lezárult a vizsgidőszak, síeltem, elkezdeődött az új félév. Erre a rövid szünetre szükség volt, hogy átgondoljam milyen irányba folytassam az Önálló laboratóriumot. Marton József konzulensemmel több levelet is váltottam ez ügyben, és személyesen is leültünk megbeszélni, hogyan tovább. Több lehetőség közül választhattam, de a legszimpatikusabbnak azt tartottam, hogy erre a félévre kicsit félreteszem "pihenni" a TimesTen-t, de azért nem megyek olyan messzire a memóriára alapozott rendszerteljesítménytől, mert az Oracle11g memória kezelését, és konfigurálását fogom vizsgálni. Egészen pontosan azt fogom gorcső alá venni, hogy meghatározott típusú adatbázisterhelés mellett milyen SGA beállításokkal érhető el a legnagyobb teljesítmény.&lt;br /&gt;A jövőben ezt a témát és az előző félévben feldolgozott témát szeretném minél közelebb hozni egymáshoz. De ez még csak egy ötlet, addig még rengeteg midnen történhet.&lt;br /&gt;Ebben a félévben a labor már négyszer(8) annyi kreditet ér, mint az előzőben(2). Ennél fogja több munkára is szükség lesz, hogy az elvártaknak megfelelően teljesítsek. A konzulenseim hozzáállása is sokat változott ebben  félévben. Itt gondolok arra, hogy 3-heti rendszerességgel lesz közös konzultáció, ahol az Oracle technológiát feldolgozó társaság egy részének(mindig más) kell előadást tartania az elvégzett munkájáról.&lt;br /&gt;Mint az fent olvasható, a blogom címe is megváltozott. Ezentúl az "Éberhardt Péter Oracle blogja" címet viseli, mert már nem csak speciálisan TimesTen-nel kapcsolatos bejegyzések vannak benne, hanem sokkal áltlánosabb, Oracle-el kapcsolatos dolgok is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-6916130782722087948?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/6916130782722087948/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=6916130782722087948' title='4 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6916130782722087948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6916130782722087948'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/02/j-lendlet.html' title='Új lendület'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-2946294882666258185</id><published>2008-01-22T22:50:00.001+01:00</published><updated>2008-01-23T00:54:53.194+01:00</updated><title type='text'>Triggerek</title><content type='html'>Múlt héten kaptam egy feladatot a munkahelyemen, amit úgy gondoltam, hogy egy trigger elkészítésével tudom a legegyszerűbben és leghatékonyabban megoldani. Ez pont jó alkalom volt arra, hogy kicsit közelebbről is megismerkedjek vele. Az eseménygyűjtő rendszerünk egy Microsoft SQL Server 2005 adatbázisra épül, így a T-SQL nyelvet kellett használnom.&lt;br /&gt;Álljon itt egy áttekintés a triggerekről, melyeket megpróbálok rendszertől függetlenül bemutatni. Természetesen kitérek a Microsoft által használt T-SQL és az Oracle által használt PL/SQL közötti szintektikai és szemantikai különbégekre, valamint szó lesz a TimesTen és a triggerek kapcsolatáról is.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Trigger&lt;/span&gt;&lt;br /&gt;A trigger nem más, mint egy tárolt eljárás, melynek lefutását egy esemény vált ki. Az események típusa szerint háromféle trigger létezik. DML(Data Manipulation Language), DDL(Data Definition Language), logon trigger.&lt;br /&gt;DML trigger akkor aktiválódik, ha valamilyen DML esemény történik. Ilyen események az INSERT, UPDATE vagy DELETE , melyeket táblákon vagy nézeteken hajthatunk végre.&lt;br /&gt;DDL trigger akkor aktiválódik, ha DDL esemény történik. DDL események a CREATE, ALTER, DROP műveletek végrehajtása.&lt;br /&gt;A logon trigger akkor tüzel, ha valamilyen LOGON esemény történik.&lt;br /&gt;Egy trigger egy esemény előtt, helyett vagy után futhat le. Ennek a  segítségével jóval összetettebb megszoírtásokat készíthetünk az adatbázisunkhoz, így növelve a biztonságot és a megbízhatóságot.&lt;br /&gt;Ha például az adatbázisunkban csak olyan eseményeket szetnénk tárolni, melyek nem öregebbek 1 évnél, akkor ezt egy helyettesítő triggerrel szűrhetjük. Csak azt az adatot engedjük beilleszteni, melynek időpontja 1 évnél fiatalabb.&lt;br /&gt;A triggerek logikailag az adattáblákhoz tartoznak. Egy táblához és egy eseményhez tőbb trigger is tartozhat, azonban ezeknek a tüzelési sorrendje nem meghatározható.&lt;br /&gt;A trigger által generált visszatérési értékek, pl. egy SELECT utasítás eredménye a sikeres lefutás után átadódik a kiváltó eseménynek, mely úgy kezeli, mintha az ővé lenne. Ha azt szeretnénk, hogy ez ne jelenjen meg, akkor a trigger elején be kell állítani a NOCOUNT-ot ON-ra. (SET NOCOUNT ON) Ezzel természetesen szelektálhatunk, hogy mi az az érték, amire szükségünk van, és mi az, a mire nincs.&lt;br /&gt;Rendelkezésünkre áll két átmeneti tábla a triggerben. Az egyik az INSERTED, a másik a DELETED. Az INSERTED táblába kerülnek az új értékek, ha INSERT, vagy UPDATE művelet hatására fut le a trigger. A DELETED táblában pedig a régi adatok lesznek, melyek DELETE vagy UPDATE hatására töltődnek be.&lt;br /&gt;Trigger létrehozása. Csak a legalapvetőbb beállításokat mutatom be, bővebben itt lehet róluk olvasni:&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms189799.aspx"&gt;T-SQL CREATE TRIGGER&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.acs.ilstu.edu/docs/Oracle/server.101/b10759/statements_7004.htm"&gt;PL/SQL CREATE TRIGGER&lt;/a&gt;&lt;br /&gt;A két esetben a szintaxis majdnem ugyan az. Én a T-SQL -t használva mutatom meg egy trigger&lt;br /&gt;létrehozását.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;DML&lt;/span&gt; trigger készítése:&lt;br /&gt;&lt;pre class="code" id="ctl00_rs1_mainContentContainer_ctl06other" space="preserve"&gt;CREATE TRIGGER [ schema_name . ]trigger_name&lt;br /&gt;ON { table | view }&lt;br /&gt;[ WITH &lt;dml_trigger_option&gt; [ ,...n ] ]&lt;br /&gt;{ FOR | AFTER | INSTEAD OF }&lt;br /&gt;{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }&lt;br /&gt;AS { sql_statement  [ ; ] [ ,...n ] | EXTERNAL NAME &lt;method&gt; }&lt;/method&gt;&lt;/dml_trigger_option&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre class="code" id="ctl00_rs1_mainContentContainer_ctl06other" space="preserve"&gt;[ schema_name . ] - a schema, melyben az adattáblánk is&lt;br /&gt;     szzerepel trigger_name - általunk&lt;br /&gt;     megadott trigger név&lt;br /&gt;ON { table | view } - megadjuk, hogy melyik táblához,&lt;br /&gt;       vagy nézethez akarjuk létrehozni&lt;br /&gt;       a triggert&lt;br /&gt;&lt;dml_trigger_option&gt; ::= [ ENCRYPTION ] - ennek segítségével meggátolhatjuk,&lt;br /&gt;       hogy ha az adatbázis replikálják,&lt;br /&gt;       akkor ez a trigger ne kerüljön át&lt;br /&gt;[ EXECUTE AS Clause ] - lehetőségünk van a triggert egy&lt;br /&gt;  meghatározott felhasználó nevében&lt;br /&gt;  futtatni&lt;br /&gt;FOR - a trigger a kiváltó esemény előtt fut le&lt;br /&gt;AFTER -  a trigger a kiváltó esemény után fut le&lt;br /&gt;INSTEAD OF - a trigger a kiváltó esemény helyett fut le&lt;br /&gt;INSERT|UPDATE|DELETE - kiválaszthatjuk, hogy milyen&lt;br /&gt;        eseményre triggereljünk, tetszőleges&lt;br /&gt;        kombináció előállítható&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;AS sql statement - az AS utáni rész maga a trigger feltétel&lt;br /&gt;   teljesülése esetén végrehajtandó rész&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; ha&lt;br /&gt;   több műveletből áll, akkor BEGIN .. END&lt;br /&gt;   közé kell rakni&lt;br /&gt;&lt;br /&gt;Pl.:&lt;br /&gt;use teszt_db&lt;br /&gt;CREATE TRIGGER ins_trigger&lt;br /&gt;ON tabla1&lt;br /&gt;INSTEAD OF INSERT&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt;IF ((SELECT id FROM inserted)&gt;10) INSERT INTO tabla1 (id, nev)&lt;br /&gt;VALUES (SELECT id, nev FROM inserted)&lt;br /&gt;END&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:times new roman;"&gt;Rövid magyarázat: Ez a trigger csak abban az esetben engedi beillszteni&lt;br /&gt;az új sort, ha az "id" &gt; 10.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;A DDL- és logon-trigger létrehozása nagyon hasonló felépítésű a DML-&lt;br /&gt;hez, csak ott nem a táblához, hanem egy adatbázishoz vagy szerverhez&lt;br /&gt;rendeljük hozzá a triggert és helyettesítés nincsen.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;Érdekes kérdés, hogy egy többsoros INSERT esetében mi történik. A&lt;br /&gt;trigger csak egyszer hívódik meg, vagy minden sorra külön külön. Na&lt;br /&gt;itt különbség van a PL/SQL és T-SQL között. A PL/SQL-ben lehetőség&lt;br /&gt;van megadni, hogy többsoros INSERT esetén a trigger soronként tüzeljen,&lt;br /&gt;míg T-SQL esetében erre nincs mód.&lt;br /&gt;Ennek a korántsem teljes beszámolónak a végén meg kell még említenem,&lt;br /&gt;hogy a TimesTen-ben nincs lehetőség triggerek létrehozására. Ennek&lt;br /&gt;az lehet az oka, hogy triggerek kezelése nagyon megbonyolítaná a&lt;br /&gt;tudatosan leegyszerűsített működést.&lt;br /&gt;&lt;br /&gt;Pár hasznos link:&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms189799.aspx"&gt;MSDN - CREATE TRIGGER (T-SQL)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://hu.wikipedia.org/wiki/Trigger_%28adatb%C3%A1zisok%29"&gt;hu.wikipedia.org - trigger&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Database_trigger"&gt;wikipedia.org - trigger&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.psoug.org/reference/table_trigger.html"&gt;psoug.org - jó példák tipikus alkalmazásokra (PL/SQL)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/dml_trigger_option&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-2946294882666258185?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/2946294882666258185/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=2946294882666258185' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/2946294882666258185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/2946294882666258185'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/01/triggerek.html' title='Triggerek'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-2800442863146482339</id><published>2008-01-19T12:46:00.000+01:00</published><updated>2008-01-19T15:18:47.713+01:00</updated><title type='text'>Oracle Blogger Dinner</title><content type='html'>Lezajlott az első &lt;span style="font-weight: bold;"&gt;Oracle Blogger Dinner&lt;/span&gt;, melyet Sárecz Lajos szervezett. A találkozó lényege az volt, hogy azok az emberek, akik ma Magyarországon blogot írnak valamilyen Oracle technológia témában, azok személyesen is találkozhassanak. 2007 őszéig összesen két ilyen blog létezett, melyet Izsák Tamás ír Oracle Application Express témában(&lt;a href="http://www.apexblog.hu"&gt;apexblog.hu&lt;/a&gt;), valamint Darvas Tamás OracleDBA témában(&lt;a href="http://oracle.blog.hu/"&gt;OracleDBA&lt;/a&gt;). Az előző(őszi) félévben viszont a bloggerek száma megsokszorozódott, mivel az Önálló Labor keretein belül az Oracle technológiát választóknak feladatuk volt az is, hogy munkájukról blogot készítsenek, hogy ezzel tájékoztassák konzulensüket és az érdeklődőket - itt elsősorban az Oracle Hungary kapcsolattartójára gondolok, Sárecz Lajosra. Ez a blog is ennek köszönheti létét. Összesen körülbelül a félév során 16 blog működött aktívan melynek összetétele 2 "öreg motorosból" (Izsák Tamás és Darvas Tamás), 13 TMIT(Távközlési és Médiainformatikai Tanszék) hallgatóból és 2 AUT(Automatizálás és Alkalmazott Informatikai Tanszék) hallgatóból állt.&lt;br /&gt;A találkozó előtt Sárecz Lajos megkért, hogy tartsak egy rövid beszámolót a félév során szerzett TimesTen tapasztalataimról. Így a többiek is megismerkedhetnek más Oracle technológiákkal, nem csak azzzal, amivel ők maguk foglalkoztak.&lt;br /&gt;Az első  Oracle Blogger Dinner-en körülbelül 8-10-en jelentünk meg. Ez számomra meglepő volt, mert azt hittem, hogy ezt a lehetőséget senki nem hagyja ki. Bár gondolom azok, akik nem jöttek el, biztos más elfoglaltságuk akadt, ami fontosabb volt.&lt;br /&gt;Az összejövetel címe vagy neve egy kis magyarázatra szorul. Oracle Blogger Dinner. Az Oracle az egyértelmű. Szerintem a Blogger is. Ez a kettő már igazából meghatározza azt a közösséget, akinek szól ez az egész. A Dinner pedig csak arra utal, hogy miközben találkozunk, pizzát eszünk. :) A találkozó pontosabb címe az lehetne, hogy Oracle Blogger Pizza Meeting. De ez nagyon viccesen hat és elveszíti minden komolyságát az ügy. Így sokkal hivatalosabban fest a Dinner. Szóval Oracle Blogger Dinner.&lt;br /&gt;Az összejövetel bemutatkozással kezdődött kerekasztal formájában. Mindenkinek el kellett mondania, hogy mi motiválta, hogy Oracle termékkel foglalkozzon az ÖnállóLabor keretein belül. Valamint arról is kellett beszélnie, hogy mi a véleménye a blogírásról. Van-e haszna, vagy abszolút hülyeség.&lt;br /&gt;A beszélgetés nagyon jó hangulatban zajlott, mindenki kifejthette a véleményét a témával kapcsolatban.&lt;br /&gt;A találkozó második fele pizzázással és előadással telt, melyet én tartottam a TimesTen memória adatbázisokról. Azt hiszem sikerült megértetnem a technológia jelentőségét és lényegét. Azt, hogy a hallgatóság mennyire unatkozott, azt nem tudom, de a végén kapott kérdésekből arra következtetek, hogy azért valamennyire figyeltek.&lt;br /&gt;A találkozó bő két órán át tartott, ami alatt azt hiszem senki nem unatkozott. Ha mégis, akkor remélem a pizza valamennyire lekötötte a figyelmét. :D Megegyeztünk, hogy a következő, azaz a második Oracle Blogger Dinner negyed év múlva kerül megrendezésre. Akkor is lesz (remélem) pizza, eszmecsere és előadás, melyet ha jól emlékszem Tóth László és Szabó Gergely tart a .NET és OracleDB kapcsolatáról.&lt;br /&gt;&lt;br /&gt;A magyar Oracle blogok listája, melyet Sárecz Lajos gyűjtött össze:&lt;br /&gt;&lt;span&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;&lt;a href="http://gyurak.blog.hu/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://gyurak.blog.hu/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://oraclefarkas.blog.hu/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;&lt;script&gt;&lt;!-- D(["mb","http://oraclefarkas.blog.hu/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://vasvari.blog.hu/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://vasvari.blog.hu/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://bozsik.blog.hu/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://bozsik.blog.hu/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://sumeghy-onlab.blog.hu/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://sumeghy-onlab.blog.hu/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://benyo-oracle.blogspot.com/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://benyo-oracle.blogspot\u003cWBR\u003e.com/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://bblog.notice.hu/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://bblog.notice.hu/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://pglabor.blogspot.com/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://pglabor.blogspot.com/\u003c/a\u003e \u003cbr\u003e\u003ca href\u003d\"http://rai-labor.blog.hu/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://rai-labor.blog.hu/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://orabusiness.blogspot.com/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://orabusiness.blogspot\u003cWBR\u003e.com/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://oraoptimization.blogspot.com/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://oraoptimization.blogspot\u003cWBR\u003e.com/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://www.apexblog.hu\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://www.apexblog.hu\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://eptentimes.blogspot.com/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://eptentimes.blogspot.com/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://oracle-with-dotnet.blogspot.com/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://oracle-with-dotnet\u003cWBR\u003e.blogspot.com/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://oracleondotnet.blogspot.com/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003ehttp://oracleondotnet.blogspot\u003cWBR\u003e.com/\u003c/a\u003e\u003cbr\u003e\u003ca href\u003d\"http://oracle.blog.hu/\" target\u003d\"_blank\" onclick\u003d\"return top.js.OpenExtLink(window,event,this)\"\u003e",1] );  //--&gt;&lt;/script&gt;http://oraclefarkas.blog.hu/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://vasvari.blog.hu/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://vasvari.blog.hu/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bozsik.blog.hu/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://bozsik.blog.hu/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sumeghy-onlab.blog.hu/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://sumeghy-onlab.blog.hu/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://benyo-oracle.blogspot.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://benyo-oracle.&lt;span id="st" name="st" class="st"&gt;blogspot&lt;/span&gt;&lt;wbr&gt;.&lt;span id="st" name="st" class="st"&gt;com&lt;/span&gt;/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bblog.notice.hu/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://bblog.notice.hu/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://pglabor.blogspot.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://pglabor.&lt;span id="st" name="st" class="st"&gt;blogspot&lt;/span&gt;.&lt;span id="st" name="st" class="st"&gt;com&lt;/span&gt;/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://rai-labor.blog.hu/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://rai-labor.blog.hu/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://orabusiness.blogspot.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://orabusiness.&lt;span id="st" name="st" class="st"&gt;blogspot&lt;/span&gt;&lt;wbr&gt;.&lt;span id="st" name="st" class="st"&gt;com&lt;/span&gt;/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://oraoptimization.blogspot.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://oraoptimization.&lt;span id="st" name="st" class="st"&gt;blogspot&lt;/span&gt;&lt;wbr&gt;.&lt;span id="st" name="st" class="st"&gt;com&lt;/span&gt;/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.apexblog.hu/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://www.apexblog.hu&lt;/a&gt;&lt;br /&gt;&lt;a href="http://eptentimes.blogspot.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://&lt;span id="st" name="st" class="st"&gt;eptentimes&lt;/span&gt;.&lt;span id="st" name="st" class="st"&gt;blogspot&lt;/span&gt;.&lt;span id="st" name="st" class="st"&gt;com&lt;/span&gt;/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://oracle-with-dotnet.blogspot.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://oracle-with-dotnet&lt;wbr&gt;.&lt;span id="st" name="st" class="st"&gt;blogspot&lt;/span&gt;.&lt;span id="st" name="st" class="st"&gt;com&lt;/span&gt;/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://oracleondotnet.blogspot.com/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://oracleondotnet.&lt;span id="st" name="st" class="st"&gt;blogspot&lt;/span&gt;&lt;wbr&gt;.&lt;span id="st" name="st" class="st"&gt;com&lt;/span&gt;/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://oracle.blog.hu/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;&lt;script&gt;&lt;!-- D(["mb","http://oracle.blog.hu/\u003c/a\u003e\u003cbr\u003e\u003c/font\u003e\u003c/span\u003e\u003c/div\u003e\u003cfont face\u003d\"Arial\" size\u003d\"2\"\u003e\u003c/font\u003e\u003cfont face\u003d\"Arial\" size\u003d\"2\"\u003e\u003c/font\u003e\n\u003cdiv\u003e\u003cspan\u003e\u003c/span\u003e\u003cfont face\u003d\"Arial\"\u003e\u003cfont size\u003d\"2\"\u003eÜ\u003cspan\u003edvözlettel!\u003c/span\u003e\u003c/font\u003e\u003c/font\u003e\u003c/div\u003e\n\u003cdiv\u003e\u003cfont\u003e\u003cfont size\u003d\"2\"\u003e\u003cspan\u003e\u003c/span\u003e\u003c/font\u003e\u003c/font\u003e\u003cspan\u003e\u003c/span\u003e\u003cfont face\u003d\"Arial\"\u003e\u003cfont size\u003d\"2\"\u003eS\u003cspan\u003eárecz Lajos\u003c/span\u003e\u003c/font\u003e\u003c/font\u003e\u003cbr\u003e\u003cbr\u003e\u003cimg height\u003d\"26\" alt\u003d\"Oracle Email Signature Logo\" width\u003d\"114\"\u003e\u003cbr\u003e\u003cfont face\u003d\"Verdana, Arial, Helvetica, sans-serif\" color\u003d\"#666666\" size\u003d\"2\"\u003eLajos Sárecz | Senior Sales Consultant | T +36 1 2241789 | M +36 30 \n9967420\u003cbr\u003e\u003cfont color\u003d\"#ff0000\"\u003eOracle\u003c/font\u003e Hungary\u003cbr\u003eAlkotás u. 17-19. \n\u003c/font\u003e\u003c/div\u003e\n\u003cdiv\u003e\u003cfont face\u003d\"Verdana\" color\u003d\"#666666\" size\u003d\"2\"\u003eH-1123 Budapest \u003c/font\u003e\u003c/div\u003e\n\u003cdiv\u003e\u003cfont face\u003d\"Verdana\" color\u003d\"#666666\" size\u003d\"2\"\u003eHungary\u003c/font\u003e\u003c/div\u003e\n\u003cdiv\u003e\u003cfont face\u003d\"Arial\" size\u003d\"2\"\u003e\u003c/font\u003e \u003c/div\u003e\u003c/div\u003e\n",0] );  //--&gt;&lt;/script&gt;http://oracle.blog.hu/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-2800442863146482339?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/2800442863146482339/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=2800442863146482339' title='4 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/2800442863146482339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/2800442863146482339'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2008/01/oracle-blogger-dinner.html' title='Oracle Blogger Dinner'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-980604443393062220</id><published>2007-12-10T20:52:00.000+01:00</published><updated>2007-12-10T21:01:03.723+01:00</updated><title type='text'>Féléves összefoglaló</title><content type='html'>A múlt héten elkészült az írásbeli összefoglaló a féléves munkámról, melyben számot adok arról, hogy mennyit foglalkoztam a témámmal. Tételesen felsorolom az elolvasott dokumentáció mennyiségét. A befektetett munka mennyiségét ismertetem és, hogy hány oldal leírást, dokumentációt készítettem. A beszámolóban röviden ismertetem is a feldolgozott témát.&lt;br /&gt;A dokumentáció az alábbi linken érhető el:&lt;br /&gt;&lt;a href="http://users.hszk.bme.hu/~ep602/g3ks8j-eberhardt_2.0.doc"&gt;Féléves írásbeli beszámoló.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-980604443393062220?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/980604443393062220/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=980604443393062220' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/980604443393062220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/980604443393062220'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2007/12/flves-sszefoglal.html' title='Féléves összefoglaló'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-1648426619493705654</id><published>2007-11-29T11:13:00.000+01:00</published><updated>2007-11-29T11:20:43.448+01:00</updated><title type='text'>Végleges dokumentum verziók</title><content type='html'>Mint már korábban látható volt, az általam eddig megírt összes dokumentációt folyamatosan javítom, hogy ne tartalmazzanak hibákat és a lehető legkönnyebben érthetőek legyenek. Most, a félév vége felé ezek a doksik elnyerték végső formájukat (és tartalmukat). Az alább felsorolva lehet őket megtekinteni:&lt;br /&gt;&lt;a href="http://users.hszk.bme.hu/~ep602/TimesTen_intro_2.1.doc"&gt;TimesTen Introduction 2.1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://users.hszk.bme.hu/~ep602/TimesTen installation.doc"&gt;TimesTen Installation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://users.hszk.bme.hu/~ep602/TT install kieg.doc"&gt;TimesTen kiegészítések a telepítéshez&lt;/a&gt;&lt;br /&gt;&lt;a href="http://users.hszk.bme.hu/~ep602/TimesTen_cacheconnect_2.0.doc"&gt;TimesTen Cache Connect to Oracle 2.0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-1648426619493705654?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/1648426619493705654/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=1648426619493705654' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/1648426619493705654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/1648426619493705654'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2007/11/vgleges-dokumentum-verzik.html' title='Végleges dokumentum verziók'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-4693695887155213191</id><published>2007-11-26T20:56:00.000+01:00</published><updated>2007-11-26T21:09:45.534+01:00</updated><title type='text'>Cache Connect to Oracle</title><content type='html'>Elkészültem egy átfogó irodalomfeldolgozással, melyben a TimesTen cache-ként való működését írom le. Ebben kitérek az összes működési módra, lehetőségekre, beállításokra. Ez nem azt jelenti, hogy ebből a leírásból bárki képes lenne felkonfigurálni egy ilyen cache adatbázist, de átfogó képet kaphat az, aki elolvassa ezt az irományt. Törekedtem arra, hogy mindenki számára érthető legyen amiről írok, persze alapvető műszaki - informatikai ismeretekre szükség van a téma megértéséhez.&lt;br /&gt;A féléves munkám utolsó dolgozata ez. Ezek után az írásbeli anyagot fogom összeállítani az elkészült dokumentációkból, majd egy szóbeli prezentációt is előkészítek.&lt;br /&gt;&lt;a href="http://users.hszk.bme.hu/~ep602/TimesTen_cacheconnect.doc"&gt;TimesTen Cache Connect to Oracle&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-4693695887155213191?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/4693695887155213191/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=4693695887155213191' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/4693695887155213191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/4693695887155213191'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2007/11/cache-connect-to-oracle.html' title='Cache Connect to Oracle'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-6225720806285066032</id><published>2007-11-18T16:34:00.000+01:00</published><updated>2007-11-18T16:46:52.799+01:00</updated><title type='text'>Bevezetés 2.0</title><content type='html'>Korábban már írtam egy összefoglalót, melyben a TimesTen alapvető funkcióiról és működéséről volt szó(&lt;a href="http://users.hszk.bme.hu/~ep602/TimesTen_intro.doc"&gt;TimesTen intro&lt;/a&gt;). Konzulensem, Marton József segítségével javításokat végeztem benne. Megjegyzései felhívták a figyelmemet apró hibákra, félreértésekre. Sok hasznos tanáccsal is ellátott, melyekkel javíthattam a dokumentáció érthetőségén és átláthatóságán. A dokumentum második kiadása itt található: &lt;a href="http://users.hszk.bme.hu/~ep602/TimesTen_intro_2.0.doc"&gt;TimesTen intro 2.0&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-6225720806285066032?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/6225720806285066032/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=6225720806285066032' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6225720806285066032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6225720806285066032'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2007/11/bevezets-20.html' title='Bevezetés 2.0'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-7315280441438853595</id><published>2007-11-11T13:13:00.000+01:00</published><updated>2007-11-18T17:52:53.944+01:00</updated><title type='text'>Első próbálkozás a Cache Connect to Oracle -el</title><content type='html'>Mint korábban írtam, ezentúl speciálisan a Cache Connect to Oracle opcióval fogok foglalkozni, ennek lehetőségeivel.&lt;br /&gt;Első lépésként a hivatalos doksiban(&lt;a href="http://download.oracle.com/otn_hosted_doc/timesten/703/TimesTen-Documentation/cacheconnect.pdf"&gt;cache connect&lt;/a&gt; 13.oldal) lévő egyszerű Quick Start-tal kezdtem, ami lépésenként leírja egy csak olvasható Cache Group létrehozását, és annak beállításait. Ez a legegyszerűtt használata a Cache Connect funkciónak, mely annyit tesz, hogy egy Oracle adatbázis egy tábláját beilleszti(lemásolja) a memóriába és aktiválja az Autorefresh Cache Group funkciót, ami figyeli az Oracle adatbázisban lévő erre a táblára vonatkozó változásokat. Ha történt ilyen, akkor azt közli a TimesTen Cache Group-pal és ott is végrehajtja a változtatást. Ez egyenlőre csak egyirányú kapcsolat. Mivel a Cache Group-unk csak olvasható, ezért a TimesTen Cache Group-unkhoz nem fordulhatunk csak olvasással járó SQL queryvel. Lehetőség van azonban írással járó kéréssel is fordulni a TimesTen Cache Group-hoz. Ezt a funkciót Passthrough-nak hívják. Ez egy "ál írás" funkció, ettől nem lesz írható közvetlenül a Cache Group-unk. A technika lényege, hogy a közvetlenül a TimesTen Cache Group-hoz intézett SQL query, ami módosítási, létrehozási parancsot tartalmaz (pl.: UPDATE, INSERT), azokat a query-ket átirányitja az Oracle adatbázishoz,hogy ott hajtsák végre őket, majd ezután az Autorefresh funkció automatikusan visszaküldi a táblában lévő változásokat. Külső szemlélőként azonban úgy tűnik, mintha közvetlenül hajtotta volna végre a queryt.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Sárecz Lajos hívta fel a figyelmemet, hogy az Oracle SQL Developerhez kiadtak egy TimesTen Extension -t. Természetesen letöltöttem és feltelepítettem a programot és a kiegészítést is. Nem bántam meg. Miután beállítottam a Cache Connect-et ezzel egyszerűen le tudtam ellenőrizni, hogy valóban jól működik-e. Amit a leghasznosabbnak találtam benne, az az SQL-t értelmező és futtató környezet volt. Ez számomra kiváltotta az SQL PLus-t, melyben szerintem jóval nehézkesebb a query-k szerkesztése.&lt;br /&gt;&lt;br /&gt;A Cache Connect to Oracle technológiáról ebben a doksiban olvashatunk: &lt;a href="http://download.oracle.com/otn_hosted_doc/timesten/703/TimesTen-Documentation/cacheconnect.pdf"&gt;Cache Connect to Oracle&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;AZ általam használt OracleDB verziók:&lt;br /&gt;- Oracle Database 10g 10.2.0.1.0&lt;br /&gt;- TimesTen 7.0.3 32-bit&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-7315280441438853595?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/7315280441438853595/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=7315280441438853595' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7315280441438853595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/7315280441438853595'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2007/11/els-prblkozs-cache-connect-to-oracle-el.html' title='Első próbálkozás a Cache Connect to Oracle -el'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-5227130222668900909</id><published>2007-11-08T16:57:00.000+01:00</published><updated>2007-11-18T17:42:05.759+01:00</updated><title type='text'>Kiegészítés a telepítéshez</title><content type='html'>A TimesTen telepítésekor nem magyaráztam meg mindent, hogy az egyes funkciók pontosan mire szolgálnak. Ennek a hiányosságnak a pótlására írom ezt a bejegyzést.&lt;br /&gt;&lt;br /&gt;Egy TimesTen rendszer telepítését többféleképpen is el lehet végezni. Megtehetjük ROOT felhasználóként, de lehetőség van NON-ROOT -ként is telepíteni, így csökkentve a kockázatot. Nagyobb biztonságban futtathatjuk a telepítési processzeket, ha csak a szükségeseket indítjuk ROOT felhasználóként. Hozzáteszem, erre Windows platformon nincs lehetőség, de az összes többin igen.&lt;br /&gt;Itt kell megemlítenem, hogy amikor létrehozunk egy Data Store-t, azt megtehetjük GroupRestrict módban is. Ami korlátozott hozzáférést tesz lehetővé a fájlokhoz és a műveleti memóriához egy felhasználói csoport részére. Ez a funkció csak ROOT –ként való telepítés után érhető el.&lt;br /&gt;&lt;br /&gt;Megkülönböztetünk&lt;span style="font-weight: bold;"&gt; Internal Usert &lt;/span&gt;(belső felhasználó) és &lt;span style="font-weight: bold;"&gt;External Usert &lt;/span&gt;(külső felhasználó).&lt;br /&gt;Az Internal User a TimesTen (és az Oracle adatbázis esetében is így van) saját felhasználója, csak azon belül érvényes. Az External User az operációs rendszer felhasználója, de implicit lehetséges az authentikációja az adatbáziskezelőben.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Access Control&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A TimesTen telepítésekor eldönthetjük, hogy szükségünk van-e egy belső védelemre. Ennek segítségével lehetőségünk van megadni, hogy mely felhasználóknak és alkalmazásoknak milyen hozzáférésük van a telepített TimesTen példányunkhoz. Ezt természetesen a példány-adminisztrátor felhasználóval tudjuk beállítani. (Az Access Control a Data Store -hoz kapcsolódik, annak hozzáférését szabályozza. Mivel minden TimesTen példányhoz külön Data Store tartozik, ezért minden példányhoz külön Access Control is.)&lt;br /&gt;Ezt a technológiát telepítés után is be tudjuk kapcsolni a „ttmodinstall.exe” segítségével. Arra azonban nincs mód, hogy egy példány telepítése után az Access Control -t kikapcsoljuk.&lt;br /&gt;Ahhoz, hogy a TimesTent cache –ként tudjuk használni, szükség van egy belső TimesTen belső felhasználóra, mely egyeztetve van az Oracle adatbázis egy felhasználójával, melynek van elegendő hozzáférési joga a gyorsítani kívánt adatbázis komponensekhez.&lt;br /&gt;Kliens – szerver módban, ha a szerveren az Access Control be van kapcsolva, akkor a szerveren az authentikációnak engedélyezve kell lennie. Máskülönben nem lehet kapcsolódni hozzá.&lt;br /&gt;&lt;br /&gt;Forrás:&lt;br /&gt;&lt;a href="http://download.oracle.com/otn_hosted_doc/timesten/703/TimesTen-Documentation/install.pdf"&gt;TimesTen-Documentation/install.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;JAVÍTÁS:&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;Az &lt;span style="font-weight: bold;"&gt;Access Control&lt;/span&gt; részben írtam, hogy:&lt;br /&gt;&lt;br /&gt;- "&lt;/span&gt;Ennek segítségével lehetőségünk van megadni, hogy mely felhasználóknak és alkalmazásoknak milyen hozzáférésük van a telepített TimesTen példányunkhoz.&lt;span style="color: rgb(51, 0, 51);"&gt;"&lt;br /&gt;Itt természetesen az alkalmazások hozzáférési jogain, az általuk a kapcsolódáshoz használt felhasználók jogait értem.&lt;br /&gt;&lt;br /&gt;- "&lt;/span&gt;Az Access Control a Data Store -hoz kapcsolódik, annak hozzáférését szabályozza.&lt;span style="color: rgb(51, 0, 51);"&gt;"&lt;br /&gt;Ez nem igaz, mert az Access Control nem a Data Store -hoz kapcsolódik, hanem a TimesTen példányhoz, és a példányhoz való hozááférést szabályozza.&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0); font-weight: bold;"&gt;&lt;span style="color: rgb(51, 0, 51);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Forrás:&lt;br /&gt;&lt;a href="http://download.oracle.com/otn_hosted_doc/timesten/703/TimesTen-Documentation/install.pdf"&gt;TimesTen-Documentation/install.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-5227130222668900909?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/5227130222668900909/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=5227130222668900909' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/5227130222668900909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/5227130222668900909'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2007/11/kiegszts-teleptshez.html' title='Kiegészítés a telepítéshez'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-2046260195816449576</id><published>2007-11-04T16:29:00.000+01:00</published><updated>2007-11-08T16:35:43.269+01:00</updated><title type='text'>TimesTen telepítés</title><content type='html'>&lt;span style="font-weight:bold;"&gt;TimesTen In-memory database installation&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Letöltöttem a TimesTen legfrissebb  verzióját a hivatalos oldalról:&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/software/products/timesten/index.html"&gt;http://www.oracle.com/technology/software/products/timesten/index.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;   - TimesTen 7.0.3 32bit Windows Platform&lt;br /&gt;&lt;br /&gt;A telepítést Windows 32-bites platformra próbáltam meg. Ehhez az automatikus telepítő nyújtott segítséget. A tömörített állomány kicsomagolása után  a Setup.exe-t futtattam. Miután kitömörítette a telepítési fájlokat, elindul a telepítő, mely végigvezet a telepítési lépéseken.&lt;br /&gt;&lt;br /&gt;Első lépésként a telepítési útvonalat adhatjuk meg. Az alapértelmezett beállítást választottam, vagyis: C:\TimesTen\tt70_32\ .&lt;br /&gt;&lt;br /&gt;A telepítést háromféleképpen végezhetjük el.&lt;br /&gt;   - Kompakt (Compact) : Csak TimesTen kliens és ODBC driverek telepítése, valamint néhány példa hozzá&lt;br /&gt;   - Egyedi (Custom) : Egyedi igényeknek megfelelő telepítés Debug funkciókkal.&lt;br /&gt;   - Tipikus (Typical) : TimesTen Kliens/Szerver, dokumentációk és példák telepítése.&lt;br /&gt;&lt;br /&gt;Ezek közül az egyedit választottam.&lt;br /&gt;&lt;br /&gt;A következő képen megadhatjuk, hogy mely komponenseket szeretnénk telepíteni. Ezek a következők:&lt;br /&gt;   - Cache Connect to Oracle&lt;br /&gt;   - TimesTen Data Manager&lt;br /&gt;   - TimesTen Data Manager Debug Libraries&lt;br /&gt;   - TimesTen Documentation&lt;br /&gt;   - TimesTen Server&lt;br /&gt;   - TimesTen Client&lt;br /&gt;&lt;br /&gt;Természetesen mindenre szükségem lesz, hogy próbálgatni tudjam a rendszert. A teljes programcsomag 114.13 MB-ot foglal a merevlemezen.&lt;br /&gt;&lt;br /&gt;Ha ezzel megvagyunk, akkor utána meg kell adni az adattár elérési útját. Itt sem adtam meg speciális útvonalat, így maradt az alapértelmezett.&lt;br /&gt;&lt;br /&gt;A TimesTen környezeti beállításainál lehetőség van regisztrálni a környezeti változókat, valamint itt dönthetjük el, hogy alkalmazzuk-e az Access Control-t. Én mind a kettőt kiválasztottam, hogy megvizsgálhassam a későbbiekben ezek lehetőségeit.&lt;br /&gt;&lt;br /&gt;Ezek után meg kell adni, hogy mely Java verzió áll rendelkezésünkre a gépünkön. Nekem a JDK 1.5 van telepítve, ezért a JDK 5.0 –át választottam ki.&lt;br /&gt;&lt;br /&gt;Végezetül még egyszer megtekinthetjük, hogy a telepítő miket, milyen beállításokkal fog telepíteni a rendszerünkre.&lt;br /&gt;&lt;br /&gt;Elindul a fájlok másolása, de időközben egy ablak ugrik fel, és arra kér, hogy adjam meg a szerver beállításait, melyek a következők:&lt;br /&gt;   - Server Hostname (Localhost)&lt;br /&gt;   - TCP Port Number (17002)&lt;br /&gt;   - Stack Size (20480)&lt;br /&gt;   - Log Connects/Disconnects (true/true)&lt;br /&gt;&lt;br /&gt;Úgy gondolom, hogy minden megfelelő az alapértelmezett beállításokkal.&lt;br /&gt;&lt;br /&gt;A fájlok felmásolása végén még egy kérést szegez nekem a telepítő: Adjam meg a Daemon Webszerver Listen portját(természetesen van alapértelmezett beállítás). Itt is az alapértelmezett értéket választom: 17004.&lt;br /&gt;&lt;br /&gt;A telepítés kész. Ezzel és a programmal kapcsolatos további információk a C:\TimesTen\tt70_32\README.HTML fájlban olvashatók.&lt;br /&gt;&lt;br /&gt;A TimesTen In-memory Database telepítéséhez szükséges minden információ megkapunk a telepítési dokumentációban:&lt;br /&gt;&lt;a href="http://download.oracle.com/otn_hosted_doc/timesten/703/TimesTen-Documentation/install.pdf"&gt;http://download.oracle.com/otn_hosted_doc/timesten/703/TimesTen-Documentation/install.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-2046260195816449576?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/2046260195816449576/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=2046260195816449576' title='3 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/2046260195816449576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/2046260195816449576'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2007/11/timesten-telepts.html' title='TimesTen telepítés'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-6486210717054540377</id><published>2007-10-29T20:00:00.000+01:00</published><updated>2007-10-29T20:26:55.051+01:00</updated><title type='text'>Bevezetés</title><content type='html'>Már sok idő eltelt a legutóbbi bejegyzésem óta, de nem telt ez idő semmittevéssel. Próbáltam minél többet megtudni a TimesTen technológiáról. Elsődleges forrásnak a hivatalos dokumentációkat tekintettem. Ezek közül is az Introduction -t. &lt;a href="http://download.oracle.com/otn_hosted_doc/timesten/703/TimesTen-Documentation/intro.pdf"&gt;&lt;/a&gt;&lt;br /&gt;Írtam egy rövid összefoglalót a technológiáról. Ez csak egy rövid áttekintést ad róla, nem részletez semmit fölöslegesen. Viszont törekedtem arra, hogy bárki megértse alapjaiban a működést és ennek előnyeit.&lt;br /&gt;A továbbiakban speciálisabban fogom közelíteni a témát, mégpedig az adatbázis cache-ként való működését szeretném vizsgálni.&lt;br /&gt;TimesTen leírás:&lt;br /&gt;&lt;a href="http://users.hszk.bme.hu/~ep602/TimesTen_intro.doc"&gt;TimesTen intro&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-6486210717054540377?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/6486210717054540377/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=6486210717054540377' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6486210717054540377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/6486210717054540377'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2007/10/bevezets.html' title='Bevezetés'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7625518548194040254.post-3808357119089566318</id><published>2007-10-10T23:03:00.000+02:00</published><updated>2007-10-10T23:47:59.865+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oracle'/><title type='text'>Önálló Labor téma</title><content type='html'>Ez a blog azért jött létre, hogy figyelemmel kísérhesse és kommentálhassa bárki a kutatási tevékenységemet a memória-adatbázisok témakörében. Ezen belül is a TimesTen Oracle technológiával fogok foglalkozni, mely számomra jelenleg még csak egy nagy feket folt, de remélhetőleg a jövőben nagyon sok mindent fogok megtudni róla. Ez a kutatás a 7-ik féléves Önálló labor című tárgy keretein belül zajlik, amely úgy működik, hogy egy általam kidolgozott ütemterv alapján haladva a konzulenseimmel folyton egyeztetve tárom fel a technolóia lehetőségeit. A félév zárásaként elő kell állnom egy közepes terjedelmű tanulmánnyal, egy írásbeli és egy szóbeli bemutatóval. Jelenleg a konzulenseim Kardkovács Zsolt(TMIT) és Marton József(DB) segítik a munkámat.&lt;br /&gt;&lt;br /&gt;Az általam kidolgozott ütemterv:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Feladat/téma címe:     Oracle 10g és 11g technológiák&lt;br /&gt;&lt;br /&gt;Tervezett munkafázisok a félév során:&lt;br /&gt;2-4. oktatási hét: Ismerkedés a technológiákkal, megbeszélések. Édeklődési kör feltárása. Személyre szabott feladat kiválasztása: Memória adatbázisok, TimesTen rendszer.&lt;br /&gt;5-6. oktatási hét: Irodalom gyűjtése, megfelelő dokumentációk kiválasztása. Ismerkedés a témával.&lt;br /&gt;7-8. oktatási hét: A téme megismerése. Feltárni, hogy milyen lehetőségeket rejt magában a technológia.&lt;br /&gt;9-10. oktatási hét: A feltárt lehetőségek részletesebb vizsgálata.&lt;br /&gt;11-12. oktatási hét: Tesztesetek készítése egy példa adatbázishoz, mellyel igazolom állításaimat.&lt;br /&gt;12. oktatási hét: Írásbeli összefoglaló elkészítése és bedása a konzulensemnek.&lt;br /&gt;13. oktatási hét: Tanulmány véglegesítése, utolsó konzultáció.&lt;br /&gt;14. oktatási hét: Szóbeli beszámoló a tárgyfelelősnek.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A félév első négy hetében azért nem tudtam érdemleges munkát vállalni, mert a 3. és 4. héten Japánban voltam kiküldetésen. Viszont innentől kezdve kész vagyok a témámba beleásni magam.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7625518548194040254-3808357119089566318?l=eptentimes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eptentimes.blogspot.com/feeds/3808357119089566318/comments/default' title='Megjegyzések küldése'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7625518548194040254&amp;postID=3808357119089566318' title='0 megjegyzés'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/3808357119089566318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7625518548194040254/posts/default/3808357119089566318'/><link rel='alternate' type='text/html' href='http://eptentimes.blogspot.com/2007/10/nll-labor-tma.html' title='Önálló Labor téma'/><author><name>Éberhardt Péter</name><uri>http://www.blogger.com/profile/12667878014887795316</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
