Darmowe narzędzia dla użytkownika Oracle

Rekomendacja dla kilku całkowicie darmowych a bardzo użytecznych narzędzi. Osobiście używam ich głównie na Linuxie ale wszystkie powinny dać się używać na wszelkich Unixach a pierwsze dwa także pod Windows.

ora_explain

Wraz z obsługującym dostęp do baz Oracle ze skryptów perlowych modułem DBD::Oracle instaluje się po cichu programik ora_explain. Jest to bardzo wygodna graficzna nakładka do oglądania planów wykonania poleceń Oracle. Potrafi nie tylko ładnie zaprezentować sposób, w jaki Oracle rozwiązuje dane polecenie ale także pokazać (i oczywiście rozwiązać) polecenia, które działająca baza Oracle ostatnio wykonywała (File/SQL Cache). Co także ważne, jest mały i szybciutko się uruchamia (czego nie można powiedzieć o rozmaitych narzędziach dostarczanych przez samo Oracle).

Program jest bardzo intuicyjny, zachęcam do wypróbowania. Rutynowo używam go do testowania wszystkich SQL-i, które piszę (przy czym wygodniejsze jest wykorzystywanie cache niż wpisywanie ręcznie).

Moduł DBD::Oracle zawierający ora_explain dostępny jest na każdym mirrorze CPAN, np. na ftp.icm.edu.pl/pub/CPAN/modules/by-module/DBD/, tamże można znaleźć ewentualne inne potrzebne moduły perlowe. Do działania ora_explain niezbędna jest instalacja perl/Tk.

Orac

Tym razem narzędzie przeznaczone dla administratora. Pozwala na monitorowanie działającej bazy danych - od prezentacji poziomu zajętości poszczególnych przestrzeni tabel i segmentów wycofania, przez dynamiczne informacje typu aktualnie aktywne blokady i aktualnie podłączeni użytkownicy, po możliwość wygenerowania skryptu SQL, który utworzyłby naszą bazę danych od zera, tworząc wszystkie przestrzenie tabel, tablice, indeksy itp. A po drodze także wiele innych funkcji.

Szczególnie cenną cechą programu jest jego edukacyjność. Pozwala w łatwy sposób podejrzeć treść wszystkich zapytań, które sam realizuje (czyli można np. trywialnie zobaczyć jakim SQL-em sprawdza się poziom zajętości przestrzeni tabel), pozwala też podejrzeć treść poleceń, którymi tworzono różne obiekty (ja np. używałem Orac-a do sprawdzenia jakim właściwie poleceniem tworzy się nowy segment wycofania - było to szybsze niż wertowanie dokumentacji, starczyło dwukliknąć nazwę jednego z istniejących segmentów by zobaczyć polecenie SQL które go stworzyło.

Program ma też funkcje wspomagające alarmowanie (potrafi co kilka minut badać samodzielnie np. czy nie zaczyna brakować miejsca) - o nich nie będę pisał szerzej bo z nich nie korzystałem.

Orac jest dostępny w ramach CPAN - na przykład pod ftp.icm.edu.pl/pub/CPAN/modules/by-module/DBI. Program jest skryptem perlowym, zrealizowanym z wykorzystaniem w Perl/Tk, DBI i DBD::Oracle.

Sqlwork

Sqlwork to program do realizowania ad hoc poleceń SQL. Przydatny do wykonywania szybkiego INSERTa czy UPDATE a zwłaszcza przy realizacji roboczych zapytań SELECT. Wygodny interfejs umożliwiający wpisanie kilku poleceń i ponawianie ich realizacji, prezentacja wyników do wyboru w formie tekstowej lub tabularycznej, możliwość otwierania wielu okien.

Używam tego programu do wszelkich zapytań ad-hoc i bardzo go sobie chwalę.

Sqlwork, a także kilka innych narzędzi wspomagających pracę z Oracle, które akurat dla mnie były nieco mniej przydatne, są dostępne ze stron autora - www.mattshouse.com. Jest to program napisany w C z użyciem GTK. Dostępne są też wersje binarne.

yasql

"Lepszy" SQL*Plus. Program w stylu command-line, pod wieloma względami naśladuj?cy SQL*Plus ale zapiewaniający historię poleceń przewijaną strzałkami, możliwość swobodnej edycji wiersza poleceń a nawet ... dopełnianie po naciśnięciu tabulatora nazw tabel czy kolumn. Nie można też zapomnieć o sensownej prezentacji wyników poleceń SELECT.

Używam tego programu do operacji typu ładowanie skryptów SQL, poprawki ad-hoc, testowanie poleceń SQL. W jakiejś mierze zdetronizował sqlworka (choć sqlwork jest poręczniejszy gdy chcemy wyświetlić wyniki zapytania i się im poprzyglądać albo powtarzać to samo zapytanie co chwilę).

Podobnie jak kilka innych narzędzi, jest to skrypt perlowy wykorzystujący DBI i DBD::Oracle. Można go pobrać z http://sourceforge.net/projects/yasql/.

OraSnap

Narzędzie zupełnie innego typu. Program, który raz uruchomiony po prostu generuje sporą paczkę stron HTMLowych dość szczegółowo opisujących bazę danych (wszelkie parametry konfiguracyjne, poziom wykorzystania rozmaitych zasobów, istniejące obiekty itp itd - jest tego bardzo wiele). Dostajemy do spokojnego przeglądania szczegółowy raport o stanie bazy danych.

Program jest szczególnie użyteczny, gdy mamy chwilowy dostęp do jakiejś bazy danych (np. u klienta) i chcemy się nad nią później spokojnie zastanowić. Uruchamiamy OraSnap (a nawet prosimy o to klienta), bierzemy na dyskietkę czy otrzymujemy emailem efekty działania OraSnapa, możemy się im spokojnie przyglądać - to po prostu zestaw plików HTML.

Ważną zaletą programu jest też, że do działania wymaga jedynie samego Oracle, bez żadnych dodatkowych narzędzi - jest w całości zaimplementowany w SQL*Plus. Wystarczy rozpakować na produkcyjnej maszynie OraSnapa, uruchomić go, spakować i zabrać z powrotem. Koniec. Nie trzeba uruchamiać TNS*Listenera, nie trzeba instalować perla albo kompilować jakichś programów. Wystarczy nam sqlplus. Autor testuje się na Unixach ale niewielkim wysiłkiem (zapis odwołań do podkatalogów) program dał się przerobić tak, że zadziałał na VMS.

OraSnap dostępny jest ze stron autora - http://www.stewartmc.com/oracle/orasnap/.

komentarze obsługiwane przez Disqus