Some of posts from this blog has been moved to dywicki.pl. You will be automatically redirected to new blog if you would submit comment.
New posts are published on dywicki.pl, this blog contains old content and it is not continued.

Niektóre posty z tego bloga zostały przeniesione do dywicki.pl. Zostaniesz automatycznie przekierowany jeśli bedzięsz chciał dodać komentarz.
Nowe posty sa publikowane na dywicki.pl, ten blog zawiera stare treści i nie jest kontynuowany.

Oracle XE

Filed under DB by

Oracle #4Niedawno postanowiłem zaryzykować i ściągnąć Oracle XE. Samo ściągnięcie nie trwało dość długo (w międzyczasie sobie jadłem kolację), w końcu to tylko 150 MB. Zapewne niektórym w tym miejscu trudno uwierzyć, że tylko tyle. Tak tylko tyle! ;) Fakt, w porównaniu z MySQL/PgSQL to naprawdę wiele, ale nie w porównaniu do pełnego pakietu Oracle, który waży znacznie więcej. Tak więc w mych rękach wylądowała wersja express Oracle 10, która była gotowa do instalacji. Procesu instalacji nie opisywałbym gdyby nie to, że minimalna ilość pamięci to ponad 256 MB. Zatem niestety, albo i stety nie mogłem zainstalować bazy na laptopie. Nie mniej, podczas pobytu w domu z powodzeniem instalację udało mi się zakończyć. Co mnie zaskoczyło – nie zmuliło mi od razu systemu, jak to ongi bywało. Pamiętam, że gdy pierwszy raz instalowałem Oracle (rozmiar ~500 MB) to system dosłownie stawał w miejscu. Dlaczego? Ponieważ przy normalnej instalacji Oracle używa kilku i więcej procesów pomocniczych, także nie jest to tak jak w przypadku MySQL jeden proces. Dzięki temu baza o wiele lepiej sprawuje się na maszynach wieloprocesorowych.
Podstawowe procesy pomocnicze to:
– dbw – proces zapisujący do plików danych – procesów tych może być do 9 (dbwr0.. dbwr9)
– pmon – monitor procesów
– smon – monitor systemu
– lgwr – proces zapisujący do plików dziennika powtórzeń
– ckpt – proces punktu kontrolnego
– reco – odtwarzacz
– arc0 – archiwizacja danych
Oracle #3W przypadku wersji express tych procesów nie ma, jest jeden główny, który sobie spokojnie radzi ze wszystkim. Nie mam pojęcia jak to jest realizowane, ale na systemie XP, który ma ponad pół roku, gdzie dysk naprawdę jest zawalony po brzegi i gdyby nie zakładki na tychże to by się z niego wylewało baza działała szybko a co najważniejsze nie destabilizowała systemu jak i pracy innych aplikacji. Dla mnie bomba, proces nie zżerał całej dostępnej pamięci, tak że spokojnie mogłem przy 768 MB pamięci pracować jeszcze na Eclipse. Nie do wiary? A jednak, dało radę. W tym przypadku śmiem twierdzić, że gadanie “Oracle zmula” są mocno nieaktualne. Nie zmula! Oczywiście wciąż mówimy cały czas o wersji express, która w sam raz nadaje się do testów a nie o instalacji w pełni funkcjonalnej.
Oracle #2Cóż takiego ciekawego jest w tym oprogramowaniu?
1. Po pierwsze, dlaczego powstają książki rozmiarowo przewyższające encyklopedie na jego temat.
2. Po drugie czy nie jest to wodolejstwo.
3. Po trzecie czy możliwości są adekwatne do ceny.

