@GETENV

Verwenden Sie die Funktion @GETENV, um Informationen zur Oracle GoldenGate-Umgebung zurückzugeben. Sie können die Informationen wie folgt eingeben:

Syntax

@GETENV (
'LAG' , '<unit>' |
'LASTERR' , '<error_info>' |
'JULIANTIMESTAMP' |
'JULIANTIMESTAMP_PRECISE' |
'RECSOUTPUT' |
{'STATS'|'DELTASTATS'}, ['TABLE', '<table>'], '<statistic>' |
'GGENVIRONMENT', '<environment_info>' |
'GGFILEHEADER', '<header_info>'|
'GGHEADER', '<header_info>' |
'RECORD', '<location_info>' |
'DBENVIRONMENT', '*<database_info>,*',
'TRANSACTION', '<transaction_info>' |
'OSVARIABLE', '<variable>' |
'TLFKEY', SYSKEY, <unique_key>
'USERNAME',
'OSUSERNAME',
'MACHINENAME',
'PROGRAMNAME',
'CLIENTIDENTIFIER',
'SOURCEDATABASEINFO'
)

'LAG' , '<unit>'

Gültig für Extract und Replicat.

Verwenden Sie die Option LAG von @GETENV, um Verzögerungsinformationen zurückzugeben. Die Verzögerung ist die Differenz zwischen der Verarbeitungsdauer eines Datensatzes durch Extract oder Replicat und dem Zeitstempel des Datensatzes in der Datenquelle.

Syntax

SEC

‘SEC’

Gibt die Verzögerung in Sekunden zurück. Dies ist der Standardwert, wenn eine Einheit nicht explizit für LAG angegeben wird.

‘MSEC’

Gibt die Verzögerung in Millisekunden zurück.

‘MIN’

Gibt die Verzögerung in Minuten zurück.

'LASTERR' , '<error_info>'

Gültig für Replicat.

Verwenden Sie die Option LASTERR von @GETENV, um Informationen über den letzten nicht erfolgreichen Vorgang zurückzugeben, der von Replicat verarbeitet wurde.

Syntax

@GETENV ('LASTERR', {'DBERRNUM'|'DBERRMSG'|'OPTYPE'|'ERRTYPE'})

‘DBERRNUM’

Gibt die Datenbankfehlernummer zurück, die mit dem nicht erfolgreichen Vorgang verknüpft ist.

‘DBERRMSG’

Gibt die Datenbankfehlermeldung zurück, die mit dem nicht erfolgreichen Vorgang verknüpft ist.

‘OPTYPE’

Gibt den Vorgangstyp zurück, der versucht wurde.

‘ERRTYPE’

Gibt den Fehlertyp zurück. Mögliche Ergebnisse:

'JULIANTIMESTAMP'|'JULIANTIMESTAMP_PRECISE'

Gültig für Extract und Replicat.

Verwenden Sie die Option JULIANTIMESTAMP von @GETENV, um die aktuelle Uhrzeit im julianischen Format zurückzugeben. Die Einheit ist Mikrosekunden (ein Millionstel einer Sekunde). Auf einem Windows-Rechner wird der Wert mit Nullen (0) aufgefüllt, da die Granularität des Windows-Zeitstempels Millisekunden (ein Tausendstel einer Sekunde) beträgt. Beispiel: Eine typische Spaltenzuordnung ist wie folgt:

MAP dbo.tab8451, Target targ.tabjts, COLMAP (USEDEFAULTS, &
JTSS = @GETENV ('JULIANTIMESTAMP')
JTSFFFFFF = @date ('yyyy-mm-dd hh:mi:ss.ffffff', 'JTS', &
@getenv ('JULIANTIMESTAMP') ) )
;

Mögliche Werte für die Spalten JTSS und JTSFFFFFF sind:

212096320960773000 2010-12-17:16:42:
40.773000
212096321536540000 2010-12-17:16:52:16.540000
212096322856385000 2010-12-17:17:14:16.385000
212096323062919000 2010-12-17:17:17:42.919000
212096380852787000 2010-12-18:09:20:52.787000

Die letzten drei Ziffern (die Mikrosekunden) der Zahl enthalten die Füllung von 0s .

