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