Informationen zu Installationsskripten

Ein Installationsskript kann entweder alle SQL-Anweisungen enthalten, die zum Erstellen der Anwendung erforderlich sind, oder es kann ein Masterskript sein, das andere Skripte ausführt.

Ein Skript ist eine Reihe von SQL-Anweisungen in einer Datei, deren Name mit .sql endet (z.B. create_app.sql). Wenn Sie ein Skript in einem Clientprogramm wie SQL*Plus oder SQL Developer ausführen, werden die SQL-Anweisungen in der Reihenfolge ausgeführt, in der sie im Skript angezeigt werden. Ein Skript, dessen SQL-Anweisungen eine Anwendung erstellen, wird als Installationsskript bezeichnet.

Um eine Anwendung bereitzustellen, führen Sie in der Deployment-Umgebung ein oder mehrere Installationsskripts aus. Für eine neue Anwendung müssen Sie die Installationsskripten erstellen. Bei einer älteren Anwendung können die Installationsskripte vorhanden sein. Andernfalls können Sie sie jedoch erstellen.

Info zu DDL-Anweisungen und Schemaobjekt-Abhängigkeiten

Ein Installationsskript enthält DDL-Anweisungen, die Schemaobjekte erstellen, und optional INSERT-Anweisungen, die Daten in Tabellen laden, die von DDL-Anweisungen erstellt werden. Um Installationsskripte korrekt zu erstellen und mehrere Installationsskripte in der richtigen Reihenfolge auszuführen, müssen Sie die Abhängigkeiten zwischen den Schemaobjekten Ihrer Anwendung kennen.

Wenn die Definition von Objekt A auf Objekt B verweist, dann hängt A von B ab. Daher muss B vor A erstellt werden. Anderenfalls kann je nach Objekttyp die Anweisung, mit der B erstellt wird, entweder nicht ausgeführt werden, oder B wird in einem ungültigen Zustand erstellt.

Bei einer komplexen Anwendung ist die Reihenfolge für das Erstellen von Objekten jedoch selten offensichtlich. In der Regel müssen Sie sich an den Entwickler der Datenbank wenden oder ein Diagramm des Designs zu Rate ziehen.

Siehe:

Info zu INSERT-Anweisungen und Constraints

Wenn Sie ein Installationsskript ausführen, das INSERT-Anweisungen enthält, müssen Sie bestimmen, ob Constraints verletzt werden können, wenn Daten aus Quelltabellen (in der Entwicklungsumgebung) in neue Tabellen in der Deployment-Umgebung eingefügt werden.

Für jede Quelltabelle in Ihrer Anwendung müssen Sie ermitteln, ob beim Einfügen der Daten in die neue Tabelle Constraints verletzt werden könnten. Falls ja, müssen Sie diese Constraints zunächst deaktivieren, dann die Daten einfügen und schließlich versuchen, die Constraints neu zu aktivieren. Wenn ein Datenelement einen Constraint verletzt, können Sie den Constraint erst dann neu aktivieren, wenn Sie den Datenelement korrigiert haben.

Wenn Sie lediglich Lookup-Daten in der korrekten Reihenfolge einfügen (wie in "Daten laden"), werden keine Constraints verletzt. Sie müssen daher nicht zuvor deaktiviert werden.

Wenn Sie Daten aus einer externen Quelle (zum Beispiel Dateien, Arbeitsblätter oder ältere Anwendungen) oder aus vielen Tabellen mit einer großen Menge abhängiger Daten einfügen, deaktivieren Sie die Constraints zuvor.

Sie können die Constraints wie folgt deaktivieren und erneut aktivieren: