Page 1 of 20 Firebird JAMK Labranet Wiki 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ä Yleistä Firebirdistä Firebird (tai FirebirdSQL) on Firebird Foundationin kehittämä avoimen lähdekoodin relaatiotietokantajärjestelmä Linux-, Windows- ja Unixkä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
Page 2 of 20 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 3 of 20 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 4 of 20 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 # sudo apt-get update Tämän jälkeen ladataan ja asennetaan firebird 2.1 komennolla # sudo apt-get install firebird2.1-super näyttöön tulee: 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]? Paina "y" ja enter. Ubuntu lataa ja asentaa Firebirdin koneelle. Näytössä pitäisi lukea seuraavanlaiset tekstit: 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. Seuraavaksi käynnistetään Firebird server ja luodaan SYSDBA salasana
Page 5 of 20 # sudo dpkg-reconfigure firebird2.1-super 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). # sudo passwd firebird Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Firebirdin tietokantojen hallinta sovellus käynnistetään komennolla
Page 6 of 20 # isql-fb HUOM! Firebird vaati unixodbc paketin asennuksen ja se asennetaan komennolla # sudo apt-get install unixodbc 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
Page 7 of 20 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 8 of 20 Nyt on saatu valittua tarvittavat asennus paketit Firebirdin asentamiseksi. Seuraavaksi valitaan Apply ja uudellen Apply
Page 9 of 20 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: # sudo dpkg-reconfigure firebird2.1-super 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.
Page 10 of 20 Firebird on nyt asennettu ja käynnistetty. Asennus teki uuden firebird käyttäjän ubuntuun ja sille pitää luoda salasana. Se onnistuu komennolla: # sudo passwd firebird Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Firebird tietokantojen hallinta sovellus käynnistetään komennolla: # isql-fb HUOM! Firebird vaati unixodbc paketin asennuksen ja se asennetaan komennolla # sudo apt-get install unixodbc 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
Page 11 of 20 Firebirdin peruskäskyt Firebird käyttää SQL-kieltä. Tietokantaa hallitaan ISQL työkalulla. Tietokannan luonti Tietokanta luodaan komennolla CREATE DATABASE, esimerkki: Windows CREATE DATABASE 'C:\testi.fdb' page_size 8192 user 'SYSDBA' password 'masterkey'; Ubuntu CREATE DATABASE 'localhost:/tmp/testi.fdb' page_size 8192 user 'SYSDBA' password 'masterkey'; Tietokantaan yhdistäminen Olemassa olevaan tietokantaan yhdistetään komennolla CONNECT, esimerkki: Windows CONNECT 'C:\testi.fdb' user 'SYSDBA' password 'masterkey'; Ubuntu CONNECT 'localhost:/tmp/testi.fdb' user 'SYSDBA' password 'masterkey'; Taulun luonti Tietokannan taulut luodaan SQL komennolla CREATE TABLE. Esimerkki: CREATE TABLE Table1(Table1ID INTEGER NOT NULL, Name VARCHAR(30) NOT NULL, PRIMARY KEY(Table1ID), UNIQUE(Name)); Taulun muokkaaminen Tauluja muokataan SQL komennolla ALTER TABLE. Sillä voidaan tehdä seuraavia toimenpiteitä: 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 Esimerkki: Luodaan yhteys taulujen välillä ALTER TABLE Table1 add FOREIGN KEY <Table1ID> references Table2 <"Table2ID> on update no action on delete no action; Tietojen lisääminen tauluihin Tauluihin lisätään tietoa SQL komennolla INSERT INTO, esimerkki: INSERT INTO Table1(Table1ID,Name) VALUES ('1','Petri'); 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.
Page 12 of 20 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 13 of 20 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 # cd /usr/lib/firebird/2.1/bin tämän jälkeen kirjoitetaans seuraava komento (sama Windowsissa) #./gsec -user sysdba -pass "masterkey" -add rofot -pw root66 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 gsec -user sysdba -pass masterkey -mo rofot -pw root55 Ubuntu Sama komento kuin Windowsissa #./gsec -user sysdba -pass masterkey -mo rofot -pw root55 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 gbak -v -t -user SYSDBA -password "masterkey" c:\testi.fdb c:\testibackup.fcd Onnistuneessa varmuuskopiossa pitäisi tulla tämän näköistä tulostetta.
Page 14 of 20 Ubuntu Tehdään "perus" varmuus kopiointi testi.fdb kannasta #./gbak -v -t -user SYSDBA -password "masterkey" /tmp/testi.fdb /tmp/testibackup.fdb Onnistuneessa varmuuskopiossa pitäisi tulla tämän näköistä tulostetta. Tietokannan varmuuskopion palautus Windows Palautetaan äsken tehty varmuuskopio komennolla gbak -c -v -user SYSDBA -password "masterkey" c:\testibackup.fdb localhost:c:\testi2.fdb
Page 15 of 20 Onnistuneen palautuksen pitäisi näyttää aikalailla tältä Ubuntu Palautetaan äsken tehty varmuuskopio komennolla #./gbak -c -v -user SYSDBA -password "masterkey" /tmp/testibackup.fdb localhost:/tmp/testi2.fdb Tietokannan luonti/palautus scriptistä Scriptit suoritetaan isql-työkalulla. Esimerkki: isql -i scripti.sql -user "SYSDBA" -password "masterkey" 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
Page 16 of 20 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 17 of 20 Lisätään halutut sarakkeen tiedot ja painetaan OK Seuraavanlainen ikkuna aukee, jossa on suoritettava käsky. Painetaan Commit jolloin käsky ajetaan.
Page 18 of 20 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 19 of 20 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 20 of 20 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 Sivua on viimeksi muutettu 06.24 kello 20. huhtikuuta 2010.