Upload
vuongdien
View
237
Download
1
Embed Size (px)
Citation preview
Firebird JAMK Labranet Wiki
Yleistä Firebirdistä Firebird (tai FirebirdSQL) on Firebird Foundationin kehittämä avoimen lähdekoodin relaatiotietokantajärjestelmä Linux-, Windows- ja Unix-käyttöjärjestelmille. Firebird perustuu Borlandin InterBase-tietokannan koodiin. Firebird 1.0 perustui täysin Borlandin InterBase 6.0 -tietokannan lähdekoodiin, lukuun ottamatta pieniä bugikorjauksia ja muutamaa lisättyä ominaisuutta. Firebird 2 -haaran kehitystyön aikana koko ohjelmisto portattiin C++-ohjelmointikielelle ja lähdekoodi siivottiin suurelta osin. Firebird 1.5 oli ensimmäinen Firebird 2 -koodipohjaan perustuva julkaisu.
Ominaisuuksia Tuki proseduureille ja triggereille ACID(atomicity, consistency, isolation, durability) Viite-eheydet MVCC(Multiversion concurrency control) UDFs(User-Defined Functions) Monta vaihtoehtoa tietokantaan yhdistämisesssä: native/API, dbExpress drivers, ODBC, OLEDB, .Net provider, JDBC native type 4 driver, Python module, PHP, Perl Dynaamiset varmuuskopiot
Sisällysluettelo 1 Yleistä Firebirdistä 2 Ominaisuuksia 3 Firebirdin asentaminen
3.1 Arkkitehtuurit 3.1.1 Classic 3.1.2 Super Server 3.1.3 Embedded Server
3.2 Windows 3.3 Linux (Ubuntu 9.10)
3.3.1 Asennus päättellä 3.3.2 Asennus Ubuntun Synaptic Package Managerilla
4 Käyttö 4.1 Firebirdin työkalut
4.1.1 GBAK 4.1.2 GFIX 4.1.3 GSEC 4.1.4 ISQL
4.2 Firebirdin peruskäskyt 4.2.1 Tietokannan luonti 4.2.2 Tietokantaan yhdistäminen 4.2.3 Taulun luonti 4.2.4 Taulun muokkaaminen 4.2.5 Tietojen lisääminen tauluihin
4.3 Käyttäjien lisääminen 4.3.1 Käyttäjän lisääminen Windows 4.3.2 Käyttäjän lisääminen Ubuntu 4.3.3 Käyttäjän salasanan vaihtaminen
4.4 Hallinta 4.4.1 Tietokannan varmuuskopiointi 4.4.2 Tietokannan varmuuskopion palautus 4.4.3 Tietokannan luonti/palautus scriptistä
5 Firebird Maestro 5.1 Tietokannan luominen 5.2 Taulun luominen 5.3 Uuden käyttäjän luominen 5.4 Tietokannan varmuuskopionti
6 Linkkejä
Page 1 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Firebirdin asentaminen Arkkitehtuurit Ennen Firebirdin asentamista pitää miettiä Firebird Serverin arkkitehtuuria, koska Firebirdiä löytyy kolmena eri versiona Classic, Super Server ja erikoisversio Embedded Server.
Classic
Classic arkkitehtuuri antaa ohjelmien käyttää suoraan Firebird tietokanta tiedostoja. Clasic arkkitehtuuri antaa useamman ohjelman käyttää samaa tietokantaa yhtä aikaa, mutta jokaiselle ohjelmalle tulee oma prosessi(useamman ohjelman käyttäessä vie paljon muistia). Voidaan etäyhteydellä ottaa paikalliseen tietokantaan yhteys inetd tai xinetd palvelulla SMP (symmetrical multi-processor)tuki. Parempi suorituskyky monelle yhtä aikaiselle yhteydelle, jos eivät käytä samoja kantoja.
Super Server
Super Server arkkitehtuuri käyttää vain yhtä prosessia, käyttää säikeitä useamman yhteyden hoitamiseen. Parempi suorituskyky kun on useampia yhteyksiä tietokantaan. Yhteydet kantaan tehdään "verkkomaisesti", eli ei tarvitse käyttää suoraan tietokannan tiedostoja(parempi tietoturva). Services Manager, jolla voidaan tehdä hallinta tehtäviä kuten(varmuuskopiointi/palautukset, tietokannan sammuttaminen, käyttäjien hallinta, statistiikka..jne.) Ei SMP tukea. Moniprosessori järjestelmän suorituskyky saattaa heikentyä dramaattisesti ilman SMP tukea. Tämä saadaan korjattua CpuAffinityMask parametrin laittamisella firebird.conf -tiedostoon
Embedded Server
Erikoisversio Firebird serveristä. Ei käytä Firebird Security tietokantaa vaan suojaus hoidetaan SQL oikeuksilla. Versio tarkoitettu ohjelmistoille jotka ei tarvitse suojauksia. Samat oikeudet serveriin kuin tietokoneen käyttäjätilissä.
Windows asennuspaketti sisältää Classic ja Super Server arkkitehtuurit ja Windowsissa suositellaan käytettäväksi Super Serveriä. Linux käyttäjät voivat valita kumman tahansa.
Windows Aluksi ladataan Firebirdin uusin versio täältä Firebirdin lataussivu. Seuraavaksi suoritetaan asennuspaketti kaksoisklikkaamalla tiedostoa.Seuraavanlainen ikkuna aukeaa näytölle.
Asennusohjelma kysyy aluksi mihin firebird asennetaan.
Page 2 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Seuraavaksi valitaan komponentit ja arkkitehtuuri tyyppi mikä halutaan asentaa.
Seuraavaksi asennusohjelma kysyy asetuksia. HUOM!! Jos valitsit Classic Server arkkitehtuurin Guardian pitää ottaa pois käytöstä.
Lopuksi asennusohjelma kysyy käynnistetäänkö Firebird server nyt.
Page 3 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Asennus on valmis!
Linux (Ubuntu 9.10)
Asennus päättellä
Avaa terminal/pääte ja aluksi päivitetään pakettilista (eli tieto pakettilähteiden sisällöstä) komennolla
Tämän jälkeen ladataan ja asennetaan firebird 2.1 komennolla
näyttöön tulee:
Paina "y" ja enter. Ubuntu lataa ja asentaa Firebirdin koneelle. Näytössä pitäisi lukea seuraavanlaiset tekstit:
Seuraavaksi käynnistetään Firebird server ja luodaan SYSDBA salasana
# sudo apt-get update
# sudo apt-get install firebird2.1-super
Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: liblog4j1.2-java libcommons-cli-java libswt-gtk-3.4-java libsdl-net1.2 libsdl-ttf2.0-0 libmikmod2 libswt-gnome-gtk-3.4-jni libsdl-mixer1.2 libcommons-lang-java libswt-cairo-gtk-3.4-jni libode1 libswt-gtk-3.4-jni java-wrappers libswt-mozilla-gtk-3.4-jni libsmpeg0 Use 'apt-get autoremove' to remove them. The following extra packages will be installed: firebird2.1-common firebird2.1-common-doc firebird2.1-server-common libfbclient2 Suggested packages: firebird2.1-doc The following NEW packages will be installed: firebird2.1-common firebird2.1-common-doc firebird2.1-server-common firebird2.1-super libfbclient2 0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. Need to get 4,412kB of archives. After this operation, 12.1MB of additional disk space will be used. Do you want to continue [Y/n]?
Setting up firebird2.1-super (2.1.2.18118-0.ds1-4) ... Created default security.fdb * Firebird 2.1 server manager not running. * Not starting Firebird 2.1 server manager * Use `dpkg-reconfigure firebird2.1-super' to enable.
Page 4 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Seuraavaksi asennus kysyy haluatko käynnistää Firebird serverin automaattisesti.Valitse Yes
Firebird kysyy luodaanko SYSDBA salasana. Siihen annetaan salasana, jos et halua muuttaa aikaisempaa salasanaasi jätä kenttä tyhjäksi ja paina enter.
Firebird on nyt asennettu ja käynnistetty.
Asennus teki uuden "firebird" käyttäjän ubuntuun ja sille pitää luoda salasana(Admin oikeuksilla).
Firebirdin tietokantojen hallinta sovellus käynnistetään komennolla
# sudo dpkg-reconfigure firebird2.1-super
# sudo passwd firebird Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Page 5 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
HUOM! Firebird vaati unixODBC paketin asennuksen ja se asennetaan komennolla
Asennus Ubuntun Synaptic Package Managerilla
Avaa Synaptic Package Manager valitesemalla System->administration->Synaptic Package Manager. Aluksi päivitetään pakettiluettelo painamalla Reload.
Seuraavaksi etsitään firebird paketti painamalla Search
ja kirjoitetaan firebird hakukenttään
# isql-fb
# sudo apt-get install unixodbc
Page 6 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Seuraavaksi valitaan asennettava paketti joka on firebird2.1-super Super Serverille ja firebird2.1-classic Classic Serverille. Valitaan paketti, tupla klikataan valittua pakettia. Ubuntu valitsee kaikki muut tarvittavat asennus paketit automaattisesti.
tämän jälkeen valitan Mark
Page 7 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Nyt on saatu valittua tarvittavat asennus paketit Firebirdin asentamiseksi. Seuraavaksi valitaan Apply
ja uudellen Apply
Page 8 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Asennuksessa menee hetki ja kun Ubuntu on asentanut Firebirdin voit sammuttaa Synaptic Package Manager ohjelman Seuraavaksi avataan terminal/pääte ja käynnistetään Firebird server ja luodaan SYSDBA salasana. Tämä tehdään kirjoittamalla terminaaliin seuraava käsky:
Seuraavaksi asennus kysyy haluatko käynnistää Firebird serverin automaattisesti.Valitse Yes
Firebird kysyy luodaanko SYSDBA salasana. Siihen annetaan salasana, jos et halua muuttaa aikaisempaa salasanaasi jätä kenttä tyhjäksi ja paina enter.
# sudo dpkg-reconfigure firebird2.1-super
Page 9 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Firebird on nyt asennettu ja käynnistetty.
Asennus teki uuden firebird käyttäjän ubuntuun ja sille pitää luoda salasana. Se onnistuu komennolla:
Firebird tietokantojen hallinta sovellus käynnistetään komennolla:
HUOM! Firebird vaati unixODBC paketin asennuksen ja se asennetaan komennolla
Käyttö Firebirdin työkalut
GBAK
Komentorivi-työkalu, jolla hoidetaan tietokannan varmuuskopiointi ja palautukset. Lisää GBAK-työkalusta
GFIX
Työkalu tietokanna ylläpito tehtäviin. Lisää GFIX-työkalusta
GSEC
Käyttäjien hallinta työkalu Lisää GSEC-työkalusta
ISQL
Tietokannan hallinta työkalu Lisää ISQL-työkalusta
# sudo passwd firebird Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
# isql-fb
# sudo apt-get install unixodbc
Page 10 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Firebirdin peruskäskyt Firebird käyttää SQL-kieltä. Tietokantaa hallitaan ISQL työkalulla.
Tietokannan luonti
Tietokanta luodaan komennolla CREATE DATABASE, esimerkki: Windows
Ubuntu
Tietokantaan yhdistäminen
Olemassa olevaan tietokantaan yhdistetään komennolla CONNECT, esimerkki: Windows
Ubuntu
Taulun luonti
Tietokannan taulut luodaan SQL komennolla CREATE TABLE. Esimerkki:
Taulun muokkaaminen
Tauluja muokataan SQL komennolla ALTER TABLE. Sillä voidaan tehdä seuraavia toimenpiteitä:
Esimerkki: Luodaan yhteys taulujen välillä
Tietojen lisääminen tauluihin
Tauluihin lisätään tietoa SQL komennolla INSERT INTO, esimerkki:
Käyttäjien lisääminen Firebirdin käyttäjien lisääminen tehdään GSEC-työkalulla. GSEC on komentorivi työkalu, joka löytyy Firebirdin asennuskansion \bin kansiosta.
CREATE DATABASE 'C:\testi.fdb' page_size 8192 user 'SYSDBA' password 'masterkey';
CREATE DATABASE 'localhost:/tmp/testi.fdb' page_size 8192 user 'SYSDBA' password 'masterkey';
CONNECT 'C:\testi.fdb' user 'SYSDBA' password 'masterkey';
CONNECT 'localhost:/tmp/testi.fdb' user 'SYSDBA' password 'masterkey';
CREATE TABLE Table1(Table1ID INTEGER NOT NULL, Name VARCHAR(30) NOT NULL, PRIMARY KEY(Table1ID), UNIQUE(Name));
Add Column - Lisätään sarakkeita Add Primary Key - Lisää Primary key:n Add Foreign Key - Lisää Foreign key:n Add Constraint - Lisää yhteyden taulujen välillä Change Column Type - Vaihtaa sarakkeen datatyyppiä Drop Column - Poistaa sarakkeen Drop Constraint - Poistaa yhteyden taulujen välillä Rename Column - Uudelleennimeää sarakkeen
ALTER TABLE Table1 add FOREIGN KEY <Table1ID> references Table2 <"Table2ID> on update no action on delete no action;
INSERT INTO Table1(Table1ID,Name) VALUES ('1','Petri');
Page 11 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Käyttäjän lisääminen Windows
Avaa komentorivikehoite (Start->run->cmd.exe)
Mene Firebirdin asennuskansion \bin kansioon
Luodaan käyttäjä:rofot, jolle luodaan salasana:root66 komennolla
gsec -user sysdba -pass masterkey -add rofot -pw root66
Page 12 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Käyttäjän lisääminen Ubuntu
Ubuntussa GSEC-työkalu sijaitsee /usr/lib/firebird/2.1/bin kansiossa. GSEC-työkalua käytetään Terminal/pääte sovelluksella. Luodaan käyttäjä:rofot, jolle luodaan salasana:root66Avaa terminal/pääte ja mene kansioon /usr/lib/firebird/2.1/bin komennolla
tämän jälkeen kirjoitetaans seuraava komento (sama Windowsissa)
Käyttäjän salasanan vaihtaminen
Firebirdissä ainoastataan SYSDBA voi vaihtaa käyttäjien salasanoja. Vaihdetaan äsken tehdylle rofot käyttäjälle salasanaksi root55. Windows
Ubuntu Sama komento kuin Windowsissa
Hallinta Firebirdissä tietokannan varmuuskopiointi ja palautus tehdään gbak komentorivi työkalulla. gbak-työkalu sijaitsee Firebirdin asennuskansion \bin kansiossa.
Tietokannan varmuuskopiointi
Windows Tehdään "perus" varmuus kopiointi testi.fdb kannasta
Onnistuneessa varmuuskopiossa pitäisi tulla tämän näköistä tulostetta.
# cd /usr/lib/firebird/2.1/bin
# ./gsec -user sysdba -pass "masterkey" -add rofot -pw root66
gsec -user sysdba -pass masterkey -mo rofot -pw root55
# ./gsec -user sysdba -pass masterkey -mo rofot -pw root55
gbak -v -t -user SYSDBA -password "masterkey" c:\testi.fdb c:\testiBackUp.fcd
Page 13 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Ubuntu Tehdään "perus" varmuus kopiointi testi.fdb kannasta
Onnistuneessa varmuuskopiossa pitäisi tulla tämän näköistä tulostetta.
Tietokannan varmuuskopion palautus
Windows Palautetaan äsken tehty varmuuskopio komennolla
# ./gbak -v -t -user SYSDBA -password "masterkey" /tmp/testi.fdb /tmp/testiBackUp.fdb
gbak -c -v -user SYSDBA -password "masterkey" c:\testiBackUp.fdb localhost:c:\testi2.fdb
Page 14 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Onnistuneen palautuksen pitäisi näyttää aikalailla tältä
Ubuntu Palautetaan äsken tehty varmuuskopio komennolla
Tietokannan luonti/palautus scriptistä
Scriptit suoritetaan isql-työkalulla. Esimerkki:
Jos scriptiin on määritetty käyttäjätunnus ja salasan jätetään -user ja -password määreet pois.
Firebird Maestro Firebirdistä löytyy myös graafisella käyttöliittymällä varustettu versio(Vaatii Firebird serverin asentamisen). http://www.sqlmaestro.com/products/firebird/maestro/download/
Zippi paketti puretaan ja käynnistetään FbMaestro.exe
Firebird Maestro on 30 päivän trial-versio. Täysversio on ostettavissa Firebird Maestron kotisivuilta.
Tietokannan luominen Luodaan tietokanta painamalla Create new database
# ./gbak -c -v -user SYSDBA -password "masterkey" /tmp/testiBackUp.fdb localhost:/tmp/testi2.fdb
isql -i scripti.sql -user "SYSDBA" -password "masterkey"
Page 15 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Valitaan seuraavanlaiset arvot sarakkeisiin. Pääkäyttäjäksi SYSDBA ja salasanaksi masterkey. Salasana on vaihdettavissa myöhemmin. Laitetaan tietokannalle nimi.
Taulun luominen Taulu luodaan valitsemalla tietokanta hiiren oikealla näppäimellä ja valitsemalla Create new table. Lisätään uusi sarake valitsemalla Add New Field
Page 16 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Lisätään halutut sarakkeen tiedot ja painetaan OK
Seuraavanlainen ikkuna aukee, jossa on suoritettava käsky. Painetaan Commit jolloin käsky ajetaan.
Page 17 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Sarakkeiden valinnan jälkeen saadaan seuraavanlainen näkymä, jossa on kaikki taulun tiedot.
Uuden käyttäjän luominen Luodaan uusi käyttäjä valitsemalla oikealla hiiren painikkeella vasemmassa reunassa olevan users kohdan ja valitaan Create New User Valitaan käyttäjälle nimi ja salasana.
Page 18 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Tietokannan varmuuskopionti Valitaan valikosta Maintanance ja valitaan Backup Database Valitaan varmuuskopioitava tietokanta ja polku/tiedostonnimi mihin tiedosto laitetaan.
Valitaan varmuuskopionnin asetukset ja ominaisuudet ja painetaan Ready
Page 19 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Sivua on viimeksi muutettu 06.24 kello 20. huhtikuuta 2010.
Linkkejä Firebird - Project website FlameRobin - cross-platform Administration tool for Firebird, Open Source under MIT license Firebird SQL Code Formatter, online service. Firebird documentation by IBProvider FirebirdFAQ
Haettu osoitteesta http://student.labranet.jamk.fi/wiki/index.php?title=Firebird
Page 20 of 20Firebird — JAMK Labranet Wiki
18-5-2010http://student.labranet.jamk.fi/wiki/index.php?title=Firebird