FirebirdSQL: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 117: | Zeile 117: | ||
== Verwendung mit PHP == | == Verwendung mit PHP == | ||
== Verwendung mit Java Server Pages == | == Verwendung mit Java Server Pages == | ||
== Client Install == | |||
C:\WINDOWS\system32, GDS32.dll | |||
MSVC8.0 Manifest usw. |
Version vom 15. Januar 2010, 11:45 Uhr
Zur Datenhaltung verwendet OrgaMon den freien Datenbank Server firebird SQL.
Installation
(für Mehrprozessor-Systeme:) CS- Classic Server unter Linux
rpm -vv -i Firebird..CS.rpm chkconfig --add xinetd rcxinetd restart
(für Einprozessor-Systeme) 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
Im Moment setze ich auf SMP Systemen den "Classic Server (CS)" ein. Es bedeutet, es läuft kein einzelner Dämmon, 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 (und von xinetd angebotenen) Port stattfindet startet xinetd das angegebene Programm und leitet die Anfrage an dieses Programm weiter.
SMP Regeln
- verwende den Classic Server
- stelle die DefaultDbCachePages auf eine KLEINE Zahl (=75)
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 Identiä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
Client Install
C:\WINDOWS\system32, GDS32.dll MSVC8.0 Manifest usw.