Freigeben über


Erstellen von Skriptdateien (OracleToSQL)

Der erste Schritt vor dem Starten der SSMA-Konsolenanwendung besteht darin, die Skriptdatei zu erstellen und ggf. die Variable-Wertdatei und die Serververbindungsdatei zu erstellen.

Die Skriptdatei kann in drei Abschnitte unterteilt werden, viz..,:

  1. config: Ermöglicht dem Benutzer das Festlegen der Konfigurationsparameter für die Konsolenanwendung.

  2. Server: Ermöglicht dem Benutzer das Festlegen der Quell-/Zielserverdefinitionen. Dies kann sich auch in einer separaten Serververbindungsdatei befinden.

  3. Skriptbefehle: Ermöglicht dem Benutzer das Ausführen von SSMA-Workflowbefehlen.

Jeder Abschnitt wird im Folgenden ausführlich beschrieben:

Konfigurieren der Oracle-Konsoleneinstellungen

Die Konfigurationen eines Skripts werden in der Konsolenskriptdatei angezeigt.

Wenn eines der Elemente im Konfigurationsknoten angegeben ist, werden sie als globale Einstellung festgelegt, d. h. sie gelten für alle Skriptbefehle. Diese Konfigurationselemente können auch innerhalb jedes Befehls im Skriptbefehlsbereich festgelegt werden, wenn der Benutzer die globale Einstellung außer Kraft setzen möchte.

