FirebirdSQL: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 5: Zeile 5:
CS- Classic Server unter Linux<br>
CS- Classic Server unter Linux<br>


   rpm -vv -i Firebird...rpm
   rpm -vv -i Firebird..CS.rpm
   chkconfig --add xinetd
   chkconfig --add xinetd
   rcxinetd restart
   rcxinetd restart
Zeile 11: Zeile 11:
SS- Super Server unter Linux<br>
SS- Super Server unter Linux<br>


   rpm -vv -i Firebird...rpm
   rpm -vv -i Firebird..SS.rpm
   chkconfig --add firebird
   chkconfig --add firebird
   rcfirebird restart
   rcfirebird restart

Version vom 25. April 2005, 17:35 Uhr

Zur Datenhaltung verwendet OrgaMon den freien Datenbank Server firebird SQL.

Installation

CS- Classic Server unter Linux

 rpm -vv -i Firebird..CS.rpm
 chkconfig --add xinetd
 rcxinetd restart

SS- Super Server unter Linux

 rpm -vv -i Firebird..SS.rpm
 chkconfig --add firebird
 rcfirebird restart
  • Sicherheitseinstellungen

Zunächst muss dem firebird SQL Server erlaubt werden auf die typischen Dienstbereiche der Platte zuzugreifen: /srv Dort können dann auch verschiedene Volumes eingehängt werden. Dazu muss jedoch der schreibende Zugriff erst mal ermöglicht werden:

joe /opt/firebird/firebird.conf
DatabaseAccess = Restrict /srv

Bedeutung: dem FirebirdSQL Server ist der Datenbankzugriff nur in /srv und allen weiteren Unterverzeichnissen möglich.

  • SYSDBA Passwort

die Zeiten, dass masterkey das Out-off-the-box Passwort für firebird war sind lange vorbei. Vielmehr befindet sich das im Rahmen der Installation frisch erzuegte Passwort des Datenbank Administrator in der Datei

  /opt/firebird/SYSDBA.password

Shell Befehle

netstat --numeric -p | grep fb_inet   // anzeigen aller an firebird connectierten
                                      // (eigentlich fb_inet_server, jedoch wird der volle Name oft durch 
                                      //  netstat abgeschnitten)
ps -A | grep fb                       // anzeigen aller firebird - Prozesse
lsof <firebirddatenbankdatei>                // anzeigen aller User auf einer firebird Datenbank
lsof -p <PID eines fb_inet_servers>          // anzeigen der Dateien, die der Prozess offen hat
                                             // es wird auch angegeben wer (welcher remote) connectiert ist.
   /opt/interbase/bin/ibmgr -shut -user "SYSDBA" -password "masterkey"
   /opt/interbase/bin/ibmgr -start -forever

Hintergrundinfo

Classic Server "CS": Es bedeutet, es läuft kein einzelner Dämon sondern pro Verbindung wird ein Server-Prozess neu gestartet (fb_inet_server). Die Synchronisation erfolgt über Datei-Locks der jeweiligen Datenbank-Datei mit Hilfe eines monolitischen Prozesses (fb_lock_mgr). Bei dem Hochstarten der einzelnen Server-Prozesse hilft xinetd (ehemals inetd). Dies ist ein Programm, das dabei Hilft auf einzelnen Ports eines Linux-Systems Dienste anzubieten. Man beschreibt seinen Dienst in einer config-Datei, wenn dann ein Verbindungsversuch auf dem Angegebenen Port Stattfindet startet xinetd das angegebene Programm und leitet die Anfrage an dieses Programm weiter.

Probleme mit Windows XP SP 2

Langsamer Applikationsstart seit Installation des Windows XP Service Pack 2

Voraussetzung: (Ursächlich ist das Service Pack 2 von Windows XP)

Problem:

Bis zu 10 Sekunden längerer Verbindungsaufbau bei Konnektierung auf den Linux Firebird Classic Server.

Lösung:

Die Firewall des Service-Pack 2 blockiert alle eingehenden Verbindungsversuche von aussen. xinetd versucht bei aktiviertem log_on_success = USERID den erfolgreichen Verbindungsaufbau zum firebird-dienst zu protokollieren. Dazu läuft ein Protokoll ab zur Verifizierung der Benutzer Identität auf Port 113.

mehr Info auf http://grc.com/port_113.htm RFC auf http://www.faqs.org/rfcs/rfc1413.html

Dieser ist geblockt, xinetd gibt nach 3 maligem Versuch auf. log_on_success und log_on_fail sollte entfernt werden, oder auf HOST umgestellt werden:

joe /etc/xinetd.d/firebird       
//
// Folgende beide Zeile so verändern oder ganz auskommentieren 
// 
 log_on_success = HOST
 log_on_fail = HOST
//

ps -A | grep xinetd              
// merke Dir den PID des xinetd

kill -SIGUSR2 <PID des xinetd>
//
// dadurch wird xinetd gezwungen seine konfiguration neu einzulesen.
//

Alternative: Öffnen des Port 113 auf den Windows XP Clients (von mir nicht empfohlen)

sollten Sie schon Windows XP Serivce Pack 2 erhalten haben, so deaktivieren Sie bitte die Anti-Virus Warnung:

Deaktivieren der Virenschutz-Warnmeldung

Start->Systemsteuerung->Sicherheitscenter->Empfehlungen->unteren Haken ankreuzen

es sollte sich folgendes Bild ergeben:

Firewall: aktiv. Automatische Updates: aktiv. Virenschutz: nicht überwacht.

OrgaMon wird geblockt: (wegen Webshop XML-RPC-Port)

siehe Installation.Arbeitsplatz

Firebird : Linux-Server

siehe Installation.Arbeitsplatz

Verwendung mit Delphi

Verwendung mit PHP

Verwendung mit Java Server Pages