Dawid i Goliat - Linux Magazine
Transkrypt
Dawid i Goliat - Linux Magazine
Oracle w Linuksie KNOW HOW cą są zwłaszcza kreatory typu „create like”. Dzięki nim zarządzanie typowymi zadaniami jest nie tylko szybkie i wygodne, daje także pewność powtarzalności wykonywanych czynności. Bardzo dużym udogodnieniem jest możliwość podejrzenia kodu SQL, jaki będzie wyUżytkownicy bazy danych Oracle pod Linuksem dostają do ręki solidny zekonywany przy podejmowaniu akcji. Funkcja ta jest dostępna dla każdej czynności pod staw narzędzi administracyjnych dostarczonych przez producenta bazy daprzyciskiem Show/Hide SQL (Rysunek 2). Zadania administracyjne, zebrane w menych. Nie pozostają jednak bez alternatywy. Spośród szeregu różnych pronu, są podzielone na logiczne grupy: Injektów, zdecydowanie na pierwsze miejsce wybija się TOra. I choć porówstance, Schema, Security, Storage, Distributed, Warehouse, Workspace. Oprócz tego nanie tych narzędzi na pierwszy rzut oka przypomina pojedynek Dawida dostępnych jest szereg narzędzi zebranych w menu po lewej stronie okna programu. i Goliata, to wynik, w którym sędzią będzie administrator, wcale nie jest Szczególnie cennym narzędziem jest Oracprzesądzony. WOJCIECH BOLIMOWSKI le performance manager. Umożliwia on m.in. śledzenie wartości różnych parametrów i monitorowanie ustawionych wartości progowych. Bardzo dobrze rozwiązany jest studio. Oracle konsekwentnie trzyma się poliuż dość dawno temu przeglądałem mechanizm monitorowania i obsługi zatyki jednolitego interfejsu narzędzi na sieć w poszukiwaniu związanego kleszczeń. Wyświetlane są informacje o zawszystkich dostępnych platformach systemoz Oracle oprogramowania dostępnekleszczeniach: sesji i zapytaniu SQL, które wych. Dlatego po uruchomieniu programu go dla Linuksa. Dlatego przystępując do je wywołało, jak również o sesjach (zapytaotrzymujemy do dyspozycji nie tylko idenpisania tego artykułu byłem bardzo cieniach) użytkowników oczekujących z potyczną funkcjonalność, jak w przypadku tej kaw, na ile zmieniła się sytuacja. I choć wodu zakleszczenia. samej wersji dostępnej dla Windows, idennie przybyło zbyt wiele dobrych nowych Stan tego, co dzieje się w danej chwili tyczny pozostaje całkowity wygląd i zachowaprogramów, to jednak te, które są dostępz bazą danych, możesz obserwować z pozionie aplikacji. Tuż po pierwszym uruchomiene obecnie, osiągnęły wysoką dojrzałość mu menu Instance/Sessions. Ogólny widok niu pojawia się okno kreatora konfiguracji i mogą być z powodzeniem wykorzystywawyświetla informacje o sesjach, użytkownipołączeń z bazami danych (Rysunek 1). ne w codziennej praktyce. kach i ich stanie aktywności. Wchodząc Parametry połączeń można dodawać w szczegóły sesji można uzyskać informaręcznie lub wybrać opcję automatycznego Podane na talerzu cje o aktualnie wykonywanym zapytaniu, skonfigurowania na podstawie ustawień – narzędzia od Oracle [1] jego planie wykonania, a w przypadku dłuz pliku tnsnames.ora. Interfejs programu Minęło wiele czasu od wersji 8i, kiedy to gich zapytań – przewidywanym czasie zajest bardzo czytelny. To co szczególnie wyinstalacja klienta i bazy była często drogą kończenia (Rysunek 3). różnia program, to jego ergonomia. Na każprzez mękę dla niedoświadczonych admiZarządzanie obiektami bazy z poziomu dym kroku dostępne są dziesiątki kreatonistratorów. Oracle w ostatnich latach doDBAStudio jest zadaniem lekkim, łatwym rów, niezwykle pomocne nie tylko dla położył jednak dużych starań, aby wsparcie i przyjemnym. Obiekty pogrupowane są czątkujących administratorów. Dużą pomodla wybranych dystrybucji Linuksa było według schematów, a wewnątrz nie gorsze niż dla Windows. nich według typów. Na każdym I chociaż w wersji RedHat poziomie dostępne są rozbudo9 napotkałem pewne problemy wane menu kontekstowe ofe(przy instalacji klienta – nierujące szereg przydatnych zgodność bibliotek), to należy funkcji. Klikając na przykład dodać, że wersja ta nie jest ofina ikonie Tables w drzewie dacjalnie wspierana przez firmę nego schematu mamy możliOracle. Tym niemniej, po niewość dokonania eksportu lub zbyt długim szperaniu w sieci importu tabel (choć w tym znalazłem dokładny opis natuprzypadku wymagany jest dory problemu i sposób jego rozdatkowo Oracle Management wiązania. Server), przeliczenia statystyk Po zainstalowaniu klienta dolub zapisania listy tabel do plistajemy cały zestaw narzędzi adku. Takich ułatwień jest znaczministracyjnych. Większość nie więcej i występują one poz nich jest dostępna za pomocą wszechnie dla każdego typu narzędzia DBAStudio, uruchaobiektów. mianego poleceniem oemapp dbaRysunek1: Pierwsze uruchomienie DBAStudio – kreator konfiguracji Zarządzanie serwerami Oracle z Linuksa Dawid i Goliat J www.linux-magazine.pl Kwiecień 2004 57 KNOW HOW Oracle w Linuksie cjonowania tabel i indeksów, także i w tym przypadku pozostaje obsługa ręczna z poziomu SQL. Zarządzanie użytkownikami i uprawnieniami jest równe intuicyjne, jak w DBAStudio. W tym przypadku dostępny jest nawet mechanizm „kopiowania” użytkowników, spełniający podobną funkcję jak kreatory „create like” z pakietu Oracle'a. Narzędzie do zarządzania przestrzeniami tabel i plikami bazodanowymi, oprócz standardowych podstawowych funkcji związanych z zarządzaniem fiRysunek 2: Włączona opcja wyświetlania kodu SQL dla wykonywanej zycznymi rozmiarami plików Alternatywa? czynności i parametrami ekstentów, umoż– TOra, TOra TOra! liwia także, w formie gadżetu, podgląd rozrzędzi w menu pozwala zauważyć różnicę Jeśli zdarzyło Ci się zetknąć z takimi promieszczenia bloków danych w przestrzew stosunku do DBAStudio Oracle. TOra to gramami, jak Toad lub SQL Navigator, zaniach tablic, dzięki czemu możesz szybko zonarzędzie uniwersalne, prawdziwy scyzoraz po uruchomieniu TOra [2] poczujesz rientować się o stopniu fragmentacji danych. ryk szwajcarski, pozwalający nie tylko wysię jak w domu. Ten doskonały program, Dosyć dobrze rozwinięty jest zestaw napełniać podstawowe zadania administracyjrozwijany od kilku lat przez Henrika rzędzi związanych z monitorowaniem stanu ne, ale także będący wygodnym narzędziem Johnsona ze Szwecji, jest kolejnym przyinstancji i zarządzania wydajnością. TOra dla programistów PL/SQL (Rysunek 4). kładem, że rozwijany na licencji GPL (dla dysponuje w tym zakresie narzędziami: do Jak przystało na tego typu program, TOra Linuksa) program w niczym nie odbiega strojenia serwera (Server tuning), zarząwyposażona jest w przeglądarkę obiektów od produktów komercyjnych. dzania sesją (Session manager), śledzenia bazy danych. Program rozwijany jest w dwóch wersjach: SGA (SGATrace). Na szczególną uwagę zaUmożliwia ona dostęp do większości tydla Windows i Linuksa. Jednak ta pierwsza sługuje liczba informacji dostarczanych pów obiektów bazy danych: tablic, perspekjest dostępna do użytku bezpłatnie. Aktuprzez narzędzie do zarządzania sesją. tyw, indeksów, synonimów, obiektów alna stabilna wersja nosi oznaczenie 1.2.4. Oprócz standardowych informacji o stanie PS/SQL (pakietów, funkcji i procedur), seŚciągnięcie liczącego 8 MB pakietu nie sesji, id, użytkowniku itp., możesz łatwo kwencji i wyzwalaczy. Umożliwia przy tym trwało długo i po wydaniu komendy rpm zebrać w jednym miejscu informacje o zaedycję lub podgląd większości ich atrybuUhv tora-1.2.4-1oracle8.i686.rpm został prasobach zużywanych przez daną sesję, typie tów (Rysunek 5). W stosunku do DBAStuwidłowo zainstalowany w moim systemie połączenia sieciowego (np. używanych opcdio zabrakło obsługi linków bazodanowych RedHat 9. jach szyfrowania), blokadach i zakleszczei zadań (jobs), w tym przypadku pozostaje Program posiada prosty, intuicyjny interniach, aktualnie wykonywanym zapytaniu konieczność ręcznego tworzenia i zarządzafejs, bez zbędnych wodotrysków, za to poi jego planie wykonania czy też otwartych nia tego typu obiektami. Nieco bardziej bozwalający szybko odkryć drzemiące w nim kursorach. lesny jest brak narzędzia do obsługi partymożliwości. Pierwszy rzut oka na ikony naTo, czego brakuje najbardziej w zestawie narzędzi dostarczanych przez Oracle, to przyzwoitej klasy edytora SQL. Niestety program, który dostarczany jest w pakiecie narzędzi – SQL Worksheet, to wciąż tylko program typu notatnik wyposażony w wyjście SQL. Codzienna praktyka wykazuje jednak, że rzeczywiste problemy rzadko możliwe są do rozwiązania za pomocą aplikacji, w których zadania wykonuje się klikając na przyciski i wypełniając pola w formatkach. Rysunek 3: Przeglądanie informacji o sesjach w DBAStudio 58 Kwiecień 2004 www.linux-magazine.pl Rysunek 4: TOra w akcji – Edytor SQL Prenumerata Linux Magazine Nie przegap takiej okazji! Rysunek 5: Przeglądarka obiektów bazy danych Swego rodzaju ciekawostką jest natomiast narzędzie Server Tuning. Umożliwia ono podgląd, w formie graficznej, podstawowych parametrów pracy bazy danych, w tym rozmiaru buforów, wartości współczynników trafień, prędkości zapisów do logów. Na dodatkowych wykresach można rejestrować także szybkości fizycznych operacji I/O na poszczególnych plikach (Rysunek 6). Narzędzie to można stosować do szybkiego zdiagnozowania sytuacji w przypadku, gdy z wydajnością bazy zaczyna się dziać coś niedobrego. Niestety funkcje monitorowania wprowadzają dodatkowe obciążenie, tak więc w codziennej pracy, gdy masz już wystrojoną bazę, lepiej nie uaktywniać tego narzędzia. Duże brawa dla autora należą się za zintegrowanie narzędzi programistycznych: edytora SQL i debugera PL/SQL. Funkcje kolorowania składni, autouzupełniania, możliwość eksportu wyniku SQL do formatów CSV i HTML, wyświetlanie planu i statystyk wykonania to tylko część możliwości, które sprawiają, że praca z tym programem jest równie łatwa i wygodna, jak w przypadku takich uznanych programów, jak TOAD i SQL/Navigator w Windows. Faktycznie, TOra oferuje niemal identyczne możliwości funkcjonalne, w tym np. użyteczne w codziennej praktyce narzędzie do wyszukiwania i porównywania między sobą obiektów w różnych bazach/schematach. Funkcja porównywania często przydaje się w przypadku posiadania kilku środowisk: produkcyjnego, testowego, szkoleniowego. Porównanie na poziomie schematów to szybki sposób sprawdzenia kompletności i spójności środowisk. A gdzie reszta? Przeglądając zasoby sieci w poszukiwaniu innych ciekawych narzędzi przydatnych w codziennej praktyce administratora, ze smutkiem zauważyłem, że lista projektów jest bardzo krótka. Niemniej dwa spośród z nich, choć tylko w niewielkim stopniu dorównują przedstawionym dotychczas narzędziom, warte są krótkiej prezentacji. Pierwszy z nich – Orac [3](autor Andy Duncan) to narzędzie napisane w Perl/Tk. Jest to faktycznie zestaw skryptów przydatnych do monitorowania fizycznych plików bazodanowych, użytkowników, obiektów bazy danych (tabel, perspektyw itp.), statystyk i parametrów pracy bazy danych, pomocnych w strojeniu wydajności i wykrywaniu konfliktów (Rysunek 8). Zaletą programu jest bardzo ■ Zamawiając prenumeratę oszczędzasz! ■ Płacisz jak za 9 numerów, a ot rzymujesz 12! ■ Z każdym numerem DVD lub płyta CD-ROM. Najszybszy sposób zamówienia prenumeraty: http://www.linux-magazine.pl Infolinia: 0801 800 105 KNOW HOW Oracle w Linuksie Rysunek 6: Server Tuning – wykresy statystyk paramet rów wydajnoś- Rysunek 7: Orac w działaniu – podgląd wykonywanego skryptu SQL ciowych łatwa możliwość rozszerzania go o własne skrypty. Wyniki wykonywanych skryptów mogą być wizualizowane za pomocą wykresów słupkowych. Jeśli w swojej praktyce wykonujesz okresowo skrypty z linii poleceń, to jest to narzędzie godne Twojej uwagi. W sposób elegancki umożliwi zebranie wszystkich skryptów w jednym miejscu i wygodne ich użytkowanie. Program praktycznie nie wymaga instalacji, wystarczy tylko mieć zainstalowane moduły Perla: DBI i DBD-Oracle. Innym, choć podobnej klasy projektem, jest Oracletool [4] (autor Adam von Nieda). Podobnie jak Orac umożliwia on monitorowanie stanu instancji Oracle'a. Jego główną zaletą jest fakt, że jest to narzędzie działające w środowisku CGI serwera WWW. Może to mieć szczególne znaczenie np. w przypadku monitorowania baz działających w różnych segmentach sieci, rozdzielonych firewallami, gdzie nie wchodzi w grę dostęp do bazy za pośrednictwem SQL/Net. W takim przypadku zestawienie połączenia do monitorowania bazy za pośrednictwem https wydaje się rozsądnym rozwiązaniem. Narzędzie jest o tyle ciekawe, że oprócz funkcji monitorowania obiektów, użytkowników, uprawnień, przestrzeni tablic czy też stanu sesji bazy, posiada proste możliwości administracyjne. Zakładka DBAdmin w menu głównym umożliwia administrowanie użytkownikami, obiektami i stanem sesji bazy danych. Dodatkowo możliwe jest uruchamianie zdefiniowanych wcześniej zadań (jobs) – mogą być nimi m.in. powiadomienia o zdarzeniach w bazie wysyłane za pośrednic- 60 Kwiecień 2004 twem pakietu utl_smtp. Żeby było jeszcze ciekawiej, dostępne jest także okno z polem edycji umożliwiającym wprowadzenie i wykonanie dowolnego polecenia SQL. Wszystko to świadczy naprawdę o sporych możliwościach i elastyczności narzędzia. będą dostępne – chroni je licencja GPL. Wszystko to zaś świadczy o coraz większym zainteresowaniu Linuksem dużych, uznanych producentów i możemy być pewni, że w najbliższym czasie liczba rozwiązań komercyjnych znacznie się zwiększy. ■ Konkluzja Nie ma co ukrywać – czasy w których admiINFO nistrowanie Oracle z poziomu Linuksa koja[1] Strony WWW firmy Oracle o Oracle rzyło się nieodłącznie z niskopoziomowym na Linuksie: http://www.oracle.com/ edytowaniem skryptów w vi i wykonywatechnologies/linux/index.html niem ich z poziomu SQLPlus, odchodzą nie[2] Strona WWW programu TOra: uchronnie do lamusa. Administratorzy Orachttp://www.globecom.se/tora le, którzy chcieliby wykonywać swoje zada[3] Project Orac: nia z poziomu Linuksa, nie powinni mieć http://www.tux.org/orac-dba powodów do obaw. Zestaw narzędzi dostar[4] Oracletool: http://www.oracletool.com czonych wraz z klientem bazy przez Oracle to funkcjonalnie ten sam zestaw, co dostępny pod Windows. Uzupełnieniem tych narzędzi jest doskonała TOra. O klasie tego programu świadczy fakt, że na początku stycznia 2004 roku został on wykupiony przez uznanego producenta narzędzi dla Oracle – firmę Quest Software. I choć przyszłość programu stoi pod znakiem zapytania, to jednak dotychczaRysunek 8: Oracletool – widok na raport wykorzystania segmentów sowe wersje ciągle wycofania (rollback segments) www.linux-magazine.pl