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

Podobne dokumenty