Datenbanken

<< Administrations-Tools | Firebird 2 Administrations-Handbuch | Datenbank-Konfiguration >>

Datenbanken

Eine Datenbank besteht i. d. R. aus einer Datei (eine Verteilung auf mehrere Dateien ist möglich). Diese Datei enthält alle Tabellen, Indexe, Benutzerrechte (Grants), Foreign Keys, Stored Procedures, Trigger, usw.

Übliche Endung: .fdb

Diese Datei muss auf dem selben Rechner liegen, wie der Firebird-Dienst selbst. Ein Zugriff auf einen Fileserver ist technisch nicht möglich (unabhängig davon, ob über UNC-Namen oder einen Laufwerksbuchstaben).

Eine Datenbank-Datei wird stets größer, nie kleiner. Die einzige Möglichkeit, eine Datenbank-Datei zu verkleinern, besteht darin, einen Backup mit anschließendem Restore durchzuführen.

Datenbank-String

Um zu einer bestimmten Firebird-Datenbank zu verbinden, muss der Client den Datenbank-String angeben. Dieser setzt sich folgendermaßen zusammen:

 <servername> [/<port>] ":" <datenbank>
servernameName des Datenbank-Servers im TCP/IP-Netzwerk.
portPort-Nummer oder IP-Dienstname, wenn nicht der Standard-Port 3050 verwendet werden soll (siehe auch firebird.conf).
datenbankEntweder der Dateiname der Datenbank. Wichtig: Dieser Name muss immer aus der Sicht des lokalen Dateisystems des Datenbank-Servers angegeben werden (also kein Pfadname einer Freigabe o. ä.). Das Verzeichnis, in dem die Datenbank liegt, muss also nicht freigegeben sein, damit die Datenbank verwendet werden kann.
oder
Der Name des Datenbank-Alias, so wie in aliases.conf definiert.

Die Einstellung DatabaseAccess in firebird.conf bestimmt, ob Dateinamen, Aliase oder beide Möglichkeiten verwendet werden können.

Die Regeln bezüglich der Groß-/Kleinschreibung richten sich nach dem Server-Betriebssystem. Bei einem Linux-Server muss die Groß-/Kleinschreibung also berücksichtigt werden, bei Windows-Systemen nicht.

Beispiel Windows-Server

Der Datenbank-Server heißt dbserver. Es wird der voreingestellte Port verwendet. Die Datenbank-Datei liegt auf C:\DB\pmm.fdb:

 dbserver:C:\DB\pmm.fdb

Beispiel Linux-Server

Der Datenbank-Server heißt dbserver. Es wird der voreingestellte Port verwendet. Die Datenbank-Datei liegt auf /db/pmm.fdb:

 dbserver:/db/pmm.fdb

Beispiel Port-Nummer 3051

Der Datenbank-Server heißt dbserver. Es wird der Port 3051 verwendet. Die Datenbank-Datei liegt auf C:\DB\pmm.fdb:

 dbserver/3051:C:\DB\pmm.fdb

Wenn in der services-Datei ein Eintrag besteht, der die Port-Nummer einem Service-Namen zuordnet:

 firebirdsql 3051/tcp

dann kann auch der Servicename anstelle der Portnummer verwendet werden:

 dbserver/firebirdsql:C:\DB\pmm.fdb

zurück zum Seitenanfang

Alias-Namen

Die Angabe der Datenbank-Datei als Pfad- und Dateiname aus der Sicht des Servers ist umständlich und ein potenzielles Sicherheitsrisiko. Daher können auf Server-Seite Alias-Namen definiert werden.

Zuständig ist die Datei aliases.conf.

In dieser befinden sich Einträge nach dem Muster:

 <aliasname> = <pfad- und dateiname>

Beispiel

Der Datenbank-Server heißt dbserver“. Es wird der normale Port 3050 verwendet. Die Datenbank-Datei liegt auf /db/pmm.fdb, es soll ein Alias namens pmm definiert werden.

Eintrag in aliases.conf:

 pmm = /db/pmm.fdb

Der Datenbank-String lautet dann:

 dbserver:pmm

Eine Verknüpfung mit der Syntax für die Angabe von Portnummern bzw. Servicenamen ist ebenfalls möglich:

 dbserver/3051:pmm

zurück zum Seitenanfang

Eigner, Rechte

"Eigner" (Owner) einer Datenbank ist der Benutzer, der sie erzeugt hat (der also CREATE DATABASE ausgeführt hat). Er kann dann wieder Zugriffs-Rechte (Lesen, Schreiben, Ausführen) an andere Benutzer vergeben (GRANT). Ohne weitere GRANTs kann lediglich der Eigner DDL- und DML-Operationen ausführen.

Darüber hinaus gehend hat der Benutzer SYSDBA stets alle Rechte an allen Datenbanken.

Nur SYSDBA oder der Eigner können eine Datensicherung veranlassen oder durch einen Restore eine bereits vorhandene Datenbank überschreiben.

zurück zum Seitenanfang
<< Administrations-Tools | Firebird 2 Administrations-Handbuch | Datenbank-Konfiguration >>