Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Verwaltung Ihrer Datenbank » Dienstprogramme für die Datenbankadministration

 

Validierungs-Dienstprogramm (dbvalid)

Validiert die Indizes und Schlüssel in einigen oder allen Tabellen bzw. materialisierten Ansichten in einer Datenbank.

Syntax
dbvalid [ Optionen ] [ Objektname, ... ]
Option Beschreibung
@data

Optionen aus der angegebenen Umgebungsvariablen oder Konfigurationsdatei einlesen. Weitere Hinweise finden Sie unter 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 verwenden. Weitere Hinweise finden Sie unter Dienstprogramm zum Verschleiern von Dateien (dbfhide).

-c "Schlüsselwort=Wert; ..."

Datenbank-Verbindungsparameter angeben. 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:

dbvalid -c "UID=DBA;PWD=sql;DBF=c:\salesdata.db"
-d Prüfen, ob alle Tabellenseiten in der Datenbank dem richtigen Objekt gehören, und Durchführung einer Prüfsummenvalidierung. Die Option -d umfasst keine Validierung von Daten oder Indizes. Die Option -d kann nicht mit den Optionen -i, -s oder -t verwendet werden.
-fx Validieren jeder Zeile in der Tabelle und sicherstellen, 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 Den angegebenen Index validieren
-o Dateiname Meldungen werden in der angegebenen Datei protokolliert.
-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 Datenbank mit Prüfsummen validieren. Mit Prüfsummen kann festgestellt werden, ob eine Datenbankseite auf der Festplatte geändert wurde. Bei der Prüfsummenvalidierung wird jede einzelne Seite der Datenbank von der Festplatte gelesen und die Prüfsumme ermittelt. 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

Eine Liste von Objektname-Werten angeben, 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.

Bemerkungen

Standardmäßig validiert dbvalid alle Tabellen, materialisierten Ansicht und Indizes in der Datenbank sowie die Datenbank selbst.

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. Weitere Hinweise finden Sie unter Datenbank validieren.

  • Von Interactive SQL aus verwenden Sie die VALIDATE-Anweisung. Weitere Hinweise finden Sie unter 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. Weitere Hinweise finden Sie unter Daten sichern und wiederherstellen.

Achtung

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, wenn 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. Weitere Hinweise finden Sie unter DatabaseSwitches-Verbindungsparameter [DBS].

Mit den beiden nachfolgenden Befehlen kann dbvalid ausgeüfhrt 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"
Achtung

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 Prüfsummen aktiviert sind. Dies ist deshalb so, weil der Datenbankserver trotzdem automatisch Prüfsummen für kritische Datenbankseiten berechnet, gleichgültig ob Prüfsummen aktiviert sind oder nicht. 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. Weitere Hinweise finden Sie unter 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). Weitere Hinweise finden Sie unter Beendigungscodes der Softwarekomponenten.

Weitere Hinweise über die einzelnen während einer Validierung durchgeführten Prüfungen finden Sie unter VALIDATE-Anweisung.