DB-OPTIONEN
Gültig für
Extrakt und Replicat
Beschreibung
Verwenden Sie den Parameter DBOPTIONS, um Datenbankoptionen anzugeben. Dies ist ein globaler Parameter, der für alle TABLE- oder MAP-Anweisungen in der Parameterdatei angewendet werden. Einige Optionen für die Parameter DBOPTIONS gelten nur für Extract oder Replicat.
Der Parameter DBOPTIONS kann unabhängig von anderen Parametern an einer beliebigen Stelle in der Parameterdatei platziert werden.
Standard
Keine
Syntax
DBOPTIONS
[ALLOWLOBDATATRUNCATE | NOALLOWLOBDATATRUNCATE]
[ALLOWUNUSEDCOLUMN | NOALLOWUNUSEDCOLUMN]
[ALLOWNONSTANDARDINTERVALDATA]
[BINDCHARFORBITASCHAR]
[CATALOGCONNECT | NOCATALOGCONNECT]
[CONNECTIONPORT <port>]
[DECRYPTPASSWORD <shared_secret> ENCRYPTKEY {DEFAULT | <key_name>}]
[DEFERREFCONST][DELETE_CHECKPOINT_RECS]
[DISABLECOMMITNOWAIT]
[DISABLELOBCACHING]
[ENABLE_INSTANTIATION_FILTERING]
[EMPTYLOBSTRING '<string>']
[FETCHBATCHSIZE <records>]
[FETCHCHECKFREQ <seconds>]
[FETCHLOBS | NOFETCHLOBS]
[FETCHRETRYCOUNT <number>]
[FETCHTIMEOUT <seconds> | NOFECHTIMEOUT]
[FORCE_XML_ESCAPE_CONVERSION]
[HOST *{<DNS_name> | <IP_address>}*]
[INTEGRATEDPARAMS(<parameter>[, ...])]
[LIMITROWS | NOLIMITROWS]
[LOBBUFSIZE <bytes>]
[LOBWRITESIZE <bytes>]
[MAXLOBKEYLEN <datalength>]
[SESSIONPOOLMAX <max_value> |
[SESSIONPOOLMIN <min_value>][SESSIONPOOLINCR <increment_value>]
[SETTAG [<tag_value> | NULL] ]
[SHOWINFOMESSAGES]
[SHOWWARNINGS]
[SKIPTEMPLOB | NOSKIPTEMPLOB]
[SOURCE_DB_NAME <src_dbase>_<global_name>][SPTHREAD | NOSPTHREAD]
[SQLMODE]
[SUPPRESSTEMPORALUPDATES]
[SUPPRESSTRIGGERS | NOSUPPRESSTRIGGERS]
[TDSPACKETSIZE <bytes>]
[TRANSNAME <trans_name>][USEDATABASEENCODING]
[XMLBUFSIZE <bytes>]
ALLOWLOBDATATRUNCATE |
NOALLOWLOBDATATRUNCATE |
Gültig für Replicat für Db2 LUW und MySQL. ALLOWLOBDATATRUNCATE verhindert einen Abbruch von Replicat, wenn replizierte LOB-Daten zu groß für eine Zielspalte CHAR, VARCHAR, BINARY oder VARBINARY sind und nur für Zielspalten LOB gelten. oder Replicat von Db2 LUW, ALLOWLOBDATATRUNCATE verhindert, dass Replicat abhebt, wenn replizierte LOB-Daten zu groß für eine Zielspalte LOB sind. Die Daten der LOB werden ohne weitere Fehlermeldungen oder Warnungen auf die maximale Größe der Zielspalte abgeschnitten.
NOALLOWLOBDATATRUNCATE ist der Standardwert und führt dazu, dass Replicat mit einer Fehlermeldung beendet wird, wenn der replizierte LOB zu groß ist.
ALLOWUNUSEDCOLUMN |
NOALLOWUNUSEDCOLUMN |
Gültig für Extract für Oracle. Steuert, ob Extract abgebrochen wird, wenn eine Tabelle mit einer nicht verwendeten Spalte vorhanden ist.
Der Standardwert ist ALLOWUNUSEDCOLUMN. Wenn Extract auf eine Tabelle mit einer nicht verwendeten Spalte trifft, wird die Verarbeitung fortgesetzt, und mit diesem Parameter wird eine warning.When generiert. Entweder muss dieselbe nicht verwendete Spalte auf dem Ziel vorhanden sein, oder eine Quelldefinitionsdatei für die Tabelle muss für Replicat angegeben werden, damit die korrekte Metadatenzuordnung ausgeführt werden kann.
NOALLOWUNUSEDCOLUMN bewirkt, dass Extract bei nicht verwendeten Spalten abgebrochen wird.
ALLOWNONSTANDARDINTERVALDATA
Gültig für PostgreSQL.
Verwenden Sie DBOPTIONS ALLOWNONSTANDARDINTERVALDATA in der Extract-Parameterdatei, um die gemischten Vorzeichenintervalldaten (oder ein anderes Format von Intervalldaten, das von Oracle GoldenGate nicht unterstützt wird) als Zeichenfolge (nicht als Standardintervalldaten) zu erfassen. Wenn diese Option verwendet wird, lautet das Format der Intervalldaten, die in den Trail geschrieben werden und in die Zielspalte CHAR angewendet werden:
year-component-sign years-months days-component-sign days hour-component-sign hours:minutes:seconds.fractional_seconds
Beispiel: +1026-9 +0 +0:0:22.00000 sollte als 1026 Jahre 9 Monate 0 Tage 0 Stunden 0 Minuten 22 Sekunden interpretiert werden. -0-0 -0 -8 sollte als 0 Jahre 0 Monate 0 Tage -8 Stunden interpretiert werden. +1-3 +0 +3:20 sollte als 1 Jahre 3 Monate 0 Tage 3 Stunden 20 Minuten interpretiert werden.
Wenn bei Replicat die Quellintervalldaten mit DBOPTIONS ALLOWNONSTANDARDINTERVALDATA erfasst und als Zeichenfolge in den Trail geschrieben wurden, kann die entsprechende Quellspalte entweder einer Spalte vom Typ char oder binary im Ziel zugeordnet werden.
BINDCHARFORBITASCHAR
Gültig für DEFGEN, Extract und Replicat für Db2 für i. Ermöglicht, dass Spalten, die als CHAR oder VARCHAR mit CCSID 65535 oder CHAR und VARCHAR FOR BIT DATA definiert sind, so behandelt werden, als hätte das Feld eine normale übersetzbare Codierung. Die Codierung wird aus dem Job CCSID abgerufen. Wenn diese Option aktiviert ist, gibt DEFGEN nicht an, dass das Feld binär in der Datei defs ist.
CATALOGCONNECT |
NOCATALOGCONNECT |
Gültig für Extract und Replicat für ODBC-Datenbanken.
Standardmäßig erstellt Oracle GoldenGate eine neue Verbindung für Katalogabfragen. Sie können jedoch NOCATALOGCONNECT verwenden, um dies zu verhindern.
CONNECTIONPORT <port>
Gültig für Replicat für Multi-Daemon MySQL. Gibt den TCP/IP-Port der Instanz an, zu der Replicat eine Verbindung herstellen muss. Der Mindestwert ist 1 und der Standardwert ist 3306.
DEFERREFCONST |
NODEFERREFCONST |
Gültig für nicht integriertes Replicat für Oracle. Standardoption für paralleles integriertes Replicat.
Legt Constraints auf DEFERRABLE fest, um die Prüfung und Durchsetzung von kaskadierendem Löschen und kaskadierendem Aktualisieren der referenziellen Integritäts-Constraints durch die Oracle-Zieldatenbank zu verzögern, bis die Replicat-Transaktion festgeschrieben ist. Wenn zu diesem Zeitpunkt Constraint-Verletzungen vorliegen, wird ein Fehler generiert. Für das integrierte Replicat müssen keine referenziellen Constraints auf dem Zielsystem deaktiviert werden.
Sie können DEFERREFCONST verwenden, anstatt die Constraints für die Zieltabellen zu deaktivieren oder sie auf DEFERRED zu setzen. Bei Verwendung verzögert DEFERREFCONST sowohl die Constraints DEFERABLE als auch NOT DEFERABLE. DEFERREFCONST gilt für jede Transaktion, die von Replicat verarbeitet wird. Der Parameter DEFERREFCONST funktioniert auf Oracle 11.2.0.2 und höher.
Wird mit einem Oracle AI Database-Release verwendet, das diese Funktionalität nicht unterstützt, wird DEFERREFCONST ignoriert, ohne dass eine Benachrichtigung an das Oracle GoldenGate-Log zurückgegeben wird. Um Fehler beim Commit-Vorgang zu behandeln, können Sie REPERROR auf Root-Ebene der Parameterdatei verwenden und die Option TRANSDISCARD oder TRANSEXCEPTION angeben. Hinweis: Nicht mit DEFERREFCONST-koordiniertem Replicat verwenden, da keine Garantie dafür besteht, dass zugehörige Zeilen in übergeordneten und untergeordneten Tabellen von demselben Thread verarbeitet werden
Die Parallele DBOPTIONS DEFERREFCONST wird der Replicat-Konfiguration nur hinzugefügt, wenn Sie GOLDENGATESETTIGS_REPLICATIONMODE=PARALLEL_NON_INTEGRATED in der Antwortdatei (.rsp) festlegen.
Mit der Option NODEFERREFCONST können Sie die Option DEFERREFCONST deaktivieren.
DELETE_CHECKPOINT_RECS
Gültig für paralleles Replicat für MySQL.
Verwenden Sie die Option DBOPTIONS_DELETE_CHECKPOINT_RECS, um die Standardmethode zum Abschneiden von Checkpoint-Tabellen durch die Klausel "DELETE FROM" zu ersetzen und die Checkpoint-Tabellen in Parallel Replicat zu bereinigen. Dadurch werden Metadatensperren vermieden, die bei Standard-Truncate-Vorgängen in Parallel Replicat auftreten können.
DISABLECOMMITNOWAIT
Gültig für Replicat für Oracle.
Deaktiviert die Verwendung von asynchronem COMMIT durch Replicat. Eine asynchrone COMMIT-Anweisung enthält die Option NOWAIT.
Wenn DISABLECOMMITNOWAIT verwendet wird, gibt Replicat eine standardmäßige synchrone COMMIT (COMMIT mit Option WAIT) aus.
DISABLELOBCACHING
Gültig für nicht integriertes Replicat für Oracle.
Deaktiviert den LOB-Caching-Mechanismus von Oracle. Standardmäßig aktiviert Replicat den LOB-Caching-Mechanismus von Oracle.
ENABLE_INSTANTIATION_FILTERING
Gültig für Oracle.
Aktiviert die automatische CSN-Filterung pro Tabelleninstanziierung für Tabellen, die mit dem Befehl SET_INSTANTIATION_CSN instanziiert wurden.
SOURCE_DB_NAME ist obligatorisch, wenn Oracle AQ-(Advanced Queuing-)Objekte in der Replikation enthalten sind und die prozedurale Replikation aktiviert ist.
FETCHBATCHSIZE <records>
Gültig für Extract für Oracle, Db2 für i, Db2 z/OS, PostgreSQL und SQL Server.
Ermöglicht Arrayabrufe für anfängliche Ladevorgänge, um die Performance zu verbessern, und nicht jeweils eine Zeile. Wird für den erstmaligen Ladeextrakt verwendet.
Gültige Werte für Oracle, Db2 für i, Db2 z/OS und SQL Server sind 0 bis 1000000 Datensätze pro Fetch. Gültige Werte für Db2 LUW sind 1 bis 1000000 Datensätze pro Fetch. Null (0) ist kein gültiger Wert.
Der Standardwert ist
- Die Leistung verlangsamt sich, wenn die Batchgröße sehr klein oder sehr groß wird. Wenn die Tabelle
LOB-Daten enthält, wird Extract in den Single Row-Fetch-Modus zurückgesetzt, und danach wird der Batchabrufmodus fortgesetzt.
FETCHCHECKFREQ <seconds>
Gültig für integrierten Extract für Oracle.
Gibt die Anzahl der Sekunden an, die Extract zwischen jeder Abrufprüfung wartet, bis das ADG aufholt. Eine niedrige Zahl verbessert die Latenz, erhöht jedoch die Anzahl der Abfragen von current_scn from v$database. Der Standardwert beträgt 3 Sekunden. Der Höchstwert beträgt 120 Sekunden.
FETCHLOBS |
NOFETCHLOBS |
Gültig für Extract für Db2 für z/OS und Db2 für LUW.
Unterdrückt das Abrufen von LOBs direkt aus der Datenbanktabelle, wenn die LOB-Optionen für die Tabelle auf NOT LOGGED gesetzt sind. Bei NOT LOGGED ist der Wert für die Spalte nicht in den Transaktionslogs verfügbar und kann nur aus der Tabelle selbst abgerufen werden. Standardmäßig erfasst Oracle GoldenGate Änderungen an LOBs aus den Transaktionslogs. Der Standardwert ist FETCHLOBS.
FETCHRETRYCOUNT <number>
Gültig für Extract für Oracle.
Gibt an, wie oft Extract versucht, bevor ADG-Fortschritt gemeldet wird, oder den Grund für keinen Fortschritt, wenn auf den ADG-Nachholvorgang gewartet wird. Dieser Wert wird mit FETCHCHECKFREQ multipliziert, um ungefähr zu bestimmen, wie oft der ADG-Fortschritt gemeldet wird. Der Standardwert für FETCHRETRYCOUNT ist 5, und der gültige Wertebereich ist 0 - 1000.
FETCHTIMEOUT <seconds> | NOFETCHTIMEOUT
Gültig für Extract für Oracle.
Gibt die Anzahl der Sekunden an, die Extract wartet, nach denen es abgebrochen wird, wenn ADG keinen Fortschritt macht. Kein Fortschritt kann sein, weil der Materialbedarfsplan nicht ausgeführt wird oder keine Redo-Änderungen angewendet werden. In diesem Fall sollte die ADG-Datenbank untersucht werden. Der Standardwert ist 30 Sekunden. Gültige Werte sind 0 - 4294967295 (maximaler Wert ub4) Sekunden. NOFETCHTIMEOUT bedeutet, dass nie ein Timeout (dieselbe wie FETCHTIMEOUT 0) und keine Sekunden damit angegeben werden können.
FORCE_XML_ESCAPE_CONVERSION
Wenn für Trail-Fie-Formate von Oracle GoldenGate19c FORCE_XML_ESCAPE_CONVERSION aktiviert ist, maskiert Replicat die Zeilenvorschubzeichen für die Zeichentypen in den ANYDATA-Spalten. Wenn dieser Parameter für eine Traildatei mit dem Format 19.1 oder höher aktiviert ist, wird er ignoriert, weil Extract das Linefeed-Escape bereits ausführt.
Dieser Parameter wirkt sich nur auf ANYDATA-Spalten aus, wenn NOUSENATIVEOBJSUPPORT für Extract aktiviert ist. Hinweis: Diese Parameteroption wirkt sich nicht auf ANYDATA-Spalten aus, die von Logminer im nativen Modus aus der Datenbank abgerufen wurden.
HOST <{DNS_name | IP_address}>
Gültig für Replicat für Multi-Daemon MySQL.
Gibt den DNS-Namen oder die IP-Adresse des Systems an, das die Instanz hostet, zu der Replicat eine Verbindung herstellen muss.
INTEGRATEDPARAMS(<parameter>[, ...])
Gültig für das integrierte Replicat für Oracle.
Übergibt Einstellungen für Parameter, die den eingehenden Datenbankserver innerhalb der Oracle AI Database-Zielinstanz kontrollieren.
Sie können die Option commit_serialization mit INTEGRATEDPARAMS für integriertes Replicat verwenden, jedoch nicht für paralleles Replicat im integrierten Modus. Das Festlegen interner Datenbankparameter für Extract erfolgt mit TRANLOGOPTIONS INTEGRATEDPARAMS.
Weitere Informationen zu integriertem Replicat und einer Liste der unterstützten eingehenden Serverparameter finden Sie unter Zusätzliche Parameteroptionen für integriertes Replicat und paralleles Replicat im integrierten Modus in der Oracle GoldenGate-Microservices-Dokumentation.
LIMITROWS |
NOLIMITROWS |
Gültig für Replicat für MariaDB, MySQL, Oracle, SingleStore, SQL Server, Sybase und TimesTen.
LIMITROWS verhindert, dass mehrere Zeilen von derselben Replicat SQL-Anweisung aktualisiert oder gelöscht werden, wenn die Zieltabelle keinen Primär- oder eindeutigen Schlüssel aufweist.
LIMITROWS ist der Standardwert. LIMITROWS und NOLIMITROWS gelten global für alle MAP-Anweisungen in einer Parameterdatei.
Für MySQL verwendet LIMITROWS eine LIMIT 1-Klausel in der UPDATE- oder DELETE-Anweisung.
Bei Oracle-Zielen muss LIMITROWS (Standard) verwendet werden. Es verwendet entweder WHERE ROWNUM = 1 oder AND ROWNUM = 1 in der WHERE-Klausel.
Bei SQL Server verwendet LIMITROWS eine SET ROWCOUNT 1-Klausel vor der UPDATE- oder DELETE-Anweisung.
Mit NOLIMITROWS können mehrere Zeilen von derselben Replicat-SQL-Anweisung aktualisiert oder gelöscht werden.
LOBBUFSIZE <bytes>
Gültig für Extract für Db2 LUW, Db2 für i, Db2 z/OS, Oracle, PostgreSQL und SQL Server.
Bei Oracle wird die Speicherpuffergröße in Byte bestimmt, die für jedes eingebettete LOB-Attribut in einem Oracle-Objekttyp zugewiesen werden soll.
Bei Nicht-Oracle-Datenbanken gibt sie die Puffergröße an, mit der LOB-Daten beim ersten Laden abgerufen werden.
Gültige Werte sind 1024 und 104857600 Byte. Der Standardwert beträgt 1048576 Byte.
Wenn die Länge der eingebetteten LOB für Oracle die angegebene Größe von LOBBUFSIZE überschreitet, wird eine Fehlermeldung wie die Folgende generiert:
GGS ERROR ZZ-0L3 Buffer overflow, needed: 2048, allocated:
1024.
LOBWRITESIZE <bytes>
Gültig für nicht integriertes Replicat für Oracle.
Gibt eine Fragmentgröße in Byte für jede LOB an, die Replicat in die Zieldatenbank schreibt. Die LOB-Daten werden in einem Puffer gespeichert, bis diese Größe erreicht ist. Da LOBs in Fragmenten in die Datenbank geschrieben werden müssen, verhindert das Schreiben in größeren Blöcken ein übermäßiges I/O. Je höher der Wert ist, desto weniger I/O-Aufrufe werden von Replicat an den Datenbankserver getätigt, um die gesamte LOB in die Datenbank zu schreiben.
Geben Sie ein Vielfaches der Oracle LOB-Fragmentgröße an. Ein bestimmter Wert wird bei Bedarf auf ein Vielfaches der Oracle LOB-Fragmentgröße aufgerundet. Die Standard-Schreibgröße für LOB ist 32k, wenn DBOPTIONS NOSKIPTEMPLOB angegeben ist, oder 1 MB, wenn DBOPTIONS SKIPTEMPLOB angegeben ist. Gültige Werte: 2.048 Byte bis 2.097.152 Byte (2 MB).
Standardmäßig aktiviert Replicat den LOB-Caching-Mechanismus von Oracle. Um das LOB-Caching von Oracle zu deaktivieren, verwenden Sie die Option DISABLELOBCACHING von DBOPTIONS.
MAXLOBKEYLEN <datalength>
Gültig für Extract für PostgreSQL.
Legt die Datentypspalten LOB fest, die als Teil des Schlüssels verarbeitet werden sollen. Die gültigen Werte des Parameters datalength können zwischen 1 und 8000 liegen. Folgende LOBs können Teil des Schlüssels sein:
-
Bytea -
Char -
Citext -
Text -
Varchar
SESSIONPOOLMAX <max_value>
Gültig für Extract im integrierten Modus für Oracle.
Legt einen maximalen Wert für die Anzahl von Sessions in dem OCI-Sessionpool an, der von Extract für Abrufe aus einer Containerdatenbank verwendet werden. Standardmäßig sind dies 10 Sessions. Muss vor dem Parameter USERIDALIAS angegeben werden. Andernfalls wird ignoriert, und der Standardwert wird verwendet.
SESSIONPOOLMIN <min_value>
Gültig für Extract im integrierten Modus für Oracle.
Legt einen minimalen Wert für die Anzahl von Sessions in dem OCI-Sessionpool an, der vom Extract für Abrufe aus einer Containerdatenbank verwendet werden. Standardmäßig sind dies 2 Sessions. Muss vor dem Parameter USERIDALIAS angegeben werden. Andernfalls wird ignoriert, und der Standardwert wird verwendet.
SESSIONPOOLINCR <increment_value>
Gültig für Extract im integrierten Modus für Oracle.
Legt einen Wert für die Anzahl von inkrementellen Sessionpools fest, die zu dem OCI-Sessionpool hinzugefügt werden können, der vom Extract für Abrufe aus einer Containerdatenbank verwendet werden. Standardmäßig sind dies 2 Sessions. Muss vor dem Parameter USERIDALIAS angegeben werden. Andernfalls wird ignoriert, und der Standardwert wird verwendet.
SETTAG [<tag_value> | NULL
Gültig für Replicat für Oracle.
Legt den Wert für ein Oracle-Redo-Tag fest, mit dem die Transaktionen des zugeordneten Replicats im Redo-Log identifiziert werden. Mit einem Redo-Tag können auch andere Transaktionen als die von Replicat identifiziert werden. Dieser Parameter wird über EXCLUDEUSER und TRACETABLE empfohlen.
Mit dieser Option können Sie verhindern, dass Replicat die einzelnen Datensätze in einer bidirektionalen Konfiguration neu gestartet wird (Loop-Back), oder andere Transaktionen aus der Erfassung herausfiltern. Der Standardwert für SETTAG ist 00 und ist auf 2K Byte begrenzt. Ein gültiger Wert ist jedes einzelne Oracle Streams-Tag. Ein Tagwert kann bis zu 2000 Hexadezimalziffern (0-9 A-F) lang sein.
Transaktionen im Redo, die mit dem angegebenen Tag markiert sind, können durch einen Extract gefiltert werden, bei dem der Parameter TRANLOGOPTIONS mit der Option EXCLUDETAG auf <tag_value> gesetzt ist. Verwenden Sie tagbasierte Filterung, um zu verhindern, dass Replicat-Transaktionen in einer bidirektionalen Konfiguration neu gestartet werden (Loop-Back), oder um andere Transaktionen aus der Erfassung zu filtern. Weitere Informationen finden Sie unter TRANLOGOPTIONS.
Sie können das Tagging von DDL deaktivieren, indem Sie den Parameter [DDLOPTIONS](ddloptions.html#GUID-E316EFCB-862D-4055-8B8E-C48EC82F2DDE) mit der Option NOTAG verwenden.
<hex_value>
Ein Hexadezimalwert von 0 bis F. Standardwert ist 00. Die folgenden Beispiele sind gültig:
DBOPTIONS SETTAG 00112233445566778899AABBCCDDEEFF
DBOPTIONS SETTAG 00112233445566778899aabbccddeeff
DBOPTIONS SETTAG 123
NULL
Deaktiviert die tagbasierte Filterung für das zugehörige Replicat.
SKIPTEMPLOB |
NOSKIPTEMPLOB |
Gültig für Replicat für Oracle Database-Versionen 11g und 12c. Steuert, wie LOBs auf eine Oracle-Zieldatenbank angewendet werden. Der Standardwert von SKIPTEMPLOB.
SKIPTEMPLOB verbessert die Performance, indem LOB-Daten direkt in die Ziel-Spalte LOB geschrieben wird. Replicat erstellt eine SQL-Anweisung mit einem leeren LOB-Wert und gibt den Locator LOB an die Bind-Variable zurück. Nachdem die SQL-Anweisung erfolgreich ausgeführt wurde, werden die LOB-Daten direkt mit dem zurückgegebenen LOB-Positionsanzeiger in die Spalte LOB geschrieben.
NOSKIPTEMPLOB verwendet ein temporäres LOB in der SQL-Anweisung. Replicat deklariert eine Bind-Variable innerhalb der SQL-Anweisung und verknüpft ein temporäres LOB und schreibt dann in das temporäre LOB. Die Oracle AI Database wendet die Spaltendaten LOB aus dem temporären LOB an.
SKIPTEMPLOB gilt für INSERT- und UPDATE-Vorgänge, die LOB-Daten enthalten. Sie gilt nicht, wenn die Tabelle einen funktionalen Index mit einer Spalte LOB enthält, wenn die Daten LOB NULL, leer oder inline gespeichert sind. Gilt nicht für partielle LOB-Vorgänge.
SKIPTEMPLOB bewirkt, dass Replicat beim Aktualisieren/Einfügen einer Zeile mit LOB-Spalten 1 DML+ n LOB_WRITE-Vorgänge (teilweise) generiert/durchführt. SKIPTEMPLOB darf jedoch nicht mit FETCHPARTIALLOB (einem Extract-Parameter) verwendet werden, da dies zu einem übermäßigen Abrufen führt.
NOSKIPTEMPLOB wird aus Gründen der Abwärtskompatibilität bereitgestellt. Andernfalls muss der Standardwert von SKIPTEMPLOB beibehalten werden.
SOURCE_DB_NAME <src_dbase>_<global_name>
Gültig für Oracle.
Gibt den globalen Namen der Trailquelldatenbank an. Wird verwendet, um die relevanten Instanziierungsinformationen abzufragen, wenn DBOPTIONS ENABLE_INSTANTIATION_FILTERING aktiviert ist. Diese Option ist optional für die Instanziierungsfilterung in einer 12.2. Traildatei mit aktivierten Metadaten.
Wenn die Quelle keine DOMAIN enthält, geben Sie keine DOMAIN für die Downstreamdatenbank an.
Die Option SOURCE_DB_NAME ist obligatorisch, wenn Oracle AQ-(Advanced Queuing-)Objekte in der Replikation enthalten sind und die prozedurale Replikation aktiviert wurde. Siehe folgendes Beispiel:
DBOPTIONS SOURCE_DB_NAME CDB1_PDB1.NORTH.COM
SPTHREAD |
NOSPTHREAD |
Gültig für Extract und Replicat. Nicht gültig für Oracle und MySQL.
Erstellt einen separaten Datenbankverbindungsthread für die Verwendung von SQLEXEC zur Ausführung gespeicherter Prozeduren. Der Standardwert ist NOSPTHREAD.
SQLMODE
Wenn diese Option aktiviert ist, wird die Variable sql_mode auf "ANSI_QUOTES" (set sql_mode = 'ANSI_QUOTES') gesetzt. Behandeln Sie die doppelten Anführungszeichen (") als Bezeichneranführungszeichen (wie das `-Anführungszeichen) und nicht als Zeichenfolgenanführungszeichen. Sie können weiterhin ` verwenden, um IDs mit aktiviertem Modus anzugeben. Wenn ANSI_QUOTES aktiviert ist, können Sie keine doppelten Anführungszeichen (") verwenden, um Literalzeichenfolgen in Anführungszeichen zu setzen, da sie als ID interpretiert werden.
Weitere Informationen finden Sie unter Server-SQL-Modi.
SUPPRESSTEMPORALUPDATES
Gültig für Db2 LUW 10.1 FixPack 2 und höhere Replikation der temporalen Tabelle.
Verwenden Sie SUPPRESSTEMPORALUPDATES, um systemperiodische und bitemporale Tabellen zusammen mit zugehörigen Historientabellen zu replizieren. Oracle GoldenGate repliziert die Spalten Zeilenanfang, Zeilenende und Transaktionsstart-ID sowie die anderen Spalten der Tabelle. Sie müssen sicherstellen, dass die Datenbankinstanz die Ausführungsberechtigung zum Ausführen der gespeicherten Prozedur SYSPROC.SET_MAINT_MODE_RECORD_NO_TEMPORALHISTORY¿ auf der Apply-Seite hat.
Standardmäßig repliziert Oracle GoldenGate keine Zeilenanfangs-, Zeilenende- und Transaktionsstart-ID-Spalten. Um die ursprünglichen Werte dieser Spalten beizubehalten, implementieren Sie eine der folgenden Optionen.
-
Fügen Sie zusätzliche Zeitstempelspalten in der temporalen Zieltabelle hinzu, und ordnen Sie die Spalten entsprechend zu.
-
Verwenden Sie auf der Apply-Seite eine nicht-zeitliche Tabelle, und ordnen Sie die Spalten entsprechend zu.
Replikation in nicht von Oracle stammenden Umgebungen:
In Nicht-Oracle-Umgebungen, in denen keine temporalen Tabellen auf der Apply-Seite vorhanden sind, müssen Sie den Spaltenwert für Zeilenbeginn, Zeilenende und Transaktionsstart-ID festlegen. Diese Quellspalten enthalten Zeitstempelwerte, die von der Zieldatenbank möglicherweise nicht unterstützt werden. Verwenden Sie zuerst die Kartenkonvertierungsfunktionen, um diese Werte in das Format zu konvertieren, das die Zieldatenbank unterstützt, und ordnen Sie dann die Spalten entsprechend zu. Beispiel: MySQL hat einen DATETIME-Bereich von 1000-01-01 00:00:00.000000' to '9999-12-31 23:59:59.999999¿'. You cannot replicate a Db2 LUW timestamp value of 0001-01-01-00.00.00.000000000000¿ bis MySQL. Um solche Werte zu replizieren, müssen Sie diesen Wert in das MySQL DATETIME-Format konvertieren. Beispiel: Wenn eine systemperiodische oder bitemporale Tabelle die folgende Zeitstempelspalte enthält:
SYS_START
--------------------------------
0001-01-01-00.00.00.000000000000
Um diese Spalte dann in MySQL zu replizieren, verwenden Sie die Funktion colmap() wie folgt:
map <source_schema>.<source_table>, target <target_schema>.<target_table>
colmap(sys_start= @IF( ( @NUMSTR( @STREXT(sys_start,1,4))) > 1000, sys_start,
'1000-01-01 00.00.00.000000'));
Erstmaliges Laden der temporären Tabelle:
Oracle GoldenGate unterstützt wie gewohnt das erstmalige Laden der temporalen Tabelle.
Berücksichtigen Sie die folgenden Aspekte der temporalen Tabelle:
-
Die Replikation zwischen der temporalen Systemperiode und der temporalen Anwendungsperiode wird nicht unterstützt.
-
Die Replikation von einer nicht-zeitlichen Tabelle in eine temporale Tabelle wird nicht unterstützt.
-
Die Replikation von systemperiodischen, bi-temporalen Tabellen und
SUPPRESSTEMPORALUPDATESmit dem ParameterINSERTALLRECORDSwird nicht unterstützt. -
Wenn ein eindeutiger Index für die temporale Anwendungstabelle mit
BUSINESS_TIME WITHOUT OVERLAPSfür die Zieltabelle erstellt wird, muss derselbe eindeutige Index für die Quelltabelle erstellt werden. -
Die bidirektionale Replikation zwischen temporalen Tabellen wird nur mit dem Default empfohlen.
-
CDR wird nur mit
SUPPRESSTEMPORALUPDATESunterstützt. Bei der bidirektionalen Replikation gibt es keine CDR-Unterstützung. -
Standardmäßig gibt es Inkonsistenzen in Zeilenanfangs-, Zeilenende- und Transaktionsstart-ID-Spalten der temporalen Tabellen, wenn die Quell- und Zieldatenbank mit verschiedenen Zeitzonen arbeiten. Diese Zeitstempelspalten von Systemperioden- und Bitzeittabellen werden automatisch von den jeweiligen Datenbankmanagern aufgefüllt und haben Werte gemäß den jeweiligen Zeitzonen der Datenbanken.
-
Wenn Sie den Standardwert mit
GETUPDATEBEFORESin der Parameterdatei replizieren, können Sie die Spalten Zeilenanfang, Zeilenende und Transaktionsstart-ID nicht in Delta-Berechnungen verwenden. Zum Beispiel ist es nicht möglich, vor und nach dem Abbild solcher Spalten in irgendeiner Art von Berechnungen zu nehmen. Diese Spalten können in Deltaberechnungen mitSUPPRESSTEMPORALUPDATESverwendet werden.
SUPPRESSTRIGGERS |
NOSUPPRESSTRIGGERS |
Gültig für Integrated Replicat und Classic Replicat für Oracle.
Steuert, ob Trigger während der Replicat-Session ausgelöst werden. Bietet eine Alternative zur manuellen Deaktivierung von Triggern. (Integriertes Replicat erfordert keine Deaktivierung von Triggern im Zielsystem.)
SUPPRESSTRIGGERS ist der Standard und verhindert, dass Trigger für Zielobjekte ausgelöst werden, die für die Replikation mit Oracle GoldenGate konfiguriert sind. SUPPRESSTRIGGERS ist gültig für Oracle Database 12c-, 11g-(11.2.0.2-) und spätere 11g R2-Releases. SUPPRESSTRIGGERS ist für 11g R1 nicht gültig.
Damit ein bestimmter Trigger ausgelöst werden kann, können Sie die folgende SQLEXEC-Anweisung in der Replicat-Parameterdatei verwenden, wobei <trigger_owner> der Eigentümer des Triggers und <trigger_name> der Name des Triggers ist.
SQLEXEC 'DBMS_DDL.SET_TRIGGER_FIRING_PROPERTY('"S1"','"MY_TRIGGER"',FALSE);'
Hinweis: Sobald diese SQLEXEC mit FALSE ausgeführt wird, wird der Trigger weiter ausgelöst, bis der Befehl mit der Einstellung TRUE erneut ausgeführt wird.
Mit NOSUPPRESSTRIGGERS können Ziel-Trigger ausgelöst werden. Um [NO]SUPPRESSTRIGGERS verwenden zu können, muss der Replicat-Benutzer über die Berechtigungen verfügen, die über die Benutzerrolle OGG_APPLY erteilt wurden, die von Oracle AI Database 26ai und höher oder über das Package dbms_goldengate_auth.grant_admin_privilege für Oracle Database 21c und niedriger verfügbar sind. Dieses Verfahren ist Teil der Oracle AI Database-Installation. Weitere Informationen finden Sie in der Dokumentation zur Datenbank.
Der Parameter USERIDALIAS muss vor einer DBOPTIONS-Anweisung stehen, die SUPPRESSTRIGGERS oder NOSUPPRESSTRIGGERS enthält.
TRANSNAME <trans_name>
Gültig für Replicat für SQL Server.
Ermöglicht einem einzelnen Replicat die Verwendung eines bestimmten Transaktionsnamens, der in der Parameterdatei angegeben ist. Die <trans_name> ist der Name der Transaktion, die Replicat für DML-Zieltransaktionen verwendet, und überschreibt bei Verwendung den Standardtransaktionsnamen ggs_repl.
USEDATABASEENCODING
Standardmäßig konvertiert Db2 für i Extract alle Textdaten für Nicht-DBCS-Daten in UTF-8 und für DBCS-Daten in UTF-16. Wenn Sie diese Option verwenden, speichert Extract alle Textdaten im Trail in seiner nativen Zeichencodierung für Nicht-DBCS-Daten. Derzeit werden DBCS-Daten (GRAPHIC/VARGRAPHIC/DBCLOB) weiterhin in UTF-16 konvertiert, unabhängig davon, ob dieser Parameter angegeben ist oder nicht. Für CCSID-Werte, die von Oracle GoldenGate nicht unterstützt werden, konvertiert der Extract die Daten für Nicht-DBCS-Daten in UTF-8 und für DBCS-Daten in UTF-16, um die Kompatibilität für alle Replicats sicherzustellen.
XMLBUFSIZE <bytes>
Gültig für Extract für Oracle.
Legt die Größe des Speicherpuffers fest, in dem XML-Daten gespeichert werden, die aus dem Attribut sys.xmltype eines SDO_GEORASTER-Objekttyps extrahiert wurden. Der Standardwert ist 1048576 Byte (1 MB). Wenn die Daten die Standardpuffergröße überschreiten, wird Extract abgebrochen. Erhöhen Sie in diesem Fall die Puffergröße, und starten Sie Extract erneut. Der gültige Wertebereich beträgt 1024 bis 104857600 Byte.
Beispiele
Beispiel 1
DBOPTIONS HOST 127.0.0.1, CONNECTIONPORT 3307
Beispiel 2
DBOPTIONS DECRYPTPASSWORD AACAAAAAAAAAAAIALCKDZIRHOJBHOJUH ENCRYPTKEY DEFAULT
Beispiel 3
DBOPTIONS TDSPACKETSIZE 2048
Beispiel 4
DBOPTIONS FETCHBATCHSIZE 2000
Beispiel 5
DBOOPTION XMLBUFSIZE 2097152