ALTER DATABASE

Mit dem ALTER DATABASE-Befehl können Sie die Eigenschaften einer Datenbank ändern, z. B. den Standardzeichensatz, den Namen, das Standardschema, den Eigner der Datenbank oder die Erfassung von Verlaufsdaten für die Datenbank.

Syntax

Syntax für das Ändern einer Datenbank:
ALTER DATABASE <db_name> [ OWNER TO <user> ] [ RENAME TO <new_db_name> ] 
  [ SET DEFAULT SCHEMA <schema_name> ] [ SET DEFAULT CHARACTER SET LATIN9 ] ]
  [ COLLECT HISTORY {ON|OFF|DEFAULT} ] [ DATA_VERSION_RETENTION_TIME <number-of-days> NOCASCADE ]
  [GROOM BACKUPSET {<backupset>|DEFAULT}] [LOCK FOR UPDATE] [UNLOCK]

Eingaben

Für den ALTER DATABASE-Befehl sind die folgenden Eingaben zulässig:
Tabelle 1. Eingabe für ALTER DATABASE
Eingabe Beschreibung
<Datenbankname> Der Name der Datenbank.
OWNER TO Der Name des neuen Datenbankeigners.
RENAME TO Der neue Datenbankname.
SET DEFAULT SCHEMA Das Standardschema für Benutzer, die eine Verbindung zur Datenbank herstellen. Wenn Sie das Standardschema ändern, verlieren Benutzer, die den Zugriff auf das vorherige Standardschema geerbt haben, den Zugriff auf dieses Schema und Sie erben den Zugriff auf das neue Schema. Benutzer haben keinen Zugriff mehr auf das vorherige Standardschema, außer ihnen wurde explizit der Zugriff darauf erteilt.
SET DEFAULT CHARACTER SET Setzen Sie den Standardzeichensatz auf LATIN9, um CHAR- oder NCHAR-Klassendaten vergleichen, verknüpfen oder umsetzen zu können.
COLLECT HISTORY Gibt an, ob Verlaufsdaten für Sitzungen erfasst werden sollen, die an diese Datenbank angehängt sind.
EIN
Der Verlauf wird nur erfasst, wenn der Benutzer Mitglied mindestens einer Gruppe ist, für die COLLECT HISTORY auf ON gesetzt ist.
AUS
Der Verlauf wird für die Datenbank nicht erfasst.
STANDARD
Der Verlauf wird für die Datenbank nur erfasst, wenn der Benutzer Mitglied mindestens einer Gruppe ist, für die COLLECT HISTORY auf ON gesetzt ist, und wenn eines der folgenden Kriterien erfüllt wird:
  • Der Benutzer ist Mitglied keiner Benutzergruppe.
  • Für alle Benutzergruppen, deren Mitglied der Benutzer ist, ist COLLECT HISTORY auf DEFAULT gesetzt.
  • Der Benutzer ist Mitglied mindestens einer Benutzergruppe, für die COLLECT HISTORY auf ON gesetzt ist.
DATENVERSIONSPRECHRUNGSZEIT

Aktualisiert den Wert von DATA_VERSION_RETENTION_TIME für die angegebene Datenbank. Der neue Wert hat keine Auswirkungen auf bestehende Schemata und Tabellen in der Datenbank. Der Wert bestimmt jedoch den Standardwert, der von einem nachfolgenden CREATE SCHEMA-Befehl in der Datenbank geerbt wird, der diese Eigenschaft nicht explizit angibt.

Der zulässige Höchstwert beträgt 92 Tage, was der maximalen Anzahl von Tagen in einem Kalenderquartal entspricht.

SICHERUNGSSET FÜR BRÄUTIGAM

Wenn dieser Wert auf DEFAULT gesetzt ist, bestimmt der GROOM TABLE-Befehl automatisch das Standard-Backup-Set für die Datenbank der Tabelle.

Wenn auf eine bestimmte backupsetid-Zeichenkette gesetzt, verwendet GROOM TABLE das angegebene Backup-Set als Standard-Backup-Set für die Datenbank der Tabelle.

SPERRE FÜR UPDATE Unterbrechen Sie alle Schreibvorgänge in der Datenbank.
UNLOCK Entriegelt die Datenbank.

Ausgaben

Für den ALTER DATABASE-Befehl sind die folgenden Ausgaben zulässig:
Tabelle 2. Ausgabe von ALTER DATABASE
Ausgabe Beschreibung
ALTER DATABASE Der Befehl wurde erfolgreich ausgeführt.
ERROR: ALTER DATABASE: database "db1" is being accessed by other users Die Datenbank wird von anderen Benutzern verwendet.

Zugriffsrechte

Sie müssen der Benutzer mit Administratorberechtigung oder der Datenbankeigner sein oder Ihr Konto muss über die Änderungsberechtigung für die Datenbank oder die Datenbankobjektklasse verfügen. Zum Ändern des Datenbankeigners oder des Standardschemas müssen Sie über die Auflistungsberechtigung für diesen Benutzer oder dieses Schema verfügen.

Verwendung

Es folgen Verwendungsbeispiele:
  • Standardzeichensatz für die Datenbank emp ändern:
    MYDB.SCH1(USER)=> ALTER DATABASE emp SET DEFAULT 
    CHARACTER SET LATIN9;
  • Eigner der Datenbank emp ändern:
    MYDB.SCH1(USER)=> ALTER DATABASE emp OWNER TO admin3;
  • Datenbank emp umbenennen:
    MYDB.SCH1(USER)=> ALTER DATABASE emp RENAME TO employees;
  • Sperren Sie die Datenbank ' emp, um alle Schreibvorgänge auszusetzen:
    MYDB.SCH1(USER)=> ALTER DATABASE emp lock for update;
  • Entsperren Sie die Datenbank " emp:
    MYDB.SCH1(USER)=> ALTER DATABASE emp unlock;