Optional können Sie die Option 'JULIANTIMESTAMP_PRECISE' verwenden, um einen Zeitstempel mit hoher Genauigkeit abzurufen. Dies kann sich jedoch auf die Performance auswirken. Hinweis: Verwenden Sie diese Werte nicht für Bestellvorgänge. Verwenden Sie stattdessen diesen Wert: @COMPUTE(@COMPUTE(@NUMSTR(@GETENV ("RECORD", "FILESEQNO")*100000000000)+@NUMSTR(@GETENV ("RECORD", "FILERBA")))"

Syntax

@GETENV ('JULIANTIMESTAMP')
@GETENV ('JULIANTIMESTAMP_PRECISE')

'RECSOUTPUT'

Gültig für Extract.

Verwenden Sie die Option RECSOUTPUT von @GETENV, um eine aktuelle Anzahl der Datensätze abzurufen, die Extract seit dem Start des Prozesses in die Traildatei geschrieben hat. Der zurückgegebene Wert ist nicht eindeutig für eine Tabelle oder Transaktion, sondern für die Extract-Session selbst. Die Anzahl wird auf 1 zurückgesetzt, wenn Extract gestoppt und dann erneut gestartet wird.

Syntax

@GETENV ('RECSOUTPUT')

{'STATS'|'DELTASTATS'}, ['TABLE', '<table>'], '<statistic>'

Gültig für Extract und Replicat.

Verwenden Sie die Optionen STATS und DELTASTATS von @GETENV, um die Anzahl der Vorgänge zurückzugeben, die pro Tabelle für einen oder alle der folgenden Vorgänge verarbeitet wurden:

Alle Fehler bei der Verarbeitung dieser Funktion, wie z.B. ein nicht aufgelöster Tabelleneintrag oder eine falsche Syntax, geben eine Null (0) für den angeforderten Statistikwert zurück.

Erläuterungen zur Auswirkung wiederkehrender Tabellenspezifikationen auf Vorgangszählungen

Ein Extract, der dieselbe Quelltabelle in mehrere Ausgabetrails verarbeitet, gibt Statistiken basierend auf jedem lokalisierten Ausgabetrail zurück, in den die mit @GETENV verknüpfte Tabelle geschrieben wird. Beispiel: Wenn Extract 100 Einfügungen für Tabelle ABC erfasst und Tabelle ABC in drei Trails schreibt, ist das Ergebnis für @GETENV 300

EXTRACT ABC
...
EXTTRAIL c:\north\aa;
TABLE TEST.ABC;
EXTTRAIL c:\north\bb;
TABLE TEST.ABC;
TABLE EMI, TOKENS (TOKEN-CNT = @GETENV ('STATS', 'TABLE', 'ABC', 'DML'));
EXTTRAIL c:\north\cc;
TABLE TEST.ABC;

Wenn ein Extract eine Quelltabelle mehrmals in einen einzelnen Ausgabetrail schreibt oder wenn ein Replicat mehrere MAP-Anweisungen für dieselbe TARGET-Tabelle enthält, basieren die Statistikergebnisse auf allen übereinstimmenden TARGET-Einträgen. Beispiel: Wenn Replicat 20 Zeilen für REGION 'WEST, 10 Zeilen für REGION 'EAST, 5 Zeilen für REGION 'NORTH und 2 Zeilen für REGION 'SOUTH' (alle für Tabelle ABC) filtert, ist das Ergebnis von @GETENV 37.

REPLICAT ABC
...
MAP TEST.ABC, TARGET TEST.ABC, FILTER (@STREQ (REGION, 'WEST'));
MAP TEST.ABC, TARGET TEST.ABC, FILTER (@STREQ (REGION, 'EAST'));
MAP TEST.ABC, TARGET TEST.ABC, FILTER (@STREQ (REGION, 'NORTH'));
MAP TEST.ABC, TARGET TEST.ABC, FILTER (@STREQ (REGION, 'SOUTH'));
MAP TEST.EMI, TARGET TEST.EMI, &
    COLMAP (CNT = @GETENV ('STATS', 'TABLE', 'ABC', 'DML'));

Mehrere Statistiken erfassen

Sie können mehrere Instanzen von @GETENV ausführen, um die Anzahl für verschiedene Vorgangstypen abzurufen.

In diesem Beispiel werden nur Statistiken für die Vorgänge INSERT und UPDATE zurückgegeben:

REPLICAT TEST
..
..
MAP TEST.ABC, TARGET TEST.ABC, COLMAP (USEDEFAULTS, IU = @COMPUTE (@GETENV &
    ('STATS', 'TABLE', 'ABC', 'DML') - (@GETENV ('STATS', 'TABLE', &
    'ABC', 'DELETE'));

In diesem Beispiel werden Statistiken für die Vorgänge DDL und TRUNCATE zurückgegeben:

REPLICAT TEST2
..
..
MAP TEST.ABC, TARGET TEST.ABC, COLMAP (USEDEFAULTS, DDL = @COMPUTE &
(@GETENV ('STATS', 'DDL') + (@GETENV ('STATS', 'TRUNCATE'));

Beispielanwendungsfall

Wenn im folgenden Anwendungsfall alle DML aus der Quelle erfolgreich auf das Ziel angewendet werden, wird Replicat durch EVENTACTIONS mit SUSPEND unterbrochen, bis es von GGSCI mit SEND REPLICAT mit RESUME fortgesetzt wird.

GETENV wird in der Extract-Parameterdatei verwendet:

TABLE HR1.HR*;
TABLE HR1.STAT, TOKENS ('env_stats' = @GETENV ('STATS', 'TABLE', &
    'HR1.HR*', 'DML'));

GETENV in Replicat-Parameterdatei verwendet:

MAP HR1.HR*, TARGET HR2.*;
MAP HR1.STAT, TARGET HR2.STAT, filter (
    @if (
    @token ('stats') =
    @getenv ('STATS', 'TABLE', 'TSSCAT.TCUSTORD', 'DML'), 1, 0 )
    ),
    eventactions (suspend);

Statistiken in FILTER-Klauseln verwenden

Die von STATS und DELTASTATS zurückgegebenen Statistiken sind dynamische Werte und werden nach der Zuordnung inkrementiert. Wenn Sie also CDR-Statistiken in einer FILTER-Klausel in jeder der mehreren MAP-Anweisungen verwenden, müssen Sie die MAP-Anweisungen in absteigender Reihenfolge der Statistikwerte sortieren. Wenn die Reihenfolge nicht korrekt ist, gibt Oracle GoldenGate den Fehler OGG-01921 zurück. Ausführliche Informationen zu dieser Anforderung finden Sie im Dokument 1556241.1 in der Wissensdatenbank von My Oracle Support unter https://support.oracle.com.

Beispiel 4-1: MAP-Anweisungen, die Statistiken in FILTER-Klauseln enthalten

Im folgenden Beispiel werden die MAP-Anweisungen, die den Filter für die Statistik CDR_CONFLICTS enthalten, in absteigender Reihenfolge der Statistik sortiert: >3, =3, <3.

MAP TEST.GG_HEARTBEAT_TABLE, TARGET TEST.GG_HEARTBEAT_TABLE COMPARECOLS (ON UPDATE ALL),RESOLVECONFLICT(UPDATEROWEXISTS,(DEFAULT, OVERWRITE)),FILTER (@GETENV ("STATS", "CDR_CONFLICTS") > 3),EVENTACTIONS (LOG INFO);MAP TEST.GG_HEARTBEAT_TABLE, TARGET TEST.GG_HEARTBEAT_TABLE COMPARECOLS (ON UPDATE ALL),RESOLVECONFLICT(UPDATEROWEXISTS,(DEFAULT, OVERWRITE)),FILTER (@GETENV ("STATS", "CDR_CONFLICTS") = 3),EVENTACTIONS (LOG WARNING);MAP TEST.GG_HEARTBEAT_TABLE, TARGET TEST.GG_HEARTBEAT_TABLE COMPARECOLS (ON UPDATE ALL),RESOLVECONFLICT(UPDATEROWEXISTS,(DEFAULT, OVERWRITE)),FILTER (@GETENV ("STATS", "CDR_CONFLICTS") < 3),EVENTACTIONS (LOG WARNING);

Syntax

@GETENV ({'STATS' | 'DELTASTATS'}, ['TABLE', '<table>'], '<statistic>')
{‘STATS’ ‘DELTASTATS’}

STATS gibt die Anzahl seit dem Hochfahren des Prozesses zurück, während DELTASTATS die Anzahl seit der letzten Ausführung eines DELTASTATS zurückgibt.

Die Ausführungslogik lautet wie folgt:

‘TABLE’, ‘<table>’

Führt STATS oder DELTASTATS nur für die angegebene Tabelle oder die angegebenen Tabellen aus. Ohne diese Option werden Zählungen für alle Tabellen zurückgegeben, die in den Parametern TABLE (Extract) oder MAP (Replicat) in der Parameterdatei angegeben sind.

Gültige <table_name>-Werte sind:

Beispiel: Im Folgenden werden DML-Vorgänge nur für Tabellen im Schema hr gezählt:

MAP fin.*, TARGET fin.*;
MAP hr.*, TARGET hr.*;
MAP hq.rpt, TARGET hq.rpt, COLMAP (USEDEFAULTS, CNT = @GETENV ('STATS', 'TABLE', 'hr.*', 'DML'));

Ebenso zählen die folgenden DML-Vorgänge nur für die Tabelle emp im Schema hr:

MAP fin.*, TARGET fin.*;
MAP hr.*, TARGET hr.*;
MAP hq.rpt, TARGET hq.rpt, COLMAP (USEDEFAULTS, CNT = @GETENV ('STATS', 'TABLE', 'hr.emp', 'DML'));

Da im folgenden Beispiel keine spezifischen Tabellen für STATS angegeben sind, zählt die Funktion alle INSERT-, UPDATE- und DELETE-Vorgänge für alle Tabellen in allen Schemas, die in den TARGET-Klauseln von MAP-Anweisungen dargestellt werden:

MAP fin.*, TARGET fin.*;
MAP hr.*, TARGET hr.*;
MAP hq.rpt, TARGET hq.rpt, COLMAP (USEDEFAULTS, CNT = &
@GETENV ('STATS', 'DML'));

<'statistic>’

Der Typ der zurückzugebenden Statistik. Wichtige Informationen zur Verwendung von Statistiken in FILTER-Klauseln in mehreren TABLE- oder MAP-Anweisungen finden Sie unter Statistiken in FILTER-Klauseln verwenden.

‘INSERT’

Gibt die Anzahl der INSERT-Vorgänge zurück, die verarbeitet wurden.

‘UPDATE’

Gibt die Anzahl der UPDATE-Vorgänge zurück, die verarbeitet wurden.

‘DELETE’

Gibt die Anzahl der DELETE-Vorgänge zurück, die verarbeitet wurden.

‘DML’

Gibt die Gesamtanzahl der verarbeiteten Vorgänge INSERT, UPDATE, und DELETE zurück.

‘TRUNCATE’

Gibt die Anzahl der TRUNCATE-Vorgänge zurück, die verarbeitet wurden. Diese Variable gibt nur dann eine Anzahl zurück, wenn die Oracle GoldenGate-Replikation DDL nicht verwendet wird. Wenn die Replikation DDL verwendet wird, gibt diese Variable eine Null zurück.

‘DDL’

Gibt die Anzahl der verarbeiteten DDL-Vorgänge zurück, einschließlich TRUNCATEs und DDL, die in den Klauseln INCLUDE und EXCLUDE des Parameters DDL angegeben sind, alle Geltungsbereiche (MAPPED, UNMAPPED, OTHER). Diese Variable gibt nur dann eine Anzahl zurück, wenn die Oracle GoldenGate-Replikation DDL verwendet wird. Diese Variable ist für 'DELTASTATS nicht gültig.

‘CDR_CONFLICTS’

Gibt die Anzahl der Konflikte zurück, die Replicat bei der Ausführung der CDR-(Conflict Detection and Resolution-)Funktion ermittelt hat.

Beispiel für eine bestimmte <table>:

@GETENV ('STATS','TABLE','HR.EMP','CDR_CONFLICTS')

Beispiel für alle Tabellen, die von Replicat verarbeitet werden:

@GETENV ('STATS','CDR_CONFLICTS')

‘CDR_RESOLUTIONS_SUCCEEDED’

Gibt die Anzahl der Konflikte zurück, die Replicat bei der Ausführung der CDR-Funktion (Conflict Detection and Resolution) aufgelöst hat.

Beispiel für eine bestimmte <table>:

@GETENV ('STATS','TABLE','HR.EMP', 'CDR_RESOLUTIONS_SUCCEEDED')

Beispiel für alle Tabellen, die von Replicat verarbeitet werden:

@GETENV ('STATS','CDR_RESOLUTIONS_SUCCEEDED')

‘CDR_RESOLUTIONS_FAILED’

Gibt die Anzahl der Konflikte zurück, die Replicat bei der Ausführung der CDR-Funktion (Conflict Detection and Resolution) nicht lösen konnte.

Beispiel für eine bestimmte <table>:

@GETENV ('STATS','TABLE','HR.EMP', 'CDR_RESOLUTIONS_FAILED')

Beispiel für alle Tabellen, die von Replicat verarbeitet werden:

@GETENV ('STATS','CDR_RESOLUTIONS_FAILED')

'GGENVIRONMENT' , '<environment_info>'

Gültig für Extract und Replicat.

Verwenden Sie die Option GGENVIRONMENT von @GETENV, um Informationen zur Oracle GoldenGate-Umgebung zurückzugeben.

Syntax

@GETENV ('GGENVIRONMENT', {'DOMAINNAME'|'GROUPDESCRIPTION'|'GROUPNAME'|
   'GROUPTYPE'|'HOSTNAME'|'OSUSERNAME'|'PROCESSID')

‘DOMAINNAME’

(Nur Windows) Gibt den Domainnamen zurück, der dem Benutzer zugeordnet ist, der den Prozess gestartet hat.

‘GROUPDESCRIPTION’

Gibt die Beschreibung der Gruppe aus der Checkpoint-Datei zurück. Erfordert, dass eine Beschreibung mit dem Parameter DESCRIPTION angegeben wurde, als die Gruppe mit dem Befehl ADD erstellt wurde.

‘GROUPNAME’

Gibt den Namen der Prozessgruppe zurück.

‘GROUPTYPE’

Gibt den Prozesstyp zurück, EXTRACT oder REPLICAT.

‘HOSTNAME’

Gibt den Namen des Systems zurück, auf dem der Extract- oder Replicat-Prozess ausgeführt wird.

‘OSUSERNAME’

Gibt den Betriebssystembenutzernamen zurück, der den Prozess gestartet hat.

‘PROCESSID’

Gibt den Prozess ID zurück, der dem Prozess vom Betriebssystem zugewiesen ist.

'GGHEADER' , '<header_info>'

Gültig für Extract und Replicat.

Verwenden Sie die Option GGHEADER von @GETENV, um Informationen aus dem Headerteil eines Oracle GoldenGate-Traildatensatzes zurückzugeben. Der Header beschreibt die Transaktionsumgebung des Datensatzes. Weitere Informationen zu Datensatzheadern und Datensatztypen finden Sie unter Trail-Datensatzformat.

Syntax

@GETENV ('GGHEADER', {'BEFOREAFTERINDICATOR'|'COMMITTIMESTAMP'|'LOGPOSITION'|
   'LOGRBA'|'OBJECTNAME'|'TABLENAME'|'OPTYPE'|'RECORDLENGTH'|
   'TRANSACTIONINDICATOR'})

Hinweis: Verwenden Sie TIMESTAMP_PRECISE nicht für Bestellvorgänge. Verwenden Sie stattdessen diesen Wert: @COMPUTE`(`@COMPUTE`(`@NUMSTR`(`@GETENV` ("RECORD``",

                "`FILESEQNO`"))*100000000000)+`@NUMSTR`(`@GETENV` ("`RECORD`",



            "`FILERBA`")))`
            {: .infoboxnote}

‘BEFOREAFTERINDICATOR’

Gibt den Vorher- oder Nachher-Indikator zurück, der angibt, ob der Datensatz ein Vorher- oder ein Nachher-Bild ist. Mögliche Ergebnisse:

‘COMMITTIMESTAMP’

Gibt den Transaktionszeitstempel (die Zeit, zu der die Transaktion festgeschrieben wurde) im Format YYYY-MM-DD HH:MI:SS.FFFFFF zurück. Beispiel:

2011-01-24 17:08:
59.000000

‘LOGPOSITION’

Gibt die Position des Extraktprozesses in der Datenquelle zurück. (Siehe die Option LOGRBA.)

‘LOGRBA’

In LOGRBA und LOGPOSITION werden Details der Position in der Datenquelle des Datensatzes gespeichert. Bei transaktionslogbasierten Produkten ist LOGRBA die Folgenummer und LOGPOSITION die relative Byteadresse. Diese Werte variieren jedoch je nach Erfassungsmethode und Datenbanktyp.

‘OBJECTNAME’ ‘TABLENAME’

Gibt den Tabellen- oder Objektnamen zurück (wenn ein Nicht-Tabellenobjekt)

‘OPTYPE’

Gibt den Vorgangstyp zurück. Mögliche Ergebnisse:

INSERT
UPDATE
DELETE
SQL COMPUPDATE
PK UPDATE
TRUNCATE

Wenn der Vorgang keiner der oben genannten Typen ist, gibt die Funktion das Wort TYPE mit der Nummer zurück, die dem Typ zugewiesen ist.

‘RECORDLENGTH’

Gibt die Datensatzlänge in Byte zurück.

‘TRANSACTIONINDICATOR’

Gibt den Transaktionsindikator zurück. Der Wert entspricht dem Feld TransInd des Datensatzheaders, der mit dem Logdump-Utility angezeigt werden kann.

Mögliche Ergebnisse:

'GGFILEHEADER' , 'header_info'

Gültig nur für Replicat.

Verwenden Sie die Option GGFILEHEADER von @GETENV, um Attribute einer Oracle GoldenGate-Extrakt- oder Traildatei abzurufen. Diese Attribute werden als Token im Dateiheader gespeichert. Hinweis: Wenn eine bestimmte Datenbank-, Betriebssystem- oder Oracle GoldenGate-Version keine Informationen enthält, die sich auf ein bestimmtes Token beziehen, wird ein NULL-Wert zurückgegeben.

Syntax

@GETENV ('GGFILEHEADER', {'COMPATIBILITY'|'CHARSET'|'CREATETIMESTAMP'|
   'FILENAME'|'FILETYPE'|'FILESEQNO'|'FILESIZE'|'FIRSTRECCSN'|
   'LASTRECCSN'|'FIRSTRECIOTIME'|'LASTRECIOTIME'|'URI'|'URIHISTORY'|
   'GROUPNAME'|'DATASOURCE'|'GGMAJORVERSION'|'GGMINORVERSION'|
   'GGVERSIONSTRING'|'GGMAINTENANCELEVEL'|'GGBUGFIXLEVEL'|'GGBUILDNUMBER'|
   'HOSTNAME'|'OSVERSION'|'OSRELEASE'|'OSTYPE'|'HARDWARETYPE'|
   'DBNAME'| 'DBUNIQUENAME'|'DBINSTANCE'|'DBTYPE'|'DBCHARSET'|'DBMAJORVERSION'|
   'DBMINORVERSION'|'DBVERSIONSTRING'|'DBCLIENTCHARSET'|'DBCLIENTVERSIONSTRING'|
   'LASTCOMPLETECSN'|'LASTCOMPLETEXIDS'|'LASTCSN'|'LASTXID'|
   'LASTCSNTS'|'RECOVERYMODE'})

‘COMPATIBILITY’

Gibt die Kompatibilitätsebene der Traildatei zurück. Die Kompatibilitätsebene der aktuellen Oracle GoldenGate-Version muss größer/gleich der Kompatibilitätsebene der Traildatei sein, damit die Datensätze in dieser Datei gelesen werden können. Aktuelle gültige Werte: 0 oder 6.

‘CHARSET’

Gibt den globalen Zeichensatz der Traildatei zurück. Beispiel:

WCP1252-1

‘CREATETIMESTAMP’

Gibt die Zeit zurück, zu der der Trail erstellt wurde, in der lokalen Julianischen GMT-Zeit in INT64.

‘FILENAME’

Gibt den Namen der Traildatei zurück. Kann ein absoluter oder relativer Pfad mit einem Schrägstrich vorwärts oder rückwärts sein, je nach Dateisystem.

‘FILETYPE’

Gibt einen numerischen Wert zurück, der angibt, ob es sich bei der Traildatei um eine einzelne Datei (z.B. eine Datei, die für eine Batchausführung erstellt wurde) oder um eine sequenziell nummerierte Datei handelt, die Teil eines Trails für die Online-Dauerverarbeitung ist. Die gültigen Werte sind:

‘FILESEQNO’

Gibt die Folgenummer der Traildatei ohne führende Nullen zurück. Beispiel: Wenn die Sequenznummer einer Datei aa000026 lautet, gibt FILESEQNO 26 zurück.

‘FILESIZE’

Gibt die Größe der Traildatei zurück. Er gibt NULL für eine aktive Datei zurück und gibt einen Größenwert zurück, wenn die Datei voll ist und der Trail überrollt.

‘FIRSTRECCSN’

Gibt die Commit-Folgenummer (CSN) des ersten Datensatzes in der Traildatei zurück. Der Wert lautet NULL, bis die Traildatei abgeschlossen ist.

‘LASTRECCSN’

Gibt die Commit-Folgenummer (CSN) des letzten Datensatzes in der Traildatei zurück. Der Wert lautet NULL, bis die Traildatei abgeschlossen ist.

‘FIRSTRECIOTIME’

Gibt die Zeit zurück, zu der der erste Datensatz in die Traildatei geschrieben wurde. Der Wert lautet NULL, bis die Traildatei abgeschlossen ist.

‘LASTRECIOTIME’

Gibt die Zeit zurück, zu der der letzte Datensatz in die Traildatei geschrieben wurde. Der Wert lautet NULL, bis die Traildatei abgeschlossen ist.

‘RECOVERYMODE’

Gibt Recovery-Informationen für die interne Verwendung von Oracle GoldenGate zurück. Wird normalerweise auf APPENDMODE gesetzt.

‘URI’

Gibt die universelle Ressourcen-ID des Prozesses zurück, der die Traildatei erstellt hat, im folgenden Format:

<host_name>:<dir>:[:<dir>][:<dir_n>]<group_name>

Wo:

Das folgende Beispiel zeigt, wo der Trail verarbeitet wurde und von welchem Prozess. Dazu gehört eine Historie früherer Ausführungen.

sys1:home:oracle:v9.5:extora

‘URIHISTORY’

Gibt eine Liste der URIs von Prozessen zurück, die vor dem aktuellen Prozess in die Traildatei geschrieben wurden.

‘GROUPNAME’

Gibt den Namen der Gruppe zurück, die dem Extract-Prozess zugeordnet ist, der den Trail erstellt hat. Der Gruppenname wurde angegeben, als der Befehl ADD EXTRACT ausgegeben wurde.

‘DATASOURCE’

Gibt die Datenquelle zurück, die vom Prozess als Zahl gelesen wurde. Der Rückgabewert kann einer der folgenden Werte sein:

‘GGMAJORVERSION’

Gibt die Hauptversion des Extract-Prozesses zurück, der den Trail erstellt hat, ausgedrückt als Ganzzahl. Beispiel: Wenn eine Version 1.2.3 ist, wird 1 zurückgegeben.

‘GGMINORVERSION’

Gibt die Nebenversion des Extract-Prozesses zurück, der den Trail erstellt hat, ausgedrückt als Ganzzahl. Beispiel: Wenn eine Version 1.2.3 ist, wird 2 zurückgegeben.

‘GGVERSIONSTRING’

Gibt die Wartungs- (oder Patch-)Ebene des Extract-Prozesses zurück, der den Trail erstellt hat, ausgedrückt als Ganzzahl. Beispiel: Wenn eine Version 1.2.3 ist, wird 3 zurückgegeben.

‘GGMAINTENANCELEVEL’

Gibt die Wartungsversion des Prozesses zurück (xx.xx.xx)).

‘GGBUGFIXLEVEL’

Gibt die Patchversion des Prozesses zurück (xx.xx.xx.xx)).

‘GGBUILDNUMBER’

Gibt die Build-Nummer des Prozesses zurück.

‘HOSTNAME’

Gibt den DNS-Namen des Rechners zurück, auf dem der Extract, der den Trail geschrieben hat, ausgeführt wird. Beispiel:

‘OSVERSION’

Gibt die Hauptversion des Betriebssystems des Rechners zurück, auf dem der Extract ausgeführt wird, der den Trail geschrieben hat. Beispiel:

‘OSRELEASE’

Gibt die Releaseversion des Betriebssystems des Rechners zurück, auf dem der Extract ausgeführt wird, der den Trail geschrieben hat. Beispiel: Releaseversionen der Beispiele für OSVERSION:

‘OSTYPE’

Gibt den Betriebssystemtyp des Rechners zurück, auf dem der Extract ausgeführt wird, der den Trail geschrieben hat. Beispiel:

‘HARDWARETYPE’

Gibt den Hardwaretyp des Rechners zurück, auf dem der Extract ausgeführt wird, der den Trail geschrieben hat. Beispiel:

‘DBNAME’

Gibt den Namen der Datenbank zurück, zum Beispiel findb.

‘DBUNIQUENAME’

Gibt den Wert des Tokens DB_UNIQUE_NAME als gelesen aus dem Header der Quelltraildatei zurück. Sein Wert entspricht dem Parameter DB_UNIQUE_NAME der Quelldatenbank.

‘DBINSTANCE’

Gibt den Namen der Datenbankinstanz zurück, falls zutreffend für den Datenbanktyp, z.B. ORA1022A.

‘DBTYPE’

Gibt den Datenbanktyp zurück, der die Daten in der Traildatei erzeugt hat. Folgende Werte sind möglich:

DB2 UDB
DB2 ZOS
MSSQL
MYSQL
ORACLE
TERADATA
ODBC

‘DBCHARSET’

Gibt den Zeichensatz zurück, der von der Datenbank verwendet wird, von der die Daten in der Traildatei erzeugt wurden. (Bei einigen Datenbanken ist dies leer.)

‘DBMAJORVERSION’

Gibt die Hauptversion der Datenbank zurück, von der die Daten in der Traildatei erzeugt wurden.

‘DBMINORVERSION’

Gibt die Nebenversion der Datenbank zurück, von der die Daten in der Traildatei erzeugt wurden.

‘DBVERSIONSTRING’

Gibt die Wartungs-(Patch-)Ebene der Datenbank zurück, von der die Daten in der Traildatei erzeugt wurden.

‘DBCLIENTCHARSET’

Gibt den Zeichensatz zurück, der vom Datenbankclient verwendet wird.

‘DBCLIENTVERSIONSTRING’

Gibt die Wartungs-(Patch-)Ebene des Datenbankclients zurück. (Bei einigen Datenbanken ist dies leer.)

‘LASTCOMPLETECSN’

Gibt Recovery-Informationen für die interne Verwendung von Oracle GoldenGate zurück.

‘LASTCOMPLETEXIDS’

Gibt Recovery-Informationen für die interne Verwendung von Oracle GoldenGate zurück.

‘LASTCSN’

Gibt Recovery-Informationen für die interne Verwendung von Oracle GoldenGate zurück.

‘LASTXID’

Gibt Recovery-Informationen für die interne Verwendung von Oracle GoldenGate zurück.

‘LASTCSNTS’

Gibt Recovery-Informationen für die interne Verwendung von Oracle GoldenGate zurück.

'RECORD' , '<location_info>'

Gültig für Data Pump Extract oder Replicat.

Verwenden Sie die Option RECORD von @GETENV, um den Speicherort oder die Oracle-Rowid eines Datensatzes in einer Oracle GoldenGate-Traildatei zurückzugeben.

Syntax

@GETENV ('RECORD', {'TIMESTAMP_PRECISE'|'FILESEQNO'|'FILERBA'|'ROWID'|'RSN'|'TIMESTAMP'})

‘TIMESTAMP_PRECISE’

Gültig für Extract oder Replicat.

Die Option TIMESTAMP_PRECISE gibt den Zeitstempel von Jahr zu Mikrosekunden zurück. Je nach Datenbank kann der Wert jedoch in Millisekunden mit 0 Mikrosekunden angegeben werden.

‘FILESEQNO’

Gibt die Folgenummer der Traildatei ohne führende Nullen zurück.

‘FILERBA’

Gibt die relative Byteadresse des Datensatzes in der Datei FILESEQNO zurück.

‘ROWID’

(Gültig für Oracle) Gibt die Zeilenkennung des Datensatzes zurück.

‘RSN’

Gibt die Datensatzfolgenummer innerhalb der Transaktion zurück. Dieser Wert generiert nicht immer eindeutig aufsteigende Werte und darf nicht für Auftragsvorgänge verwendet werden. Verwenden Sie für die Bestellung von Transaktionen oder DML-Vorgängen innerhalb einer Transaktion die in MOS 2036276.1 beschriebenen Informationen.

‘TIMESTAMP’

Gibt den Zeitstempel des Datensatzes zurück.

Beispiel:

REC-TIMESTAMP: 2017-10-31 06:21:07 REC-TIMESTAMP-PRECISE: 2017-10-31 06:21:07.478064

'DBENVIRONMENT' , '<database_info>'

Gültig für Extract und Replicat.

Verwenden Sie die Option DBENVIRONMENT von @GETENV, um globale Umgebungsinformationen für eine Datenbank zurückzugeben.

Syntax

@GETENV ('DBENVIRONMENT', {'DBNAME'|'DBUNIQUENAME'|'DBVERSION'|'DBUSER'|'SERVERNAME'})

‘DBNAME’

Gibt den Datenbanknamen wieder.

‘DBUNIQUENAME’

Gibt den Wert des Parameters DB_UNIQUE_NAME der Datenbank zurück, mit der der Prozess verbunden ist. Die Quelldatenbank bei Extract und die Zieldatenbank für Replicat. Dieser Wert wird nur für Oracle-Datenbanken festgelegt.

‘DBVERSION’

Gibt die Datenbankversion zurück.

‘DBUSER’

Gibt den Datenbankanmeldebenutzer zurück. Beachten Sie, dass SQL Server den Benutzer ID nicht protokolliert.

‘SERVERNAME’

Gibt den Namen des Servers zurück.

'TRANSACTION' , '<transaction_info>'

Gültig für Extract.

Verwenden Sie die Option TRANSACTION von @GETENV, um Informationen zu einer Quelltransaktion zurückzugeben. Diese Option ist für den Extraktionsprozess gültig, jedoch nicht für Pumpenextrakt und Replicat.

Syntax

@GETENV ('TRANSACTION', {'TIMESTAMP_PRECISE'|'TRANSACTIONID'|'XID'|'CSN'|'TIMESTAMP'|'NAME'|
   'USERNAME'|'PLANNAME' | 'LOGBSN' | 'REDOTHREAD' | 'PROGRAMNAME' | 'CLIENTIDENTIFIER' | 'MACHINENAME' | 'USERNAME')

Hinweis: Verwenden Sie TIMETSAMP_PRECISE oder TIMESTAMP nicht für Bestellvorgänge. Verwenden Sie stattdessen diesen Wert: @COMPUTE(@COMPUTE(@NUMSTR(@GETENV ("RECORD", "FILESEQNO"))*100000000000)+@NUMSTR(@GETENV ("RECORD", "FILERBA")))

‘TIMESTAMP_PRECISE’

Diese Option ist für Extract gültig. Verwenden Sie TIMESTAMP_PRECISE, um den Zeitstempel von Jahr zu Mikrosekunden zurückzugeben. Je nach Datenbank kann der Wert jedoch in Millisekunden mit 0 Mikrosekunden angegeben werden

‘TRANSACTIONID’ ‘XID’

Gibt die Transaktionsnummer ID zurück. Sie können entweder TRANSACTIONID oder XID verwenden. Die Transaktion ID und die CSN sind dem ersten Datensatz jeder Transaktion zugeordnet und als Token im Traildatensatz gespeichert. Für jede Transaktion ID gibt es eine verknüpfte CSN. Transaktions-ID-Token haben keine Null-Auffüllung auf einer Plattform, da sie nie als relative Werte ausgewertet werden. Sie werden nur danach ausgewertet, ob sie übereinstimmen oder nicht. Beachten Sie, dass im Trail das Transaktions-Token ID als TRANID angezeigt wird.

‘CSN’

Gibt die Commit-Sequenznummer (CSN) zurück. CSN wird nicht mit Null aufgefüllt, wenn für die folgenden Datenbanken zurückgegeben wird: Oracle, Db2 LUW und Db2 z/OS. Für alle anderen unterstützten Datenbanken ist CSN null aufgefüllt.

Beachten Sie, dass im Trail das Token CSN als LOGCSN angezeigt wird. Weitere Informationen zum Token CSN finden Sie im Umgebungswert TRANSACTIONID | XID.

Weitere Informationen zur CSN finden Sie unter Commit Sequence Number (CSN).

‘TIMESTAMP’

Gibt den Commit-Zeitstempel der Transaktion zurück.

‘NAME’

Gibt den Transaktionsnamen zurück, sofern verfügbar.

‘USERNAME’

(Oracle) Gibt den Oracle-Benutzernamen des Datenbankbenutzers zurück, der die letzte Transaktion festgeschrieben hat. Dies ist nicht gültig für Pumpenextrakt und/oder Replicat.

‘PLANNAME’

(Db2 z/OS) Gibt den Plannamen zurück, unter dem die aktuelle Transaktion ursprünglich ausgeführt wurde. Der Planname ist in der Beginneinheit des Wiederherstellungsprotokolldatensatzes enthalten.

‘LOGBSN’

Gibt die Startfolgenummer (BSN) im Transaktionslog zurück. Der BSN ist die native Folgenummer, die den Beginn der ältesten nicht festgeschriebenen Transaktion identifiziert, die im Extract-Speicher gespeichert ist. Beispiel: Bei einer Oracle-Datenbank wird das BSN als System Change Number (SCN) angegeben. Der BSN entspricht dem aktuellen I/O-Checkpoint-Wert von Extract. Dieser Wert kann von Replicat aus dem Trail abgerufen werden, wenn @GETENV ('TRANSACTION', 'LOGBSN') verwendet wird. Dieser Wert kann auch mit dem Befehl INFO REPLICAT und der Option DETAIL abgerufen werden. Der Zweck des Abrufs der BSN aus Replicat besteht darin, einen Wiederherstellungspunkt für Extract abzurufen, falls ein Systemfehler oder eine Beschädigung des Dateisystems die Extract-Checkpoint-Datei unbrauchbar macht.

‘REDOTHREAD’

Gibt die Thread-Nummer eines RAC-Knotenextrakts zurück. Bei Nicht-RAC-Knoten extrahiert der Wert immer 1. Bei Data Pump und Replicat wird die Thread-ID zurückgegeben, die von Extract Capture eines RAC-Knotens verwendet wird. Bei Nicht-RAC gibt @GETENV() einen Fehler zurück. Logdump zeigt das Token ORATHREADID im Tokenabschnitt an, wenn die Transaktion von Extract auf einem RAC-Knoten erfasst wird.

‘PROGRAMNAME’

Name des Programms oder der Anwendung, das bzw. die die Transaktion oder Session gestartet hat.

‘CLIENTIDENTIFIER’

WerteSet mit DBMS_SESSION_.set_identifier().

‘MACHINENAME’

Name des Hosts, Rechners oder Servers, auf dem die Datenbank ausgeführt wird

‘USERNAME’

Benutzername für Datenbankanmeldung.

Beispiel:

DB2 zOS:
TRANS-TIMESTAMP:         2017-10-31 06:21:07
TRANS-TIMESTAMP-PRECISE: 2017-10-31 06:21:07.485792

'OSVARIABLE' , '<variable>'

Gültig für Extract und Replicat.

Verwenden Sie die Option OSVARIABLE von @GETENV, um den Zeichenfolgenwert einer angegebenen Betriebssystemumgebungsvariablen zurückzugeben.

Syntax

@GETENV ('OSVARIABLE', '<variable>')

<'variable'>

Der Name der Variable. Die Suche entspricht genau dem angegebenen Variablennamen. Beispiel: Der UNIX-Befehl grep würde alle der folgenden Variablen zurückgeben. @GETENV ('OSVARIABLE', 'HOME') würde jedoch nur den Wert für HOME zurückgeben:

ANT_HOME=/usr/local/ant
JAVA_HOME=/usr/java/j2sdk1.4.2_10
HOME=/home/judyd
ORACLE_HOME=/rdbms/oracle/ora1022i/64

Bei der Suche wird die Groß-/Kleinschreibung beachtet, wenn das Betriebssystem die Groß-/Kleinschreibung unterstützt.

'TLFKEY' , SYSKEY, '<unique_key>'

Gültig für Extract und Replicat.

Verwenden Sie die Option TLFKEY von @GETENV, um einen eindeutigen Schlüssel mit TLF/PTLF-Datensätzen in der Base24-Anwendung von ACI zu verknüpfen. Der 64-Bit-Schlüssel besteht aus den folgenden zusammengesetzten Elementen:

Syntax

@GETENV ('TLFKEY', SYSKEY, <unique_key>)

SYSKEY, <unique_key>

Die Knotennummer NonStop der Quell-TLF/PTLF-Datei. Setzen Sie dieses Syntaxelement nicht in Anführungszeichen.

Beispiel:

GETENV ('TLFKEY', SYSKEY, 27)

'SOURCEDATABASEINFO'

Diese Option enthält die Felder DBUNIQUENAME und DBNAME. Die Felder aus SOURCEDATABASEINFO unterscheiden sich von den Feldern aus GGFILEHEADER. Erstens ist ihre Performance im Vergleich zu den Feldern aus GGFILEHEADER besser. Daher ist die Verwendung von SOURCEDATABASEINFO eine bessere Alternative für Szenarios, in denen die Performance entscheidend ist. Wenn das Token DBUNIQUENAME nicht im Trailheader verfügbar ist, entweder weil die Traildatei von einer älteren Version von Oracle GoldenGate generiert wurde oder weil die Datenbank nicht Oracle ist, behandelt @GETENV DBUNIQUENAME als Synonym von DBNAME. In diesem Fall wird eine Warnmeldung in die Berichtsdatei geschrieben, wenn zum ersten Mal ein Header ohne Token gelesen wird.