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) » MobiLink - Serveradministration » MobiLink-Servertechnologie verwenden » MobiLink - konsolidierte Datenbanken

 

Konsolidierte IBM DB2 Mainframe-Datenbank

DB2 Mainframe als konsolidierte Datenbank einrichten

Um DB2 Mainframe für die Verwendung als MobiLink-konsolidierte Datenbank einzurichten, müssen Sie eine Einrichtungsprozedur durchführen, die Systemtabellen, gespeicherte Prozeduren, Trigger und Ansichten hinzufügt, die für die MobiLink-Synchronisation erforderlich sind. Sie können diese Aufgabe mithilfe von SQL- oder JCL-Methoden ausführen.

Hinweis

Der Datenbankbenutzer, der das Setupskript ausführt, ist die einzige Person, die zum Ändern der MobiLink-Systemtabellen berechtigt ist. Dies ist für die Konfiguration von MobiLink-Anwendungen erforderlich. Weitere Hinweise finden Sie unter Erforderliche Berechtigungen.

Der RDBMS-Benutzer, der mithilfe des MobiLink-Servers eine Verbindung mit der konsolidierten Datenbank herstellt, muss in der Lage sein, die MobiLink-Systemtabellen, Prozeduren usw. ohne Qualifizierer zu verwenden (Beispiel: SELECT * from ml_user). Weitere Hinweise finden Sie unter Systemtabellen des MobiLink-Servers.

♦  Übliche Schritte zur Einrichtung der DB2 Mainframe-Umgebung
  1. Erstellen Sie für das MobiLink-Schema einen Pufferpool mit einer Seitengröße von 8 KByte oder größer und mit Sperren auf Zeilenebene. Die Sperren auf Zeilenebene sind erforderlich, um parallele Synchronisationen für dieselben Tabellen durchführen zu können. Benennen Sie den Pufferpool für dieses Beispiel BP8K.

  2. Erstellen Sie einen Tablespace namens MLTB8K mit einem Pufferpool mit einer Seitengröße von 8 KByte für das MobiLink-Schema. Zum Beispiel:

    create tablespace MLTB8K in IANY bufferpool BP8K locksize row 
    grant use of tablespace IANY.MLTB8K to public
    
  3. Erstellen Sie eine Workload Manager-Umgebung für MobiLink-Schemaprozeduren und nennen Sie sie MLWLM.

  4. Richten Sie eine ODBC-DSN für die konsolidierte DB2 Mainframe-Datenbank ein. Verwenden Sie dazu den ODBC-Treiber, der mit DB2 mitgeliefert wird. Weitere Hinweise finden Sie unter:

♦  So erstellen Sie MobiLink-Systemtabellen mithilfe von SQL
Hinweis

Die SQL-Prozedur setzt die Fähigkeit voraus, gespeicherte Prozeduren mithilfe von DSNTPSMP zu erstellen. Wenn gespeicherte SQL-Prozeduren nicht aktiviert sind, verwenden Sie die JCL-Methode.

  1. Richten Sie mit den unter DB2 Mainframe als konsolidierte Datenbank einrichten aufgelisteten allgemeinen Schritten die DB2 Mainframe-Umgebung ein.

  2. Ändern Sie das Setupskript syncdb2.sql, das sich unter Installationsverzeichnis\MobiLink\setup befindet.

    Hinweis

    Erstellen Sie eine Sicherungskopie der Originaldatei syncd2m.sql, bevor Sie fortfahren.

    Ersetzen Sie in der Datei syncd2m.sql jeweils Folgendes

    • {MLTABLESPACE} durch MLTB8K, den Namen des Tablespace.

    • {WLMENV} durch MLWLM, den Workload Manager.

  3. Führen Sie das Setupskript syncd2m.sql aus, indem Sie Folgendes in der Befehlszeile eingeben:

    dbisql -c "uid=Benutzer-ID;pwd=Kennwort;DSN=DSN-Name" -nogui syncd2m.sql

    Die Nachrichtenlogdatei syncd2m.txt wird generiert.

  4. Öffnen Sie syncd2m.txt, um zu überprüfen, ob die DSNTPSMP-Aufrufe erfolgreich waren.

♦  So erstellen Sie die MobiLink-Systemtabellen mithilfe von JCL
  1. Richten Sie mit den unter DB2 Mainframe als konsolidierte Datenbank einrichten aufgelisteten allgemeinen Schritten die DB2 Mainframe-Umgebung ein.

  2. Ändern Sie das Skript syncd2m_jcl.sql, das sich unter Installationsverzeichnis\MobiLink\setup befindet.

    Hinweis

    Erstellen Sie unbedingt eine Sicherungskopie der Originaldatei syncd2m_jcl.sql, bevor Sie fortfahren.

    Ersetzen Sie in der Datei syncd2m_jcl.sql jeweils Folgendes:

    • {MLTABLESPACE} durch den qualifizierten Tablespace, z.B. MYDB.MYTS.

    • {WLMENV} durch den Namen eines Workload Managers, der Ihrer DB2-Instanz zugeordnet ist.

  3. Starten Sie DBISQL und stellen Sie eine Verbindung mit DB2 Mainframe her.

  4. Führen Sie die bearbeitete Kopie des Setupskripts syncd2m_jcl.sql aus, die sich unter Installationsverzeichnis\MobiLink\Setup befindet, um MobiLink-Tabellen zu erstellen und MobiLink-Prozeduren in DB2 Mainframe festzulegen.

  5. Stellen Sie vom Verzeichnis %SQLANY%\MobiLink\Setup aus eine FTP-Verbindung mit Ihrem Mainframe her und führen Sie die folgenden Befehle aus:

    bin
        hash
        cd xmit
        quote site recfm=fb lrecl=80
        quote site cyl
        put d2mload.xmit
        put d2mdbrm.xmit
        quit
  6. Die beiden xmit-Dateien auf dem Mainframe heißen folgendermaßen:

    • USERID.XMIT.D2MLOAD.XMIT

    • USERID.XMIT.D2MDBRM.XMIT

    USERID ist der Benutzername, den Sie beim Herstellen der FTP-Verbindung angegeben haben.

  7. Öffnen Sie eine Terminalsitzung und führen Sie die folgenden Befehle von der ISPF-Anzeige aus:

    RECEIVE INDATASET('USERID.XMIT.D2MLOAD.XMIT')
        RECEIVE INDATASET('USERID.XMIT.D2MDBRM.XMIT')

    Die Ausgabe lautet wie folgt:

    • USERID.ML.LOADLIB

    • USERID.ML.DBRMLIB

  8. Kopieren Sie die Datei d2mrelod.jcl und ändern Sie sie wie folgt:

    • Ändern Sie USERID in Ihre Mainframe-Benutzer-ID.

    • Ändern Sie DSNDB0T in Ihren DB2 DSN.

  9. Führen Sie die bearbeitete Kopie des Skripts d2mrelod.sql aus, das sich unter Installationsverzeichnis\MobiLink\setup befindet.

  10. Kopieren Sie die Datei d2mbdpk.jcl und ändern Sie sie wie folgt:

    • Ändern Sie USERID in Ihre Mainframe-Benutzer-ID.

    • Ändern Sie DB0T in Ihre DB2 SSID.

  11. Binden Sie alle SQL-Prozeduren ein, indem Sie die bearbeitete Kopie von d2mbdpk.jcl ausführen. In der folgenden Übersicht sind alle den Lademodulnamen zugeordneten SQL-Prozeduren aufgelistet.

    Prozedurname Lademodulname

    ml_add_user

    mlaub

    ml_delete_user

    mldub

    ml_del_sstate

    mldssb

    ml_reset_sstate

    mlrssb

    ml_del_sstate_b4

    mldssbb

    ml_add_lcs_chk

    mlalcscb

    ml_add_lcs

    mlalcsb

    ml_add_cs

    mlacsb

    ml_add_jcs

    mlajcsb

    ml_add_dcs

    mladcsb

    ml_add_lts_chk

    mlaltscb

    ml_add_lts

    mlaltsb

    ml_add_ts

    mlatsb

    ml_add_jts

    mlajtsb

    ml_add_dts

    mladtsb

    ml_add_property

    mlapb

    ml_add_column

    mlacb

    ml_set_device

    mlsdb

    ml_set_device_nt

    mlsdnb

    ml_set_dev_addr

    mlsdab

    ml_set_dev_addr_int

    mlsdanb

    ml_set_listening

    mlslb

    ml_set_listen_nt

    mlslnb

    ml_set_sis_sstate

    mlssssb

    ml_del_dev_addr

    mlddab

    ml_del_listen

    mldlb

    ml_delete_device

    mlddb

Bekannte DB2 Mainframe-Probleme
  • Der Modellmodus kann mit einem DB2 Mainframe nicht verwendet werden   Es ist nicht möglich, DB2 Mainframe als konsolidierte Datenbank zu verwenden, wenn der Assistent zum Erstellen eines Synchronisationsmodells verwendet wird.

  • Hinweise zu SQL Select-Anweisungen   SELECT-Anweisungen in DB2 Mainframe werden standardmäßig für die Aktualisierung geöffnet. D.h. die Datenbank erwirbt Schreibsperren, da nach der SELECT-Anweisung eine UPDATE-Anweisung erwartet wird.

    Um die Schreibsperren zu vermeiden und die Parallelität zu verbessern, hängen Sie an alle SELECT-Anweisungen, die keinen UPDATE-Anweisungen vorausgehen, FOR READ ONLY an. Verwenden Sie FOR READ ONLY in SELECT-Anweisungen so oft wie möglich, vor allem in den Skripten download_cursor und download_delete_cursor.

  • Sysplex erfordert Zeitsynchronisation   Wenn die konsolidierte DB2 Mainframe-Datenbank in einem Sysplex ausgeführt wird, müssen die Systemuhren aller LPARs im Sysplex synchronisiert werden. Ein Fehler bei der Synchronisation der Uhren kann zu einem Datenverlust während der Synchronisation der Datenbank führen.

  • Angenäherte Zahlen   Angenäherte Zahlen haben unterschiedliche mögliche Werte. Die folgende Tabelle enthält Beispiele.

    Typ Eingegebener Wert DB2 Mainframe-Wert ASA-Wert

    Real

    123.456

    123.4559936523

    123.4560012817

    Float

    123.456

    123.45599999999999

    123.4560012817

    Double

    123.456

    123.45599999999999

    123.456

    Es wird empfohlen, die Synchronisation von double-, real- und float-Spalten mit einer konsolidierten Mainframe-Datenbank zu vermeiden.

Isolationsstufe

Weitere Hinweise finden Sie unter MobiLink-Isolationsstufen.