Lekce 2 - Derby DB - Spuštění a vypnutí databáze
V minulé lekci, Derby DB - Informace, nastavení prostředí, jsme se věnovali nastavení databáze Apache Derby.
V dnešním tutoriálu tuto databázi spustíme.
Spuštění a ukončení Derby Databáze
Veškeré příkazy pro ovládání a nastavení Derby DB se nacházejí v
adresáři ..\db\bin
. Jak vidíte, dané soubory jsou zdvojené.
Jedna verze je typu s koncovkou *.bat pro uživatele Windows OS a druhá bez
koncovky pro sh pro uživatele Linux.
db\bin\setEmbeddedCP
- Použitím setEmbeddedCP skriptu nakopírujeme Derby libs (derby.jar, derbytools.jar, derbyoptionaltools.jar) pro vestavěné (embedded) prostředí doCLASSPATH
. Co znamená vestavěné prostředí si řekneme později.db\bin\setNetworkServerCP
- Vloží potřebné libs (derbynet.jar) pro spuštění Derby DB Serveru doCLASSPATH
.db\bin\setNetworkClientCP
- Vloží potřebné libs (derbyclient.jar, derbytools.jar and derbyoptionaltools.jar) pro spojení klienta s Derby DB Serverem doCLASSPATH
.db\bin\startNetworkServer
- Spustí Derby DB server na místním stroji.db\bin\stopNetworkServer
- Ukončí Derby DB server na místním stroji.
První tři příkazy (skripty) nyní neřešme a ani je v kurzu nevyužijeme. Zajímají nás pouze poslední dva příkazy pro spuštění a ukončení. Při spuštění je vhodné je spustit jako administrátor, předejdete tak problémům s právy přístupu.
Spustit DerbyDB lze několika způsoby. Nejjednodušší je v commanderu
spustit startNetworkServer
, kdy se nám objeví okno, nebo spustit
příkazový řádek (cmd.exe
) opět se stejným příkazem a
DerbyDB se nám spustí. Defaultně tento databázový server poběží na portu
1527. Takto spuštěná databáze nejen, že běží na
lokálním portu, ale neumožňuje jiný přístup klienta, než z localhostu.
Abych byl přesný, spojení se provede, ale Derby DB Server po vyhodnocení
příchozího spojení přes LAN, MAN a WAN provede odpojení. Pokud jsme si
nastavili systémovou proměnnou PATH
na cestu k
\db\bin
, pak jsou příkazy pro spuštění a vypnutí
databázového serveru přístupné odkudkoliv a není nutné řešit cestu.

Ukončení lze provádět více způsoby. Jako první a nejjednodušší je
opět spustit v commanderu stopNetworkServer
, alternativně funguje
i násilné přerušení přes příkazovou zkratku CTRL +
C. Ovšem v tomto případě je nutné mít aktivní okno, které
provádí výpis spuštěné databáze.

POZN. CHYBA 6828 - SPUŠTĚNÍ DERBY DB U ČESKÉ LOKALIZACE OPERAČNÍHO SYSTÉMU
Přestože mám rád projekty pod Apache, tak i zde se ukazuje, že není
všechno zlato, co se třpytí. Slabina Open Source se zde ukazuje v přímém
přenosu. Derby DB
má nahlášenou chybu 6828, která neumožňuje spustit Derby DB pod českou
lokalizací OS. Pokud máte anglickou verzi Windows, problém se vás
netýká. Přestože je chyba FIXED, tak se pořád projevuje u všech verzí
dané DB 10.9, 10.10, 10.11, 10.12, 10.13. Pokud danou databázi chceme spustit,
tak nám nezbývá nic jiného, než chybu obejít. To provedeme tím, že
zrušíme českou lokalizaci a databázi budeme spouštět v anglické verzi.
Upravíme spouštěcí skript (startNetworkServer.bat
) a to tak,
že zde přidáme tento řádek
set DERBY_OPTS=-Duser.language=en
.

Spuštění na nedefaultním portu
Samozřejmě DerbyDB umožňuje spustit databázový server i na jiném, než
defaultním portu. Do příkazového řádku (cmd.exe
) vložíme
příkaz startNetworkServer -p 3388
, což spustí Derby DB Server
na portu 3388. Analogicky, pokud změníte číslo portu v příkazu, tak
změníte reálné číslo portu. Jak vidíte, na výpisu programu
CurrPorts
tak skutečně na portu 3388 nasloucháme.

Ovšem pokud chceme ukončit Derby Server běžící na jiném portu, je
nutné jej ukončit přes přerušení CTRL + C nebo přes
nově vytvořený příkazový řádek a zadáním příkazu
stopNetworkServer -p 3388
, kde číslo v parametru je číslo
vašeho portu.

Spuštění pro přístup ze sítě
Spuštění s umožněním připojení přes sít (LAN, MAN, WAN) je nutné
nastavit opět přes příkazový řádek. Vložíme příkaz
startNetworkServer -h 192.168.123.9
, kde parametrem h
je vaše IP adresa, na které server poběží nebo jméno domény, pod kterou
je spuštěn. Ovšem v tomto případě přestane být databáze přístupná z
localhostu.

Další možnosti spuštění DerbyDB serveru jsou:
startNetworkServer -h moje.domena.cz
- umožníme přistupovat k db z dané doménystartNetworkServer -h 0.0.0.0
- umožníme přistupovat k db z localhostu i ze sítě (LAN, MAN, WAN)- `startNetworkServer -h moje.domena.cz -p 4444** - umožníme přistupovat k db z dané domény na portu 4444
- `startNetworkServer -h 0.0.0.0 -p 4444** - umožníme přistupovat k db z localhostu i ze sítě (LAN, MAN, WAN) na portu 4444
Spuštění IJ nástroje (příkazu)
IJ nástroj je velmi důležitý pro práci s Derby DB z pohledu
administrátora. Prakticky vše lze řešit v Derby buď přes IJ nástroj nebo
programátorsky přes JDBC. IJ nástroj lze spustit bez spuštění databáze a
dokonce při provádění napojení si databázi spustí zcela sám. Spuštění
je velice primitivní a každý příkaz je nutné ukončit středníkem
;
. Na obrázku dole jsme si v prvním případě provedli
ukončení nástroje ij a v druhém případě jsme provedli výpis
nápovědy.

V následujícím kvízu, Kvíz - Nastavení, zapnutí a vypnutí Derby DB v Javě, si vyzkoušíme nabyté zkušenosti z předchozích lekcí.