Ad. 1) Nie jestem w stanie tego jednoznacznie stwierdzić, ale odnośnie opasłych tomisk – pragnę przytoczyć tytuł “Oracle. Vademecum administratora” (jeśli dobrze pamiętam).
Obecnie w swej skromnej biblioteczce posiadam tytuł “Oracle 9i. Przewodnik początkujących”, który jest stosunkowo niewielki – około 420 stron. Jest to mniej niż choćby “PostgreSQL. Biblia problemów”. Nie ma jednak w niej przedruku z całą składnią SQL jaką baza obsługuje. Jest dużo teorii, sporo opisów. Rozszerzeniem lektury jednak może być Vademecum jak i “Oracle 9i i XML” (znowu, jeśli dobrze pamiętam). W sumie wychodzi o wiele więcej niż na temat innej bazy danych, chociaż może tutaj konkurować jeszcze Microsoft SQL Server.
Ad. 2) Myślę, że wodolejstwo to nie jest, ponieważ sama baza danych daje ogromne możliwości, które ciężko bez dobrych podstaw wykorzystać. Mówię tutaj o czymś takim jak partycjonowanie danych czy też hurtownie danych. Dla mnie jest to swoista nowość, nigdy wcześniej z tymi pojęciami się nie spotkałem.
Oracle #1Ad. 3) Czy warto? Zależy, najlepszą metodą na sprawdzenie tego są samodzielne testy, ponieważ w sieci brak porównań wydajnościowych (Oracle zabrania jakichkolwiek publikacji na ten temat) a nie ma dwóch takich samych sytuacji nie mówiąc już o potrzebach. Wiele osób chce tego samego, ale różnice tkwią w szczegółach. Sądzę, że funkcjonalnie jest to najlepsza baza danych, którą Microsoft dopiero goni i do której ma jeszcze kawał drogi. Są to różnice lat. Podczas gdy Bill rozwijał swój sztandarowy produkt Oracle wciąż pracowało nad bazą danych i aplikacjami mocno związanymi z jej działaniem.

Sam przyznam, że niedawno odpaliłem tą bazę pierwszy raz i nie mogę znać ogromu jej możliwości. Jestem na wierzchołku góry lodowej. Z ciekawszych możliwości – bawiłem się formularzami oraz arkuszami (chyba tak to się zwie). Przyznam, że fajne. To, do czego dążą chyba wszyscy programiści – “kliknij tutaj by stworzyć aplikację” – jest już w Oracle. Nie mam pojęcia jak wygląda to w przypadku specyficznych struktur i tak dalej, ale na tych tabelach, które są dostępne dla testowego użytkownika wszystko sprawowało się znakomicie. Można sobie edytować bądź dodawać przyciski, schematy, szablony i co tam sobie jeszcze kto wymyśli. Wszystko przez interfejs WWW, bez używania narzędzi ciężkiego kalibru. Myślę, że załączone zrzuty są wystarczającą referencją i w pełni zastąpią wszelkie opisy..
Zachęcam do zabawy z Oracle, ono nie gryzie! :)
Udało mi się uruchomić bez jakiegokolwiek wysiłku PDO i z poziomu PHP korzystać z zasobów bazy. Troszkę się namęczyłem z Creole ale udało mi się również je zmusić do pracy z bazą. Być może pora na stworzenie adaptera, który rozszerzy interfejs PDO do tego, który oferuje Creole?

5 responses so far