Zu den vom Benutzer konfigurierbaren Optionen gehören:

  1. Ausgabefensteranbieter: Wenn "suppress-messages"-Attribut auf "true" festgelegt ist, werden die befehlsspezifischen Nachrichten nicht auf der Konsole angezeigt. Die Beschreibung der Attribute wird unten angegeben:

    • ziel: Gibt an, ob die Ausgabe in eine Datei oder auf stdout ausgegeben werden soll. Dies ist standardmäßig "false".

    • Dateiname: Der Pfad der Datei (optional).

    • suppress-messages: Unterdrückt Nachrichten auf der Konsole. Dies ist standardmäßig "false".

    Beispiel:

    <output-providers>  
    
      <output-window  
    
        suppress-messages="<true/false>"   (optional)  
    
        destination="<file/stdout>"        (optional)  
    
        file-name="<file-name>"            (optional)  
    
       />  
    
    </output-providers>  
    

    oder

    <...All commands...>  
    
      <output-window  
    
         suppress-messages="<true/false>"   (optional)  
    
         destination="<file/stdout>"        (optional)  
    
         file-name="<file-name>"            (optional)  
    
       />  
    
    </...All commands...>  
    
  2. Datenmigrationsverbindungsanbieter: Dadurch wird angegeben, welcher Quell-/Zielserver für die Datenmigration berücksichtigt werden soll. Der zuletzt verwendete Quellserver gibt an, dass der zuletzt verwendete Quellserver für die Datenmigration verwendet wird. In ähnlicher Weise gibt die Zielverwendung nach der letzten Verwendung an, dass der zuletzt verwendete Zielserver für die Datenmigration verwendet wird. Der Benutzer kann den Server (Quelle oder Ziel) auch mithilfe der Attribute Source-Server oder Target-Server angeben.

    Es kann nur ein oder das andere angegebene Attribut verwendet werden, d. h.:

    • source-use-last-used="true" (Standard) oder source-server="source_servername"

    • target-use-last-used="true" (Standard) oder target-server="target_servername"

    Beispiel:

    <output-providers>  
    
      <data-migration-connection source-use-last-used="true"  
    
                                 target-server="<target-server-unique-name>"/>  
    
    </output-providers>  
    

    oder

    <migrate-data>  
    
      <data-migration-connection   source-server="<source-server-unique-name>"  
    
                                   target-use-last-used="true"/>  
    
    </migrate-data>  
    
  3. Benutzereingabepopup: Dies ermöglicht die Behandlung von Fehlern, wenn die Objekte aus der Datenbank geladen werden. Der Benutzer stellt die Eingabemodi bereit, und im Falle eines Fehlers wird die Konsole in der vom Benutzer angegebenen Weise fortgesetzt.

    Zu den Modi gehören:

    • ask-user - Fordert den Benutzer auf, den Vorgang fortzusetzen („Ja“) oder wegen eines Fehlers abzubrechen („Nein“).

    • Fehler- Die Konsole zeigt einen Fehler an und hält die Ausführung an.

    • fortsetzen- Die Konsole fährt mit der Ausführung fort.

    Der Standardmodus ist ein Fehler.

    Beispiel:

    <output-providers>  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </output-providers>  
    

    oder

    <!-- Connect to target database -->  
    
    <connect-target-database server="<target-server-unique-name>">  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </connect-target-database>  
    
  4. Anbieter erneut verbinden: Auf diese Weise kann der Benutzer die Einstellungen für die erneute Verbindung im Fall von Verbindungsfehlern festlegen. Dies kann sowohl für Quell- als auch für Zielserver festgelegt werden.

    Die Modi für die erneute Verbindung sind:

    • Wiederverbindung mit dem zuletzt verwendeten Server: Wenn die Verbindung nicht aktiv ist, versucht sie bis zu fünf Mal, eine erneute Verbindung zum zuletzt genutzten Server herzustellen.

    • generate-an-error: Wenn die Verbindung nicht aktiv ist, wird ein Fehler generiert.

    Der Standardmodus ist generate-an-error.

    Beispiel:

    <output-providers>  
    
      <reconnect-manager on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"  
    
                         on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>  
    
    </output-providers>  
    

    oder

    <!--synchronization-->  
    
    <synchronize-target>  
    
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>  
    
    </synchronize-target>  
    

    oder

    <!--data migration-->  
    
    <migrate-data server="<target-server-unique-name>">  
    
      <reconnect-manager  
    
        on-source-reconnect="reconnect-to-last-used-server"  
    
        on-target-reconnect="generate-an-error"/>  
    
    </migrate-data>  
    
  5. Konverterüberschreibanbieter: Dadurch kann der Benutzer Objekte behandeln, die bereits auf der Zielmetabasis vorhanden sind. Die möglichen Aktionen umfassen:

    • fehler: Die Konsole zeigt einen Fehler an und hält die Ausführung an.

    • überschreiben: Überschreibt vorhandene Objektwerte. Diese Aktion wird standardmäßig ausgeführt.

    • skip: Die Konsole überspringt die Objekte, die bereits in der Datenbank vorhanden sind.

    • ask-user: Fordert den Benutzer zur Eingabe auf ('ja'/ 'nein')

    Beispiel:

    <output-providers>  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </output-providers>  
    

    oder

    <convert-schema object-name="<object-name>">  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </convert-schema>  
    
  6. Fehler beim Anbieter für Erforderliche Komponenten: Auf diese Weise kann der Benutzer alle Voraussetzungen verarbeiten, die für die Verarbeitung eines Befehls erforderlich sind. Der Strict-Modus ist standardmäßig "false". Wenn sie auf "true" festgelegt ist, wird eine Ausnahme generiert, wenn die Voraussetzungen nicht erfüllt werden.

    Beispiel:

    <output-providers>  
    
      <prerequisites strict-mode="<true/false>"/>  
    
    </output-providers>  
    
  7. Vorgang beenden: Wenn der Benutzer den Vorgang während des Mittleren Vorgangs beenden möchte, kann der Hotkey "STRG+C" verwendet werden. SSMA für Oracle Console wartet auf den Abschluss des Vorgangs und beendet die Konsolenausführung.

    Wenn der Benutzer die Ausführung sofort beenden möchte, kann der Hotkey "STRG+C" erneut zum abrupten Beenden der SSMA-Konsolenanwendung gedrückt werden.

  8. Fortschrittsanbieter: Informiert über den Fortschritt der einzelnen Konsolenbefehle. Diese Einstellung ist standardmäßig deaktiviert. Die Statusberichtsattribute umfassen:

    • Aus

    • alle 1%

    • alle 2%

    • alle 5%

    • alle 10%

    • alle 20%

    Beispiel:

    <output-providers>  
    
      <progress-reporting enable="<true/false>"            (optional)  
    
                          report-messages="<true/false>"   (optional)  
    
                          report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off" (optional)/>  
    
    </output-providers>  
    

    oder

    <...All commands...>  
    
      <progress-reporting  
    
        enable="<true/false>"            (optional)  
    
        report-messages="<true/false>"   (optional)  
    
        report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off"     (optional)/>  
    
    </...All commands...>  
    
  9. Logger-Verbosität: Legt die Ausführlichkeitsebene des Protokolls fest. Dies entspricht der Option "Alle Kategorien" auf der Benutzeroberfläche. Standardmäßig ist die Ausführlichkeitsebene des Protokolls "error".

    Zu den Loggerebenenoptionen gehören:

    • schwerwiegender Fehler: Es werden nur schwerwiegende Fehlermeldungen protokolliert.

    • fehler: Nur Fehler- und schwerwiegende Fehlermeldungen werden protokolliert.

    • Warnung: Alle Ebenen mit Ausnahme von Debug- und Infomeldungen werden protokolliert.

    • Info: Alle Ebenen mit Ausnahme von Debugmeldungen werden protokolliert.

    • debug: Alle Nachrichtenebenen protokolliert.

    Hinweis

    Obligatorische Nachrichten werden auf jeder Ebene protokolliert.

    Beispiel:

    <output-providers>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </output-providers>  
    

    oder

    <...All commands...>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </...All commands...>  
    
  10. Außerkraftsetzen des verschlüsselten Kennworts: Wenn "true", überschreibt das im Serverdefinitionsbereich der Serververbindungsdatei oder in der Skriptdatei angegebene Klartextkennwort das im geschützten Speicher gespeicherte verschlüsselte Kennwort, falls vorhanden. Wenn kein Kennwort im Klartext angegeben ist, wird der Benutzer aufgefordert, das Kennwort einzugeben.

    Hier treten zwei Fälle auf:

    1. Wenn die Option false ist, lautet die Reihenfolge der Suche Geschützter Speicher->Script-Datei->Server-Verbindungsdatei->Benutzeraufforderung.

    2. Wenn die Option 'Überschreiben' true ist, lautet die Reihenfolge der Suche Skriptdatei>-Serververbindungsdatei>-Benutzereingabe auffordern.

    Beispiel:

    <output-providers>  
    
      <encrypted-password override="<true/false>"/>  
    
    </output-providers>  
    

Die nicht konfigurierbare Option lautet:

  • Maximale Wiederverbindungsversuche: Wenn eine bestehende Verbindung aufgrund eines Netzwerkfehlers ausläuft oder unterbrochen wird, muss der Server erneut verbunden werden. Die Wiederholungsversuche sind auf maximal 5 Versuche begrenzt, danach stellt die Konsole automatisch die Verbindung erneut her. Die Funktion der automatischen Wiederverbindung reduziert Ihren Aufwand beim erneuten Ausführen des Skripts.

Serververbindungsparameter

Serververbindungsparameter können in der Skriptdatei oder in der Serververbindungsdatei definiert werden. Weitere Informationen finden Sie im Abschnitt "Creating the Server Connection Files (OracleToSQL) ".

Skriptbefehle

Die Skriptdatei enthält eine Sequenz von Migrationsworkflowbefehlen im XML-Format. Die SSMA-Konsolenanwendung verarbeitet die Migration in der Reihenfolge der Befehle, die in der Skriptdatei angezeigt werden.

Beispielsweise folgt eine typische Datenmigration einer bestimmten Tabelle in einer Oracle-Datenbank der Hierarchie von: Schema -> Table.

Wenn alle Befehle in der Skriptdatei erfolgreich ausgeführt werden, wird die SSMA-Konsolenanwendung beendet und gibt das Steuerelement an den Benutzer zurück. Der Inhalt einer Skriptdatei ist mehr oder weniger statisch mit Variableninformationen, die entweder in einer Creating Variable Value Files (OracleToSQL) enthalten sind, oder in einem separaten Abschnitt in der Skriptdatei für Variablenwerte.

Beispiel:

<!--Sample of script file commands -->  
  
<ssma-script-file>  
  
  <script-commands>  
  
    <create-new-project project-folder="<project-folder>"  
  
                        project-name="<project-name>"  
  
                        overwrite-if-exists="<true/false>"/>  
  
    <connect-source-database server="<source-server-unique-name>"/>  
  
    <save-project/>  
  
    <close-project/>  
  
  </script-commands>  
  
</ssma-script-file>  

Vorlagen, die aus drei Skriptdateien (für die Ausführung verschiedener Szenarien), variabler Wertdatei und einer Serververbindungsdatei bestehen, werden im Ordner "Beispielkonsolenskripts" des Produktverzeichnisses bereitgestellt:

  • AssessmentReportGenerationSample.xml

  • ConversionAndDataMigrationSample.xml

  • SqlStatementConversionSample.xml

  • VariableValueFileSample.xml

  • ServersConnectionFileSample.xml

Sie können die Vorlagen (Dateien) nach dem Ändern der dort angezeigten Parameter zur Relevanz ausführen.

Vollständige Liste der Skriptbefehle finden Sie unter Ausführen der SSMA-Konsole (OracleToSQL)

Skriptdateiüberprüfung

Der Benutzer kann seine Skriptdatei ganz einfach anhand der Schemadefinitionsdatei "O2SSConsoleScriptSchema.xsd" überprüfen, die im Ordner "Schemas" verfügbar ist.

Nächster Schritt

Der nächste Schritt beim Ausführen der Konsole ist das Erstellen von Variablenwertdateien (OracleToSQL).

Siehe auch

Erstellen von Variablenwertdateien (OracleToSQL)