Jak to cele funguje

46 views
Skip to first unread message

Vladimir Kuzelka

unread,
Aug 9, 2019, 7:33:09 AM8/9/19
to Firebird (CZ)
 Ahoj,
chci operovat nekolik databazi na Windows serveru pro nekolik nezavislych aplikaci. 

================================================
Zde je muj modelovy pozadovany priklad:

  • Databaze 1: d:\databazovy_adresar\databaze_pro_aplikaci1\001.fdb
  • Databaze 2: d:\databazovy_adresar\databaze_pro_aplikaci2\002.fdb

No a na kazdou databazi bych chtel mit extra poustenou Service, kterou mohu kdykoliv vypnout, zapnout. Kazda databaze bude mit jine uzivatele a SYSDBA ucet bude mit RUZNE heslo.
================================================

A ted muj postup:

  1. Instalace Firebird (plna instalace serveru, SuperServer mod), ktery mi vytvoril sluzbu FirebirdServerDefaultInstance  ' "C:\Program Files\Firebird\Firebird_3_0\firebird.exe" -s DefaultInstance" '
  2. isql, vytvoreni databaze (tady davam zatim stejne heslo)
SQL> CREATE DATABASE 'd:\databazovy_adresar\databaze_pro_aplikaci1\001.fdb' page_size 8192 user 'SYSDBA' password 'masterkey';
SQL> CREATE DATABASE 'd:\databazovy_adresar\databaze_pro_aplikaci2\002.fdb' page_size 8192 user 'SYSDBA' password 'masterkey';  

Soubory s DB byly vytvoreny. A ted bych chtel vedet:
  • Co je to DefaultInstance? Kde si FB mapuje, ze sluzba DefaultInstance operuje 001.fdb a 002.fdb, pripadne dalsi? Pokud se podivam do https://www.firebirdsql.org/pdfmanual/html/isql-connect.html tak to vypada, ze zadne takove mapovani neni. Jedine co existuje tak je mozne definovat aliases.conf, ale pokud tomu dobre rozumim, tak je obecne mozne se pripojit na jakoukoliv databazi pomoci napr. CONNECT '192.168.1.1:d:\databazovy_adresar\databaze_pro_aplikaci1\001.fdb'; No jo, ale to nesplnuje moje zadani, aby na serveru byly dve Service a kazda databaze mela svoje SYSDBA heslo.
  • Kde se ukladaji ty hesla a uzivatele? Myslel jsem, ze FireBird bude mit nejakou interni databazi. Ano, nasel jsem. Je to security3.fdb. Jak ale reknu, ze SYSDBA ucet pro DB 001.fdb je jiny, nez pro 002.fdb, kdyz je v teto security3.fdb databazi jen jeden SYSDBA uzivatel? 
SQL> select PLG$USER_NAME from PLG$USERS;