5 Responses to “Oracle XE”

  1. SongoQ says:

    Ciesze sie ze podoba Ci sie zabawa z Oracle. To co opisales to zaledwie jakas czesc milionowa z mozliwosci Oracle. Formsy itd szybko powstaja. Kiedys sie spotkalem z Twierdzeniem ze programista ORACLE potrzebuje tylko dostep do sql*plusa i jazda. Oracle XE dla nauki jest rewelacyjny. Na systemach takich jak debian czy ubuntu 2 poleceniami zainstalujemy, podejrzewam ze tak samo prosto jak w Windowsie (chociaz nigdy w windowsie nie istalowalem).

    PHP + ORACLE to cos wspanialego. Jeszcze jesli podejdziemy do tego w ten sposob ze kazdy user w systemie (w aplikacji) to user w Oracle, to odpada na wiele rzeczy w php (fakt framework daje nam to samo) ale na bazie to ograniczymy.

    Do Oracle wykorzystuje OCI jak i PDO (pdo ma jeszcze kilka bagow odnosnie oracle ale preznie sie rozwija).

    To takie moje uwagi odnosnie ORACLE. Rowniez polecam zapoznanie sie z Oracle XE

  2. brego says:

    polecam Underground PHP and Oracle Manual, do pobrania pdf -> http://blogs.oracle.com/alison/2006/07/12#a19

  3. vnull says:

    Sorry ale nie wprowadzaj ludzi w bledy: mysql korzysta ( i zawsze korzystal ) z watkow, man ps;

    dwa: moze na win32 nie ma tych procesow oracle xe@linux, ale:
    oracle@xeno:~$ ps uaxw|grep ^ora
    oracle 5060 0.0 0.7 22436 5940 ? Ss 08:04 0:00 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr LISTENER -inherit
    oracle 5064 0.0 1.3 224808 10112 ? Ss 08:04 0:00 xe_pmon_XE
    oracle 5066 0.0 1.1 224192 8756 ? Ss 08:04 0:00 xe_psp0_XE
    oracle 5068 0.0 1.4 224188 10884 ? Ss 08:04 0:00 xe_mman_XE
    oracle 5070 0.0 1.6 226260 13124 ? Ss 08:04 0:00 xe_dbw0_XE
    oracle 5072 0.0 3.6 239740 28132 ? Ss 08:04 0:00 xe_lgwr_XE
    oracle 5074 0.0 1.7 224200 13872 ? Ss 08:04 0:00 xe_ckpt_XE
    oracle 5076 0.0 4.9 224720 38776 ? Ss 08:04 0:00 xe_smon_XE
    oracle 5078 0.0 1.7 224188 13828 ? Ss 08:04 0:00 xe_reco_XE
    oracle 5080 0.0 2.9 225788 22680 ? Ss 08:04 0:00 xe_cjq0_XE
    oracle 5082 0.0 5.3 226932 41796 ? Ss 08:04 0:00 xe_mmon_XE
    oracle 5084 0.0 1.7 224188 13536 ? Ss 08:04 0:00 xe_mmnl_XE
    oracle 5086 0.0 1.1 224828 8896 ? Ss 08:04 0:00 xe_d000_XE
    oracle 5088 0.0 1.1 224804 8584 ? Ss 08:04 0:00 xe_s000_XE
    oracle 5090 0.0 1.1 224804 8588 ? Ss 08:04 0:00 xe_s001_XE
    oracle 5092 0.0 1.1 224804 8592 ? Ss 08:04 0:00 xe_s002_XE
    oracle 5094 0.0 1.1 224804 8592 ? Ss 08:04 0:00 xe_s003_XE
    oracle 5096 0.0 1.1 224800 8588 ? Ss 08:04 0:00 xe_s004_XE
    oracle 5098 0.0 1.1 224804 8604 ? Ss 08:04 0:00 xe_s005_XE
    oracle 5100 0.0 1.1 224804 8600 ? Ss 08:04 0:00 xe_s006_XE
    oracle 5102 0.0 1.1 224804 8600 ? Ss 08:04 0:00 xe_s007_XE
    oracle 5106 0.0 1.2 224192 9892 ? Ss 08:04 0:00 xe_qmnc_XE
    oracle 5406 0.0 1.4 224188 10916 ? Ss 08:04 0:00 xe_q000_XE
    oracle 5408 0.0 1.1 224184 9192 ? Ss 08:04 0:00 xe_q001_XE
    oracle 6552 0.0 0.2 3228 1800 pts/1 S 10:52 0:00 -su
    oracle 6709 0.0 0.1 2604 892 pts/1 R+ 10:56 0:00 ps uaxw
    oracle 6710 0.0 0.0 1640 496 pts/1 R+ 10:56 0:00 grep ^ora

  4. “Ponieważ przy normalnej instalacji Oracle używa kilku i więcej procesów pomocniczych, także nie jest to tak jak w przypadku MySQL jeden proces. Dzięki temu baza o wiele lepiej sprawuje się
    na maszynach wieloprocesorowych.”

Leave a Reply