Validiert die Indizes und Schlüssel in einigen oder allen Tabellen bzw. materialisierten Ansichten in einer Datenbank.
dbvalid [ Optionen ] [ Objektname, ... ]
Option | Beschreibung | ||
---|---|---|---|
@data |
Liest Optionen aus der angegebenen Umgebungsvariablen oder Konfigurationsdatei ein. Siehe Konfigurationsdateien verwenden. Wenn Sie Kennwörter oder andere Informationen in einer Konfigurationsdatei schützen möchten, können Sie das Dienstprogramm zum Verschleiern von Dateien (dbfhide) verwenden. Siehe Dienstprogramm zum Verschleiern von Dateien (dbfhide). |
||
-c "Schlüsselwort=Wert; ..." |
Gibt Datenbank-Verbindungsparameter an. Eine Beschreibung der Verbindungsparameter entnehmen Sie dem Abschnitt Verbindungsparameter. Der Benutzer muss DBA-Berechtigung oder VALIDATE-Berechtigung haben. Der folgende Befehl validiert die Datenbank einschließlich aller Tabellen und materialisierten Ansichten für c:\salesdata.db, wobei sich ein Benutzer namens "DBA" mit dem Kennwort "sql" verbindet:
|
||
-d |
Prüft, ob alle Tabellenseiten in der Datenbank dem richtigen Objekt gehören, und führt einer Prüfsummenvalidierung durch. Die Option -d umfasst keine Validierung von Daten oder Indizes. Die Option -d kann nicht mit den Optionen -i, -s oder -t verwendet werden. Bei der Verwendung von -d liest dbvalid jede Seite in der Datenbank und erstellt die Prüfsumme für jede Seite, die über eine Prüfsumme verfügt, und zwar unabhängig davon, ob eine Datenbank mit globalen Prüfsummen erstellt wurde, globale Prüfsummen deaktiviert sind oder Schreib-Prüfsummen verwendet wurden. Dbvalid validiert auch Prüfsummen für Metadatenseiten, die standardmäßig Prüfsummen haben, wie etwa die Definitionsseite der Datenbank. Siehe Prüfsummen zur Erkennung von Beschädigungen verwenden. |
||
-fx | Validiert jeder Zeile in der Tabelle und stellt sicher, dass die Anzahl der Zeilen in der Tabelle mit der Anzahl der Zeilen aller Indizes übereinstimmt, die der Tabelle zugeordnet sind. Diese Option führt keine individuelle Suche bei den einzelnen Zeilen durch. Das Verwenden dieser Option kann die Performance signifikant steigern, wenn Sie umfangreiche Datenbanken mit kleinen Caches validieren. | ||
-i | Organisiert den angegebenen Index neu. | ||
-o Dateiname | Schreibt Meldungen in die angegebene Datei aus. | ||
-q | Ausgabemeldungen werden beim Client nicht angezeigt. Sie können jedoch die Meldungen weiterhin in einer Datei protokollieren, indem Sie die Option -o verwenden. | ||
-s | Validiert die Datenbank mithilfe von Prüfsummen. Mit Prüfsummen kann festgestellt werden, ob eine Datenbankseite auf der Festplatte geändert wurde. Bei der Prüfsummenvalidierung wird jede einzelne Seite aus der Datenbank von der Festplatte gelesen und ihre Prüfsumme berechnet, falls die Seite über eine Prüfsumme verfügt. Wenn die berechnete Prüfsumme nicht gleich der für die Seite gespeicherten Prüfsumme ist, wurde die Seite auf der Festplatte geändert und es wird eine Fehlermeldung zurückgegeben. Die Seitennummern ungültiger Seiten erscheinen im Meldungsfenster des Datenbankservers. Die Option -s darf nicht zusammen mit den Optionen -d, -i, -t bzw. einer der -f-Optionen verwendet werden. | ||
-t |
Gibt eine Liste von Objektname-Werten an, die eine Liste von Tabellen oder materialisierten Ansichten darstellt. |
||
Objektname |
Gibt den Namen der Tabelle oder der materialisierten Ansicht an, die zu validieren ist. Wenn die Option -i verwendet wird, bezieht sich Objektname auf einen Index, der stattdessen validiert werden soll. |
Standardmäßig validiert dbvalid alle Tabellen, materialisierten Ansicht und Indizes in der Datenbank sowie die Datenbank selbst. Wenn Sie die Datenbankvalidierung starten, während der Datenbankaufräumvorgang ausgeführt wird, kann die Validierung erst ausgeführt werden, wenn der Datenbankaufräumvorgang abgeschlossen ist. Siehe sa_clean_database-Systemprozedur.
Mit dem Validierungs-Dienstprogramm können Sie die Indizes und Schlüssel in einigen oder allen Tabellen bzw. materialisierten Ansichten in einer Datenbank validieren. Sie können das Validierungs-Dienstprogramm auch verwenden, um zu überprüfen, dass alle Tabellenseiten in der Datenbank dem korrekten Objekt gehören und dass die Seitenprüfsummen korrekt sind. Standardmäßig validiert dbvalid alle Tabellen und materialisierten Ansichten in der Datenbank (dasselbe Verhalten wie die Option -t).
Bei jeder Tabelle oder materialisierte Ansicht durchsucht das Validierungs-Dienstprogramm das gesamte Objekt und schlägt jeden Datensatz in jedem in der Tabelle festgelegten Index und Schlüssel nach. Sie können das Validierungs-Dienstprogramm auch verwenden, um zu überprüfen, dass alle Tabellenseiten in der Datenbank dem korrekten Objekt gehören und dass die Seitenprüfsummen korrekt sind. Um das Validierungs-Dienstprogramm auszuführen, müssen Sie DBA- oder VALIDATE-Berechtigung haben.
Sie können das Validierungs-Dienstprogramm auch folgendermaßen starten:
In Sybase Central verwenden Sie den Assistenten zum Validieren einer Datenbank. Siehe Datenbank validieren.
Von Interactive SQL aus verwenden Sie die VALIDATE-Anweisung. Siehe VALIDATE-Anweisung.
Das Validierungs-Dienstprogramm kann in Verbindung mit regulären Sicherungen verwendet werden, um Ihnen Vertrauen in die Integrität der Daten in Ihrer Datenbank zu geben. Wenn Sie die Sicherungskopie Ihrer Datenbank validieren möchten, wird empfohlen, eine Kopie der Sicherung zu erstellen und die Kopie zu validieren. Damit stellen Sie sicher, dass Sie keine Änderungen an der Datei vornehmen, die zur Wiederherstellung verwendet wird. Siehe Sicherung und Datenwiederherstellung.
Sicherungskopien der Datenbank und des Transaktionslogs dürfen auf keinen Fall geändert werden. Wenn während der Sicherung keine Transaktionen aktiv waren oder Sie BACKUP DATABASE WITH CHECKPOINT LOG RECOVER oder WITH CHECKPOINT LOG NO COPY angegeben haben, können Sie die Validität der Sicherungsdatenbank im Schreibschutzmodus prüfen, oder indem Sie eine Kopie der Sicherungsdatenbank validieren.
Wenn jedoch Transaktionen aktiv waren oder Sie BACKUP DATABASE WITH CHECKPOINT LOG COPY angegeben haben, muss der Datenbankserver eine Wiederherstellung der Datenbank bei ihrem Start durchführen. Die Wiederherstellung verändert die Sicherungskopie, womit verhindert wird, dass nachfolgende Transaktionslogdateien aus der Originaldatenbank angewendet werden.
Wenn durch das Validierungs-Dienstprogramm eine Datenbank automatisch gestartet wird, läuft sie im schreibgeschützten Modus. Damit wird verhindert, dass Änderungen an der Datenbank vorgenommen werden, falls die Validierung Teil eines Sicherungs- oder Wiederherstellungsplans ist.
Wenn sich das Validierungs-Dienstprogramm mit einer laufenden Datenbank verbindet, die nicht im schreibgeschützten Modus gestartet wurde, gibt das Dienstprogramm eine Warnmeldung aus. Diese Warnung erinnert daran, dass die validierte Datenbank nicht in einem Wiederherstellungsplan verwendet werden kann. Aufgrund der Methode, nach der Sicherungen erstellt werden, werden die meisten, von dbbackup erstellten Datenbanken als "Wiederherstellung erforderlich" markiert. Wenn die von Ihnen zu validierende Datenbank Wiederherstellung erfordert und Sie erzwingen wollen, dass sie im schreibgeschützten Modus startet, können Sie entweder die Datenbank starten, bevor Sie dbvalid ausführen, oder einen gültigen Wert für den DBS-Verbindungsparameter angeben. Siehe Verbindungsparameter DatabaseSwitches (DBS).
Mit den beiden nachfolgenden Befehlen kann dbvalid ausgeführt werden, wenn die mycopy.db-Datenbank wiederhergestellt werden muss:
dbvalid -c "UID=DBA;PWD=sql;DBF=mycopy.db;DBS=-n mycopy" |
dbvalid -c "UID=DBA;PWD=sql;DBF=mycopy.db;DBS=-dh" |
Die Validierung einer Tabelle oder einer ganzen Datenbank darf nur durchgeführt werden, wenn keine Verbindungen Änderungen in der Datenbank durchführen, weil sonst möglicherweise Fehler über eine Datenbankbeschädigung gemeldet werden, obwohl eine solche nicht vorliegt.
Das Validierungs-Dienstprogramm kann Warnungen über Prüfsummenverletzungen für Datenbanken ausgeben, bei denen keine globalen Prüfsummen aktiviert sind. Dies liegt daran, dass der Datenbankserver trotzdem automatisch Prüfsummen für kritische Datenbankseiten berechnet, gleichgültig ob Prüfsummen aktiviert sind oder nicht. Eine Datenbank kann auch Prüfsummen für einige Seiten haben, weil sie mit Schreib-Prüfsummen gestartet wurde. Siehe Prüfsummen zur Erkennung von Beschädigungen verwenden.
Der Datenbankserver erstellt Prüfsummen auch automatisch für Datenbanken, die auf Windows Mobile und auf Speichermedien laufen, die nicht so zuverlässig sind, z.B. auf Wechseldatenträgern. Siehe Prüfsummen zur Erkennung von Beschädigungen verwenden.
Für die Validierung ist der exklusive Zugriff auf die jeweilige Tabelle erforderlich. Aus diesem Grund wird die Validierung sinnvollerweise dann durchgeführt, wenn keine anderen Aktivitäten in der Datenbank laufen.
Beendigungscodes sind 0 (Erfolg) oder eine von 0 verschiedene Zahl (Fehlschlag). Siehe Beendigungscodes der Softwarekomponenten.
Weitere Hinweise über die einzelnen während einer Validierung durchgeführten Prüfungen finden Sie unter VALIDATE-Anweisung.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |