rdbms za darmo - Linux Magazine
Transkrypt
rdbms za darmo - Linux Magazine
SYSADMIN HA-VPN Bazy danych dla każdego SYBASE ASE EXPRESS EDITION – KORPORACYJNY RDBMS ZA DARMO Artykuł opisuje instalację i konfigurację systemu Sybase ASE Express Edition. Zawiera praktyczne wskazówki dotyczące konfiguracji systemu operacyjnego oraz informacje potrzebne do rozpoczęcia pracy z serwerem Sybase Adaptive Server Enterprise. BARTOSZ ŻYSZKIEWICZ S ybase ASE (Adaptive Server Enterprise) Express Edition jest w pełni darmowym systemem zarządzania relacyjnymi bazami danych klasy enterprise przeznaczonym na platformę Linux. Produkt ten nie wymaga licencji, a zakup wsparcia jest opcjonalny. Sybase ASE Express Edition był początkowo oparty na produkcie Sybase ASE 12.5.2, a od stycznia 2005 roku wykorzystuje ASE 12.5.3. Adaptive Server Enterprise został uznany za najlepszy serwer bazodanowy na platformę Linux w konkursie organizowanym przez „Open Source Word”. Następujące ograniczenia odróżniają Express Edition od wersji płatnej: – Serwer bazodanowy używa tylko jednego procesora. – Maksymalny rozmiar pamięci RAM przydzielony dla ASE (parametr konfiguracyjny max memory) wynosi 2 GB. – Rozmiar wszystkich baz danych dla jednego serwera nie może przekroczyć 5 GB danych. – ASE Express Edition nie obsługuje modułu Java. Nie ma przeciwwskazań do zainstalowania Sybase ASE Express Edition na maszynie wieloprocesorowej, posiadającej pamięć operacyjną większą niż 2 GB. Sybase będzie wykorzystywał jedynie maksymalną wartość zasobów określonych w restrykcjach. Ograniczenia te, szczególnie chodzi tu o maksymalny rozmiar baz danych, nie powinny być przekroczone nawet w średnich, komercyjnych zastosowaniach. Jeżeli jednak przyrost danych będzie znaczny lub zaistnieje potrzeba wykorzystania możliwości Javy, to moż- 78 NUMER 17 CZERWIEC 2005 na zakupić licencję na Sybase ASE Small Business Edition lub Sybase ASE Enterprise Edition. Instalacja Sybase ASE Express Edition nie powinna przysporzyć większych problemów. Warto jednak pamiętać o kilku podstawowych czynnościach, które należy wykonać przed i po instalacji serwera bazy danych. rpm qa | grep compat-libstdc++ java Wymagane jest również środowisko Javy (programy narzędziowe oraz sam instalator zostały napisane w Javie). kernel.shmmax Czynności przedinstalacyjne Sybase ASE Express Edition można pobrać ze strony [1]. Plik ase1253esd1xe_linux.tgz zajmuje nieco ponad 250 MB, a po rozpakowaniu około 320 MB. Wymagania systemowe określone zostały w aselxqig.pdf, jednak nie trzeba do nich przywiązywać zbyt dużej wagi. ASE Express można bez problemu zainstalować na większości dystrybucji Linuksa. Oficjalnie Sybase wymaga jednej z poniższych instalacji: Red Hat Enterprise Linux 2.1 Red Hat Enterprise Linux 3.0 Suse Linux Enterprise 8.0 Red Flag Linux 4.0 glibc oraz compat-libstdc++ Główną rzeczą, o której należy pamiętać, jest odpowiednia i możliwie nowa dla systemu wersja glibc (glibc, glibc-devel, glibc-common, glibc-kernheaders) oraz pakietu compat-libstdc++ (compat-libstdc++, compat-libstdc++-devel). Aby sprawdzić dostępność bibliotek compat-libstdc++, wystarczy wydać polecenie: WWW.LINUX-MAGAZINE.PL Kolejną czynnością jest ustawienie parametru pamięci współdzielonej (shared memory) kernel.shmmax. Wartość tę można sprawdzić poprzez wydanie polecenia: /sbin/sysctl kernel.shmmax Produkty Sybase ASE wymagają przynajmniej 64 MB dla shared memory. Jeżeli system posiada więcej RAM, to warto zwiększyć ten parametr, gdyż od niego będzie uzależniona maksymalna wielkość pamięci przydzielonej serwerowi bazy danych. Należy pamiętać, że ustawienie shmmax na 64 MB umożliwia stworzenie instancji wykorzystującej jedynie 2K strony (pages). W celu modyfikacji kernel.shmmax na 256 MB należy dopisać linię: kernel.shmmax=268435456 do pliku /etc/sysctl.conf, gdzie wartość podawana jest w bitach (256x1024), a następnie załadować zmienione ustawienia: /sbin/sysctl -p HA-VPN Logujemy się na użytkownika sybase i uruchamiamy instalatora: Tworzenie nowego serwera ASE ./setup Konfiguracja i start serwerów ASE Przy pracach zdalnych, gdzie nie ma możliwości wykorzystania trybu GUI, przydatnym może okazać się instalator wystartowany w trybie text/terminal: Rysunek 1: Ekran wyboru lokalizacji serwera. ./setup -console Wybór lokalizacji Pierwszy ekran zawiera warunki użytkowania produktu oraz wybór lokalizacji serwera. Dla Polski jest to „8) Europe,Middle East, and Africa – General”. Katalog docelowy Następnie podajemy katalog docelowy instalacji (taki, jaki został podany przy tworzeniu użytkownika sybase). Rysunek 2: Okno wyboru katalogu docelowego. Typ instalacji użytkownik sybase Podczas tworzenia użytkownika sybase, warto określić jego katalog domowy, czyli lokalizację instalacji Sybase ASE. Domyślnym katalogiem jest /opt/sybase. Poniższa komenda dodaje użytkownika sybase z katalogiem domowym /opt/sybase-12.5: Ze względu na niewielkie różnice w ilości wykorzystanego miejsca pomiędzy instalacją Typical (zalecaną przez Sybase) i Full (pełną), warto zainstalować wersję pełną. useradd -d /opt/sybase-12.5/ sybase Od tego momentu zakładamy, że zmienna $SYBASE oznacza katalog docelowy instalacji. Ponieważ instalator wykorzystuje tryb graficzny, zatem użytkownik sybase powinien mieć prawa uruchomienia X'ów. Wystarczy wydać komendę: Rysunek 3: Dostępne typy instalacji. Xhost + /etc/hosts Adaptive Server Enterprise wykorzystuje konfigurację symbolicznych nazw maszyn zapisaną w /etc/hosts. Dlatego też wystartowanie instancji serwera ASE będzie uzależnione od poprawnej konfiguracji TCP/IP (o tym w dalszej części dotyczącej pliku interfaces). SYSADMIN Rysunek 4: Na początek instalujemy tylko Adaptive Server. Instalacja Sybase ASE Express Edition Podsumowanie i rozpoczęcie instalacji Przechodzimy do katalogu z rozpakowanym plikiem ase1253esd1xe_linux.tgz. Cała instalacja powinna przebiegać na użytkowniku sybase. Dzięki temu nie trzeba ręcznie nadawać uprawnień do instalowanych katalogów. Kolejne okno przedstawi pakiety, które zostały wybrane i będą zainstalowane. Jeżeli podczas instalacji produktu Sybase ASE Express Edition pojawią się błędy, to głównym źródłem informacji o nich jest plik $SYBASE/log.txt. WWW.LINUX-MAGAZINE.PL Po zakończeniu instalacji istnieje możliwość stworzenia nowych serwerów Sybase ASE. Wymagane jest utworzenie Adaptive Server. Pozostałe serwery występują opcjonalne. Są one odpowiedzialne za: zarządzanie operacjami archiwizowania i odtwarzania baz danych (Backup Server), monitorowanie i analizę pracy serwera bazodanowego (Monitor Server) oraz zarządzanie rozszerzonymi procedurami składowanymi – Extended Stored Procedures (XP Server) i można je skonfigurować w dowolnym momencie. Ręczna konfiguracja Adaptive Serwer Można wybrać konfigurację serwerów automatyczną lub użytkownika. Manualna edycja sprowadza się głównie do zmiany domyślnie ustawionych wartości, takich jak nazwa serwera, która początkowo ustawiana jest jako hostname komputera, numer portu czy wielkość bazy master. Bardzo ważnym parametrem jest Error Log. W pliku tym zapisywane są wszelkie ostrzeżenia i błędy podczas pracy serwera. Zmiana lokalizacji logu, przestrzeni dla master (główna baza danych) oraz sybsystemprocs (zawierająca procedury systemowe) musi pociągać za sobą edycję uprawnień dla wybranej lokalizacji. Natomiast próba ustawienia błędnych wartości spowoduje wyświetlenie komunikatu o błędzie i akcji, jaką należy wykonać w celu kontynuowania konfiguracji. Głównie chodzi tu o ustawienia rozmiarów przestrzeni (device size) i rozmiaru baz danych (database size). Po wybraniu odpowiednich parametrów można rozpocząć budowanie nowego serwera ASE. Jeżeli środowisko zostało poprawnie przygotowane i wszystkie wymagania spełnione, wówczas po kilku minutach powinien pojawić się komunikat „Server 'vibart' was successfully created”. Wszystkie wykonywane czynności zostaną zalogowane do pliku Error Log ($SYBASE/ASE-12_5/install/vibart.log) i powinny wyglądać tak, jak to zostało przedstawione w ramce poniżej. Dla każdego z serwerów zostanie utworzony plik RUN_* ($SYBASE/ASE-12_5/install/), który zawiera opis parametrów startowych każdej instancji. W tym momencie instalacja serwera Adaptive Server dobiegła końca. Czynności poinstalacyjne Zmienne środowiskowe Sybase tworzy dwa skrypty shell'owe (SYBASE.sh i SYBASE.csh) zawierające zmienne NUMER 17 CZERWIEC 2005 79 SYSADMIN HA-VPN środowiskowe. Najlepszym sposobem automatycznego ładowania jest stworzenie linków symbolicznych w katalogu /etc/profile.d/: su cd ln ln /etc/profile.d/ -s $SYBASE/SYBASE.sh SYBASE.sh -s $SYBASE/SYBASE.csh SYBASE.csh Jeżeli dodane zostały linki, wystarczy otworzyć nową sesję shell'a i wpisać komendę showserver która wyświetli listę wszystkich uruchomionych instancji (przy wyżej opisanej instalacji będzie to tylko jedna). Zmiana hasła administratora i połączenie przez isql Administrator baz danych (DBA) posiada specjalny login „sa”, dzięki któremu uzyskuje dostęp do wszystkich baz danych na serwerze ASE. Domyślnie hasło tego użytkownika jest puste, więc powinno się go jak najszybciej zmienić, przy okazji testując połączenie przy użyciu narzędzia isql: isql -Usa -Svibart -P 1> sp_password null,nowe_haslo 2> go 1> exit gdzie U to użytkownik, P to hasło, a S to serwer bazy danych. Ze względów bezpieczeństwa nie należy podawać hasła w wywołaniach isql'a. Wystarczy ominąć opcję -P, a isql automatycznie spyta o hasło. Dodatkowo można sprawdzić wersję Sybase ASE oraz listę zainstalowanych baz na serwerze: isql -Usa -Svibart 1> select @@version 2> go 1> exec sp_helpdb 2> go Edycja /etc/rc.d/init.d/sybase Bardzo przydatny w późniejszej pracy okazuje się plik /etc/rc.d/init.d/sybase, który odpowiada za uruchomienie, zatrzymanie oraz wyświetlenie statusu serwerów ASE. Niestety, zawiera on błędy, które należy poprawić. Wpisy: SYBASE_ASE=`basename $SYBASEU /ASE-12.5` SYBASE_OCS=`basename $SYBASEU /OCS-12.5` zmenić na: SYBASE_ASE=`basename $SYBASEU /ASE-12_5` SYBASE_OCS=`basename $SYBASEU /OCS-12_5` oraz zakomentować w sekcji „stop” serwery, które nie zostały utworzone: # killproc backupserver # killproc monserver, aby nie powodowały komunikatu Shutting down Sybase ASE U Rysunek 5: Przykładowa konfiguracja serwera. configured servers: [FAILED] Przy okazji należy poprawić „Shuting down” na „Shutting down”. Uwaga: Polecenie /etc/rc.d/init.d/sybase stop powoduje wywołanie „killproc dataserver”, a co za tym idzie, zatrzymanie serwera bez czekania na zakończenie otwartych transakcji. Zalecane jest wywołanie komendy shutdown z linii poleceń isql'a: isql -Usa -Svibart 1> shutdown 2> go Jeżeli skrypt /etc/rc.d/init.d/sybase z jakiegoś powodu nie będzie działał, wówczas istnieje możliwość wystartowania serwera ręcznie: unset LANG cd $SYBASE/ASE-12_5/install/ su -c „startserver -f U RUN_vibart” sybase > /dev/null 2>&1 Tworzenie serwera Building Adaptive Server 'vibart': Writing entry into directory services... Directory services entry complete. Building master device... Master device complete. Writing RUN_vibart file... RUN_vibart file complete. Starting server... Server started. Building sysprocs device and sybsystemprocs database... sybprocs device and sybsystemprocs database created. Running installmaster script to install system stored procedures... installmaster: 10% complete. installmaster: 20% complete. installmaster: 30% complete. installmaster: 40% complete. installmaster: 50% complete. installmaster: 60% complete. installmaster: 70% complete. installmaster: 80% complete. installmaster: 90% complete. installmaster: 100% complete. installmaster script complete. Creating two-phase commit database... Two phase commit database complete. Installing common character sets (Code Page 437, Code Page 850, ISO Latin-1, Macintosh and HP Roman-8)... Character sets installed. Setting server name in Adaptive Server... Server name added. Server 'vibart' was successfully created. NUMER 17 CZERWIEC 2005 WWW.LINUX-MAGAZINE.PL 80 Zmiana języka, strony kodowej i porządku sortowania Sybase ASE Express Edition wymaga doinstalowania języka polskiego. Najbardziej wygodną formą zmiany tych parametrów jest narzędzie sqlloc, które dla wybranego serwera Adaptive instaluje określony język, stronę kodową oraz porządek sortowania. Po wybraniu serwera i podaniu hasła administratora „sa” należy wybrać wartości: Czynności dodatkowe Zmiana domyślnej przestrzeni bazodanowej Sybase ASE wybiera przestrzeń master jako przestrzeń domyślną. Nie jest to dobre rozwią- HA-VPN zanie, ponieważ przestrzeń ta jest ograniczona, a jedynymi danymi, jakie powinny się w niej znajdować, są zawartości tabel systemowych. Jednocześnie praca w tej samej przestrzeni co baza master zwiększa ryzyko awarii, a co za tym idzie, procesy odzyskiwania stają się bardziej skomplikowane i nie dają pełnej gwarancji na odzyskanie zarówno danych z tabeli master, jak i danych z innych baz korzystających z tej samej przestrzeni. Zatem należy stworzyć nową przestrzeń i ustawić ją jako domyślną. Dla przykładu stworzona zostanie przestrzeń bazodanowa o nazwie dbdevice jako plik $SYBASE/data/db_device.db i rozmiarze 100 MB. Wszystkie czynności odbywają się w konsoli isql. 1> disk init name = 'dbdevice', 2> physname = '$SYBASE/data/U db_device.db', 3> size = '100M' Ustawienie urządzenia domyślnego polega na wydaniu polecenia: 1> create database test onU testdevice = 30 2> log on testdevicelog = 10 3> go Bezpośrednie połączenie do bazy test przez isql’a wygląda następująco: isql -Usa -Svibart -Dtest Plik $SYBASE/interfaces W pliku tym przechowywane są nazwy serwerów wraz z określeniem hosta i portu, na którym ASE jest uruchomiony. Domyślnym protokołem transportu jest TCP. Można podać nazwę hosta (musi być wpisana do /ets/hosts) lub adres IP. Na przykład: W związku z tym każda zmiana hostname wymaga edycji pliku interfaces. Zarządzanie serwerem ASE Wygodnym narzędziem do zarządzania bazami danych Sybase ASE jest Sybase Central: SYSADMIN bazami danych typu Open Source, Sybase wyróżnia się przede wszystkim stabilnością, wydajnością i wysoką dostępnością, która jest tak ważna przy przetwarzaniu transakcyjnym OLTP (Online Transaction Processing). Jest to jedyny tak profesjonalny produkt na rynku oferowany za darmo. Ponadto ASE Express Edition spełnia standard ANSI SQL oraz wykorzystuje język proceduralny Transact-SQL. Dodatkowym atutem jest fakt, iż koszty utrzymania serwera Sybase są znacznie niższe w porównaniu do konkurentów. Dlatego też coraz więcej użytkowników oraz małe i średnie przedsiębiorstwa postanawiają przenieść swoje bazy na Sybase ASE Express Edition. ■ Plik interfaces vibart master tcp ether vibart 5000 query tcp ether vibart 5000 vibart_srv master tcp ether 217.153.x.x 4100 query tcp ether 217.153.x.x 4100 /opt/sybase-12.5/U Słowniczek: 1> sp_diskdefault dbdevice,U defaulton 2> go Urządzenie master nie jest już potrzebne w puli urządzeń domyślnych, zatem można je usunąć: 1> sp_diskdefault master,defaultoff 2> go Rysunek 6: Zmiana parametrów w sqlloc. Stworzenie nowej bazy danych Sybase dołącza do swojej instalacji przykładowe bazy danych pubs2 i pubs3 (installpubs2 oraz installpubs3 można znaleźć w $SYBASE/ASE-12_5/scripts/). Aby stworzyć bazę pubs2, wystarczy wydać polecenie: INFO isql -Usa -Svibart < $SYBASEU /ASE-12_5/scripts/installpubs2 Jeżeli jednak potrzebna jest nowa baza, wtedy najlepiej dodać jeszcze jedną przestrzeń, która będzie przechowywała log transakcji: http://www.sybase.com/linuxpromo Sybase w sieci: http://www.sybase.com/ http://www.sybase.pl/ Rysunek 7: Narzędzie Sybase Central. sybcent41/bin/scjview 1> disk init name = 'log_device', 2> physname = '$SYBASE/data/U log_device.db', 3> size = '30M' 4> go oraz stworzyć bazę danych o przykładowej nazwie test, która będzie wykorzystywała 30 MB na dane i 10 MB na log transakcji: RDBMS – Relational Database Managment System (System zarządzania relacyjnymi bazami danych). Serwer – serwer bazy danych (Sybase Adaptive Server Enterprise). Instancja – zbiór procesów uruchomionych na serwerze wraz z przydzieloną dla nich pamięcią. Przestrzeń bazodanowa (Database Device) – wydzielona część nośnika danych (plik) przeznaczona na przechowywanie danych bazodanowych. Baza danych – zbiór danych przechowywanych w przestrzeniach bazodanowych. Dzięki niemu można szybko i łatwo stworzyć nowe urządzenie, bazę danych, dodać użytkowników i wykonać wiele innych czynności związanych z administracją serwera ASE. Podsumowanie Gdzie szukać pomocy: http://www.sybase.com/support/manuals http://www.sybase.com/support/newsgroups Ciekawe strony: http://www.sypron.nl http://www.peppler.org AUTOR Bartosz Żyszkiewicz jest programistą i administratorem baz danych w firmie UHC (http://uhc.com.pl/). Możliwości Sybase ASE Express Edition są olbrzymie. W porównaniu z dostępnymi na rynku Kontakt z autorem: [email protected]. WWW.LINUX-MAGAZINE.PL NUMER 17 CZERWIEC 2005 81