PLG$USER_NAME
===============================
SYSDBA 

          Co tedy musim udelat dal, abych mel dve Service a nezavislou security DB? Divam se jeste do konfigurace a nachazim soubor databases.conf. Bingo, to by mohlo byt ono. Zde je definovana "security.db = $(dir_secDb)/security3.fdb". Jak ale namapuji, ze DefaultInstance1 a DefaultInstance2 ma jinou security.db?

          Predem dekuji za kazdou reakci.

          VK

          Jiří Činčura

          unread,
          Aug 9, 2019, 7:42:19 AM8/9/19
          to fireb...@googlegroups.com
          Mas v zasade dve moznosti.

          1. Spustit nekolik Windows Services Firebirdu a pro jednotlive DB namapovat ruzne security DB v databases.conf.
          2. Spustit nekolik Windows Services Firebirdu a pouzit jine adresare odkud se spousti a tam mit obycejnou security3.fdb.

          Zaregistrovat (dalsi) sluzbu muzes bud pomoci install_service.bat nebo treba primo pomoci SC (cmd)/New-Service (PS)/...

          --
          Mgr. Jiří Činčura
          https://www.tabsoverspaces.com/

          Jan Volec

          unread,
          Aug 10, 2019, 7:32:52 PM8/10/19
          to fireb...@googlegroups.com
          Ahoj!

          A co takhle jednoduse vytvorit dve nezavisle kopie firebirdu, ktere se budou
          lisit jen TCP portem, na kterem poslouchaji..?

          J/G

          > Ahoj,
          > chci operovat nekolik databazi na Windows serveru pro nekolik nezavislych
          > aplikaci.
          >
          > ================================================
          > Zde je muj modelovy pozadovany priklad:
          >
          >
          > - Databaze 1: d:\databazovy_adresar\databaze_pro_aplikaci1\001.fdb
          >
          >
          > - Databaze 2: d:\databazovy_adresar\databaze_pro_aplikaci2\002.fdb
          >
          >
          > No a na kazdou databazi bych chtel mit extra poustenou Service, kterou mohu
          > kdykoliv vypnout, zapnout. Kazda databaze bude mit jine uzivatele a SYSDBA
          > ucet bude mit RUZNE heslo.
          > ================================================
          >
          > A ted muj postup:
          >
          >
          > 1. Instalace Firebird (plna instalace serveru, SuperServer mod), ktery
          > mi vytvoril sluzbu FirebirdServerDefaultInstance ' "C:\Program
          > Files\Firebird\Firebird_3_0\firebird.exe" -s DefaultInstance" '
          > 2. isql, vytvoreni databaze (tady davam zatim stejne heslo)
          >
          > SQL> CREATE DATABASE 'd:\databazovy_adresar\databaze_pro_aplikaci1\001.fdb'
          > page_size 8192 user 'SYSDBA' password 'masterkey';
          >
          > SQL> CREATE DATABASE 'd:\databazovy_adresar\databaze_pro_aplikaci2\002.fdb'
          > page_size 8192 user 'SYSDBA' password 'masterkey';
          >
          >
          > Soubory s DB byly vytvoreny. A ted bych chtel vedet:
          >
          > - Co je to DefaultInstance? Kde si FB mapuje, ze sluzba DefaultInstance
          > operuje 001.fdb a 002.fdb, pripadne dalsi? Pokud se podivam do
          > https://www.firebirdsql.org/pdfmanual/html/isql-connect.html tak to
          > vypada, ze zadne takove mapovani neni. Jedine co existuje tak je mozne
          > definovat aliases.conf, ale pokud tomu dobre rozumim, tak je obecne mozne
          > se pripojit na jakoukoliv databazi pomoci napr. CONNECT
          > '192.168.1.1:d:\databazovy_adresar\databaze_pro_aplikaci1\001.fdb'; No jo,
          > ale to nesplnuje moje zadani, aby na serveru byly dve Service a kazda
          > databaze mela svoje SYSDBA heslo.
          > - Kde se ukladaji ty hesla a uzivatele? Myslel jsem, ze FireBird bude
          > mit nejakou interni databazi. Ano, nasel jsem. Je to security3.fdb. Jak ale
          > reknu, ze SYSDBA ucet pro DB 001.fdb je jiny, nez pro 002.fdb, kdyz je v
          > teto security3.fdb databazi jen jeden SYSDBA uzivatel?
          >
          > SQL> select PLG$USER_NAME from PLG$USERS;
          >
          > PLG$USER_NAME
          > ===============================
          > SYSDBA
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          > Co tedy musim udelat dal, abych mel dve Service a nezavislou security DB?
          > Divam se jeste do konfigurace a nachazim soubor databases.conf. Bingo, to
          > by mohlo byt ono. Zde je definovana "security.db =
          > $(dir_secDb)/security3.fdb". Jak ale namapuji, ze DefaultInstance1 a
          > DefaultInstance2 ma jinou security.db?
          >
          > Predem dekuji za kazdou reakci.
          >
          > VK
          >
          > --
          > Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny Firebird (CZ) ve Skupinách Google.
          > Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu firebird_cz...@googlegroups.com.
          > Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/firebird_cz/e7e74ed2-c264-40b1-a4b1-c2ff5703ff24%40googlegroups.com.

          Jiří Činčura

          unread,
          Aug 12, 2019, 6:33:57 AM8/12/19
          to fireb...@googlegroups.com
          > A co takhle jednoduse vytvorit dve nezavisle kopie firebirdu, ktere se budou
          > lisit jen TCP portem, na kterem poslouchaji..?

          To je nutnost, kdyz to maji byt ruzne Services.

          Radomir Muras

          unread,
          Aug 12, 2019, 10:39:12 AM8/12/19
          to fireb...@googlegroups.com
          Zdravím fbirďáky.

          Zatím  jen upřesnění k zadání:
          • Databaze 1: d:\databazovy_adresar\databaze_pro_aplikaci1\001.fdb
          • Databaze 2: d:\databazovy_adresar\databaze_pro_aplikaci2\002.fdb

          • V budoucnu budou jen dvě DB se dvěma aplikacemi a nebo  se toto pojetí bude rozšiřovat
          • a podle jakých pravidel?
          Ing. R. Muras.

          po 12. 8. 2019 v 12:33 odesílatel Jiří Činčura <ji...@cincura.net> napsal:
          --
          Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny Firebird (CZ) ve Skupinách Google.
          Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu firebird_cz...@googlegroups.com.
          Reply all
          Reply to author
          Forward
          0 new messages