Wer kann eine Datenbank erstellen?
Die CREATE DATABASE
-Anweisung kann ausgeführt werden durch:
-
Benutzer mit dem Privileg `CREATE DATABASE`BASE
Die CREATE DATABASE
-Anweisung kann ausgeführt werden durch:
Benutzer mit dem Privileg `CREATE DATABASE`BASE
CREATE DATABASE
Erstellen einer Datenbank in Windows, die sich auf Datenträger D mit einer Seitengröße von 4.096 befindet.Der Eigentümer der Datenbank ist der Benutzer wizard.Die Datenbank ist in Dialekt und verwendet WIN1251
als Standardzeichensatz.
SET SQL DIALECT 1;
CREATE DATABASE 'D:\test.fdb'
USER 'wizard' PASSWORD 'player'
PAGE_SIZE = 4096 DEFAULT CHARACTER SET WIN1251;
Erstellen einer Datenbank im Linux-Betriebssystem mit einer Seitengröße von 8.192 (Standard).Der Eigentümer der Datenbank ist der Benutzer wizard.Die Datenbank wird in Dialekt 3 sein und verwendet UTF8
als Standardzeichensatz mit UNICODE_CI_AI
als Standardsortierung.
CREATE DATABASE '/home/firebird/test.fdb'
USER 'wizard' PASSWORD 'player'
DEFAULT CHARACTER SET UTF8 COLLATION UNICODE_CI_AI;
Erstellen einer Datenbank auf dem entfernten Server “baseserver” mit dem im Alias “test” angegebenen Pfad, der zuvor in der Datei databases.conf
definiert wurde.Es wird das TCP/IP-Protokoll verwendet.Der Eigentümer der Datenbank ist der Benutzer wizard.Die Datenbank wird in Dialekt 3 sein und verwendet UTF8
als Standardzeichensatz.
CREATE DATABASE 'baseserver:test'
USER 'wizard' PASSWORD 'player'
DEFAULT CHARACTER SET UTF8;
Erstellen einer Datenbank in Dialekt 3 mit UTF8
als Standardzeichensatz.Die Primärdatei enthält bis zu 10.000 Seiten mit einer Seitengröße von 8.192.Sobald die Primärdatei die maximale Seitenzahl erreicht hat, beginnt Firebird damit, Seiten der Sekundärdatei test.fdb2
zuzuordnen.Wenn auch diese Datei maximal gefüllt ist, wird test.fdb3
der Empfänger aller neuen Seitenzuweisungen.Als letzte Datei hat Firebird keine Seitenbegrenzung.Neue Zuweisungen werden so lange fortgesetzt, wie das Dateisystem dies zulässt oder bis auf dem Speichergerät kein freier Speicherplatz mehr vorhanden ist.Wenn für diese letzte Datei ein LENGTH
-Parameter angegeben würde, würde er ignoriert.
SET SQL DIALECT 3;
CREATE DATABASE 'baseserver:D:\test.fdb'
USER 'wizard' PASSWORD 'player'
PAGE_SIZE = 8192
DEFAULT CHARACTER SET UTF8
FILE 'D:\test.fdb2'
STARTING AT PAGE 10001
FILE 'D:\test.fdb3'
STARTING AT PAGE 20001;
Erstellen einer Datenbank in Dialekt 3 mit UTF8
als Standardzeichensatz.Die Primärdatei enthält bis zu 10.000 Seiten mit einer Seitengröße von 8.192.In Bezug auf die Dateigröße und die Verwendung von Sekundärdateien verhält sich diese Datenbank genau wie im vorherigen Beispiel.
SET SQL DIALECT 3;
CREATE DATABASE 'baseserver:D:\test.fdb'
USER 'wizard' PASSWORD 'player'
PAGE_SIZE = 8192
LENGTH 10000 PAGES
DEFAULT CHARACTER SET UTF8
FILE 'D:\test.fdb2'
FILE 'D:\test.fdb3'
STARTING AT PAGE 20001;
ALTER DATABASE
Ändern der Dateiorganisation einer Datenbank, Umschalten ihres "kopiersicheren" Zustands, Verwalten der Verschlüsselung und anderer datenbankweiter Konfigurationen
DSQL, ESQL — eingeschränkter Funktionsumfang
ALTER {DATABASE | SCHEMA} <alter_db_option> [<alter_db_option> ...] <alter_db_option> :== <add_sec_clause> | {ADD DIFFERENCE FILE 'diff_file' | DROP DIFFERENCE FILE} | {BEGIN | END} BACKUP | SET DEFAULT CHARACTER SET charset | {ENCRYPT WITH plugin_name [KEY key_name] | DECRYPT} | SET LINGER TO linger_duration | DROP LINGER | SET DEFAULT SQL SECURITY {INVOKER | DEFINER} | {ENABLE | DISABLE} PUBLICATION | INCLUDE <pub_table_filter> TO PUBLICATION | EXCLUDE <pub_table_filter> FROM PUBLICATION <add_sec_clause> ::= ADD <sec_file> [<sec_file> ...] <sec_file> ::= FILE 'filepath' [STARTING [AT [PAGE]] pagenum] [LENGTH [=] num [PAGE[S]] <pub_table_filter> ::= ALL | TABLE table_name [, table_name ...]
Note
|
Mehrere Dateien können in einer ADD-Klausel hinzugefügt werden:
Mehrfaches Vorkommen von add_sec_clause ( |
Parameter | Beschreibung |
---|---|
add_sec_clause |
Hinzufügen einer sekundären Datenbankdatei |
sec_file |
Dateispezifikation für Sekundärdatei |
filepath |
Vollständiger Pfad und Dateiname der Deltadatei oder sekundären Datenbankdatei |
pagenum |
Seitennummer, ab der die sekundäre Datenbankdatei beginnen soll |
num |
Maximale Größe der Sekundärdatei in Seiten |
diff_file |
Dateipfad und Name der .delta-Datei (Differenzdatei) |
charset |
Neuer Standardzeichensatz der Datenbank |
linger_duration |
Dauer der linger Verzögerung in Sekunden;muss größer oder gleich 0 (null) sein |
plugin_name |
Der Name des Verschlüsselungs-Plugins |
key_name |
Der Name des Verschlüsselungsschlüssels |
pub_table_filter |
Filter of tables to include to or exclude from publication |
table_name |
Name (identifier) of a table |
Die ALTER DATABASE
-Anweisung kann:
Sekundärdateien zu einer Datenbank hinzufügen
Umschalten einer Einzeldatei-Datenbank in den “copy-safe”-Modus (nur DSQL)
Pfad und Name der Delta-Datei für physische Backups setzen oder aufheben (nur DSQL)
Note
|
|
Die ALTER DATABASE
-Anweisung kann ausgeführt werden durch:
Benutzer mit dem ALTER DATABASE
-Privileg
ALTER DATABASE
ADD (FILE)
Fügt der Datenbank sekundäre Dateien hinzu.Es ist notwendig, den vollständigen Pfad zur Datei und den Namen der Sekundärdatei anzugeben.Die Beschreibung für die Sekundärdatei ähnelt der für die Anweisung CREATE DATABASE
.
ADD DIFFERENCE FILE
Gibt den Pfad und den Namen der Delta-Datei an, die alle Mutationen in der Datenbank speichert, wenn sie in den "kopiersicheren" Modus geschaltet wird.Diese Klausel fügt tatsächlich keine Datei hinzu.Es überschreibt nur den Standardnamen und -pfad der .delta-Datei.Um die bestehenden Einstellungen zu ändern, sollten Sie die zuvor angegebene Beschreibung der .delta-Datei mit der DROP DIFFERENCE FILE
-Klausel löschen, bevor Sie die neue Beschreibung der Delta-Datei angeben.Wenn Pfad und Name der .delta-Datei nicht überschrieben werden, hat die Datei denselben Pfad und Namen wie die Datenbank, jedoch mit der Dateierweiterung .delta
.
Caution
|
Wird nur ein Dateiname angegeben, wird die .delta-Datei im aktuellen Verzeichnis des Servers erstellt.Unter Windows ist dies das Systemverzeichnis – ein sehr unkluger Ort, um flüchtige Benutzerdateien zu speichern und im Gegensatz zu den Windows-Dateisystemregeln. |
DROP DIFFERENCE FILE
Löscht die Beschreibung (Pfad und Name) der .delta-Datei, die zuvor in der Klausel ADD DIFFERENCE FILE
angegeben wurde.Die Datei wird nicht wirklich gelöscht.DROP DIFFERENCE FILE
löscht den Pfad und den Namen der .delta-Datei aus dem Datenbank-Header.Wenn die Datenbank das nächste Mal in den “copy-safe”-Modus geschaltet wird, werden die Standardwerte verwendet (d. h. der gleiche Pfad und Name wie die der Datenbank, aber mit der Erweiterung .delta).
BEGIN BACKUP
Schaltet die Datenbank in den “kopiersicher” Modus. ALTER DATABASE
mit dieser Klausel friert die Hauptdatenbankdatei ein, sodass sie mit Dateisystemtools sicher gesichert werden kann, selbst wenn Benutzer verbunden sind und Operationen mit Daten ausführen.Bis der Sicherungsstatus der Datenbank auf NORMAL zurückgesetzt wird, werden alle an der Datenbank vorgenommenen Änderungen in die .delta (Differenz)-Datei geschrieben.
Important
|
Trotz ihrer Syntax startet eine Anweisung mit der |
END BACKUP
Schaltet die Datenbank vom “kopiersicheren” Modus in den normalen Modus um.Eine Anweisung mit dieser Klausel führt die .delta-Datei mit der Hauptdatenbankdatei zusammen und stellt den normalen Betrieb der Datenbank wieder her.Nach dem Start des Prozesses END BACKUP
sind die Voraussetzungen für die Erstellung sicherer Backups mittels Dateisystemtools nicht mehr gegeben.
Warning
|
Die Verwendung von Eine sichere Sicherung mit dem Dienstprogramm gbak ist jederzeit möglich, es wird jedoch nicht empfohlen, gbak auszuführen, während sich die Datenbank im Status LOCKED oder MERGE befindet. |
SET DEFAULT CHARACTER SET
Ändert den Standardzeichensatz der Datenbank.Diese Änderung wirkt sich nicht auf vorhandene Daten oder Spalten aus.Der neue Standardzeichensatz wird nur in nachfolgenden DDL-Befehlen verwendet.
ENCRYPT WITH
Siehe auch Verschlüsselung einer Datenbank im Sicherheitskapitel.
DECRYPT
Siehe auch Entschlüsselung einer Datenbank im Sicherheitskapitel.
SET LINGER TO
Setzt die linger-Verzögerung.Die linger-Verzögerung gilt nur für Firebird SuperServer und gibt an, wie viele Sekunden der Server eine Datenbankdatei (und ihre Caches) geöffnet hält, nachdem die letzte Verbindung zu dieser Datenbank geschlossen wurde.Dies kann dazu beitragen, die Leistung kostengünstig zu verbessern, wenn die Datenbank häufig geöffnet und geschlossen wird, indem Ressourcen für die nächste Verbindung "warm" gehalten werden.
Note
|
Dieser Modus kann für Webanwendungen - ohne Verbindungspool - nützlich sein, bei denen die Verbindung zur Datenbank normalerweise nur für sehr kurze Zeit "lebt". |
Warning
|
Die Klauseln |
DROP LINGER
Löscht die linger-Verzögerung (setzt sie auf Null).Die Verwendung von DROP LINGER
entspricht der Verwendung von SET LINGER TO 0
.
Note
|
Das Löschen von 'LINGER' ist keine ideale Lösung für die gelegentliche Notwendigkeit, es für einen einmaligen Zustand auszuschalten, in dem der Server erzwungenes Herunterfahren benötigt.Das Dienstprogramm gfix hat jetzt den Schalter Dieselbe einmalige Überschreibung ist auch über die Dienste-API unter Verwendung des Tags
|
Warning
|
Die Klauseln |
SET DEFAULT SQL SECURITY
Gibt die Standardoption SQL SECURITY
an, die zur Laufzeit für Objekte ohne den Eigenschaftssatz SQL-Sicherheit angewendet wird.Siehe auch SQL-Sicherheit im Kapitel Sicherheit.
ENABLE PUBLICATION
Aktiviert die Veröffentlichung dieser Datenbank für die Replikation.Die Replikation beginnt (oder wird fortgesetzt) mit der nächsten Transaktion, die gestartet wird, nachdem diese Transaktion festgeschrieben wurde.
DISABLE PUBLICATION
Aktiviert die Veröffentlichung dieser Datenbank für die Replikation.Die Replikation wird sofort nach dem Commit deaktiviert.
EXCLUDE … FROM PUBLICATION
Schließt Tabellen von der Veröffentlichung aus.Wenn die INCLUDE ALL TO PUBLICATION
-Klausel verwendet wird, werden alle danach erstellten Tabellen ebenfalls repliziert, sofern sie nicht explizit in der CREATE TABLE
-Anweisung überschrieben werden.
INCLUDE … TO PUBLICATION
Enthält Tabellen zur Veröffentlichung.Wenn die INCLUDE ALL TO PUBLICATION
-Klausel verwendet wird, werden alle danach erstellten Tabellen ebenfalls repliziert, sofern sie nicht explizit in der CREATE TABLE
-Anweisung überschrieben werden.
Note
|
Replikation
|
ALTER DATABASE
Hinzufügen einer sekundären Datei zur Datenbank.Sobald 30000 Seiten in der vorherigen Primär- oder Sekundärdatei gefüllt sind, beginnt die Firebird-Engine, Daten in die Sekundärdatei test4.fdb
hinzuzufügen.
ALTER DATABASE
ADD FILE 'D:\test4.fdb'
STARTING AT PAGE 30001;
Angabe von Pfad und Name der Delta-Datei:
ALTER DATABASE
ADD DIFFERENCE FILE 'D:\test.diff';
Löschen der Beschreibung der Delta-Datei:
ALTER DATABASE
DROP DIFFERENCE FILE;
Umschalten der Datenbank in den “kopiersicher” Modus:
ALTER DATABASE
BEGIN BACKUP;
Zurückschalten der Datenbank vom “copy-safe”-Modus in den normalen Betriebsmodus:
ALTER DATABASE
END BACKUP;
Ändern des Standardzeichensatzes für eine Datenbank in WIN1251
ALTER DATABASE
SET DEFAULT CHARACTER SET WIN1252;
Einstellen einer linger-Verzögerung von 30 Sekunden
ALTER DATABASE
SET LINGER TO 30;
Verschlüsseln der Datenbank mit einem Plugin namens DbCrypt
ALTER DATABASE
ENCRYPT WITH DbCrypt;
Entschlüsseln der Datenbank
ALTER DATABASE
DECRYPT;
DROP DATABASE
Löschen der Datenbank, mit der Sie gerade verbunden sind
DSQL, ESQL
DROP DATABASE
Die Anweisung DROP DATABASE
löscht die aktuelle Datenbank.Bevor Sie eine Datenbank löschen, müssen Sie sich mit ihr verbinden.Die Anweisung löscht die Primärdatei, alle Sekundärdateien und alle Shadow-Dateien.
Note
|
Im Gegensatz zu |
Die DROP DATABASE
-Anweisung kann ausgeführt werden durch:
Benutzer mit dem Privileg `DROP DATABASE`BASE
DROP DATABASE
DROP DATABASE;