Sie können kontrollieren, ob eine materialisierte Ansicht für die Verwendung durch den Datenbankserver verfügbar ist, indem Sie sie aktivieren oder deaktivieren. Eine deaktivierte materialisierte Ansicht wird auch vom Optimierer während der Optimierung nicht berücksichtigt. Wenn eine Abfrage ausdrücklich eine deaktivierte materialisierte Ansicht referenziert, schlägt die Abfrage fehl und es wird ein Fehler gemeldet. Wenn Sie eine materialisierte Ansicht deaktivieren, löscht der Datenbankserver die Daten der Ansicht, behält die Definition jedoch in der Datenbank. Wenn Sie eine materialisierte Ansicht wieder aktivieren, befindet sie sich im nicht initialisierten Zustand, und Sie müssen sie aktualisieren, um sie mit Daten zu füllen.
Reguläre Ansichten, die von einer materialisierten Ansicht abhängig sind, werden automatisch vom Datenbankserver deaktiviert, wenn die materialisierte Ansicht deaktiviert wird. Daher müssen Sie, wenn Sie eine materialisierte Ansicht wieder aktivieren, auch alle abhängigen Ansichten wieder aktivieren. Aus diesem Grund sollten Sie die Liste der Ansichten abrufen, die von der materialisierten Ansicht abhängig sind, bevor Sie diese deaktivieren. Sie können dazu die Systemprozedur "sa_dependent_views" verwenden. Dieses Prozedur prüft die Systemtabelle ISYSDEPENDENCY und liefert eine Liste der abhängigen Ansichten, falls vorhanden.
Wenn Sie eine materialisierte Ansicht deaktivieren, werden die Daten und Indizes gelöscht, und wenn die Ansicht eine Sofortansicht war, wird sie in eine manuelle Ansicht geändert. Wenn Sie sie wieder aktivieren, müssen Sie sie aktualisieren, die Indizes neu erstellen und sie gegebenenfalls wieder in eine Sofortansicht umwandeln.
Sie können Berechtigungen für deaktivierte Objekte erteilen. Berechtigungen für deaktivierte Objekte werden in der Datenbank gespeichert und werden wirksam, wenn das Objekt aktiviert wird.
Verbinden Sie sich als Benutzer mit DBA-Berechtigung oder als Eigentümer der materialisierten Ansicht.
Doppelklicken Sie im linken Fensterausschnitt auf Ansichten.
Rechtsklicken Sie auf die materialisierte Ansicht und wählen Sie Deaktivieren.
Verbinden Sie sich als Benutzer mit DBA-Berechtigung oder als Eigentümer der materialisierten Ansicht.
Führen Sie die Anweisung ALTER MATERIALIZED VIEW ... DISABLE aus.
Das folgende Beispiel erstellt die materialisierte Ansicht EmployeeConfid55, initialisiert sie und deaktiviert sie dann. Wenn sie deaktiviert ist, werden die Daten für die materialisierte Ansicht gelöscht, die Definition der materialisierten Ansicht verbleibt in der Datenbank, die materialisierte Ansicht steht für die Verwendung durch den Datenbankserver nicht zur Verfügung, und falls abhängige Ansichten vorhanden sind, werden sie deaktiviert.
CREATE MATERIALIZED VIEW EmployeeConfid55 AS SELECT EmployeeID, Employees.DepartmentID, SocialSecurityNumber, Salary, ManagerID, Departments.DepartmentName, Departments.DepartmentHeadID FROM Employees, Departments WHERE Employees.DepartmentID=Departments.DepartmentID; REFRESH MATERIALIZED VIEW EmployeeConfid55; ALTER MATERIALIZED VIEW EmployeeConfid55 DISABLE; |
Verbinden Sie sich als Benutzer mit DBA-Berechtigung oder als Eigentümer der materialisierten Ansicht.
Doppelklicken Sie im linken Fensterausschnitt auf Ansichten.
Rechtsklicken Sie auf die materialisierte Ansicht und wählen Sie Neukompilieren und aktivieren.
Optional rechtsklicken Sie auf die Ansicht und wählen Daten aktualisieren, um die Ansicht zu initialisieren und sie mit Daten zu füllen.
Verbinden Sie sich als Benutzer mit DBA-Berechtigung oder als Eigentümer der materialisierten Ansicht.
Führen Sie die Anweisung ALTER MATERIALIZED VIEW ... ENABLE aus.
Führen Sie optional REFRESH MATERIALIZED VIEW aus, um die Ansicht zu initialisieren und mit Daten zu füllen.
Die beiden folgenden Anweisungen reaktivieren die materialisierte Ansicht EmployeeConfid55 und füllen Sie dann mit Daten.
ALTER MATERIALIZED VIEW EmployeeConfid55 ENABLE; REFRESH MATERIALIZED VIEW EmployeeConfid55; |
Wenn Sie dieses Beispiel durchgeführt haben, löschen Sie die von Ihnen erstellte materialisierte Ansicht. Andernfalls können Sie keine Schemaänderungen an ihren Basistabellen Employees und Departments durchführen, wenn Sie andere Beispiele ausprobieren. Sie können das Schema einer Tabelle nicht ändern, die aktivierte, materialisierte Ansichten haben. Weitere Hinweise finden Sie unter Materialisierte Ansichten löschen.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |