OGG的事务跟踪还是非常好用的,可以获取到很多额外的事务信息。
例如:
抽取进程配置参数在table schema_name.testogg后面追加
table ext_user.tesogg ,
TOKENS ( TKN-GROUP-NAME =@GETENV ("GGENVIRONMENT", "GROUPNAME"),
TKN-HOST-NAME =@GETENV ("GGENVIRONMENT", "HOSTNAME"),
TKN-OS-USER =@GETENV ("GGENVIRONMENT", "OSUSERNAME"),
TKN-COMMIT-TS =@GETENV ("GGHEADER", "COMMITTIMESTAMP"),
TKN-LOG-POSITION =@GETENV ("GGHEADER", "LOGPOSITION"),
TKN-LOG-RBA =@GETENV ("GGHEADER", "LOGRBA"),
TKN-TABLE =@GETENV ("GGHEADER", "TABLENAME"),
TKN-OP-TYPE =@GETENV ("GGHEADER", "OPTYPE"),
TKN-REC-LEN =@GETENV ("GGHEADER", "RECORDLENGTH"),
TKN-TRNS-IND =@GETENV ("GGHEADER", "TRANSACTION INDICATOR"),
TKN-BA =@GETENV ("GGHEADER", "BEFOREAFTERINDICATOR"),
TKN-CSN = @GETENV ("TRANSACTION", "CSN"),
TKN_DML_NAME = @GETENV ("TRANSACTION", "NAME"),
TKN_DML_TIMESTAMP = @GETENV ("TRANSACTION", "TIMESTAMP"),
TKN_DML_USERID = @GETENV ("TRANSACTION", "USERID"),
TKN_DML_USERNAME = @GETENV ("TRANSACTION", "USERNAME"),
TKN-DB-USER = @GETENV ("DBENVIRONMENT", "DBUSER"),
TKN-DB-VER = @GETENV ("DBENVIRONMENT", "DBVERSION")
);
同理在目标端追加对应的字段:
MAP LIVE_CATB.TESTOGG, TARGET DBA_MON.TESTOGG
COLMAP (USEDEFAULTS, PRODUCT_ID = PRODUCT_ID,
SOURCE_HOST = @TOKEN ("TKN-HOST-NAME"),
SOURCE_USER = @TOKEN ("TKN-OS-USER"),
SOURCE_GROUP = @TOKEN ("TKN-GROUP-NAME"),
SOURCE_TABLE = @TOKEN ("TKN-TABLE"),
BEFORE_OR_AFTER = @TOKEN ("TKN-BA"),
DEAL_DATA = @TOKEN ("TKN-COMMIT-TS"),
OPERATOR_TYPE= @TOKEN ("TKN-OP-TYPE"),
TARGET_HOST = @GETENV ("GGENVIRONMENT", "HOSTNAME"),
TARGET_USER = @GETENV ("GGENVIRONMENT", "OSUSERNAME"),
TARGET_GROUP = @GETENV ("GGENVIRONMENT", "GROUPNAME"),
DML_DATE = @DATENOW(),
DML_SCN = @TOKEN ("TKN-CSN"),
DML_NAME = @TOKEN ("TKN_DML_NAME"),
DML_TIMESTAMP = @TOKEN ("TKN_DML_TIMESTAMP"),
DML_USERID = @TOKEN ("TKN_DML_USERID"),
DML_USERNAME = @TOKEN ("TKN_DML_USERNAME"),
DB_USER = @TOKEN ("TKN-DB-USER"),
DB_VER = @TOKEN ("TKN-DB-VER")
);
这样可以抓取到其他的日志信息。
根据获取的信息进行事务跟踪、分析。
在12c版本中已经默认将元数据信息可以追加到trail文件中,故又方便了很多!
例如:
抽取进程配置参数在table schema_name.testogg后面追加
table ext_user.tesogg ,
TOKENS ( TKN-GROUP-NAME =@GETENV ("GGENVIRONMENT", "GROUPNAME"),
TKN-HOST-NAME =@GETENV ("GGENVIRONMENT", "HOSTNAME"),
TKN-OS-USER =@GETENV ("GGENVIRONMENT", "OSUSERNAME"),
TKN-COMMIT-TS =@GETENV ("GGHEADER", "COMMITTIMESTAMP"),
TKN-LOG-POSITION =@GETENV ("GGHEADER", "LOGPOSITION"),
TKN-LOG-RBA =@GETENV ("GGHEADER", "LOGRBA"),
TKN-TABLE =@GETENV ("GGHEADER", "TABLENAME"),
TKN-OP-TYPE =@GETENV ("GGHEADER", "OPTYPE"),
TKN-REC-LEN =@GETENV ("GGHEADER", "RECORDLENGTH"),
TKN-TRNS-IND =@GETENV ("GGHEADER", "TRANSACTION INDICATOR"),
TKN-BA =@GETENV ("GGHEADER", "BEFOREAFTERINDICATOR"),
TKN-CSN = @GETENV ("TRANSACTION", "CSN"),
TKN_DML_NAME = @GETENV ("TRANSACTION", "NAME"),
TKN_DML_TIMESTAMP = @GETENV ("TRANSACTION", "TIMESTAMP"),
TKN_DML_USERID = @GETENV ("TRANSACTION", "USERID"),
TKN_DML_USERNAME = @GETENV ("TRANSACTION", "USERNAME"),
TKN-DB-USER = @GETENV ("DBENVIRONMENT", "DBUSER"),
TKN-DB-VER = @GETENV ("DBENVIRONMENT", "DBVERSION")
);
同理在目标端追加对应的字段:
MAP LIVE_CATB.TESTOGG, TARGET DBA_MON.TESTOGG
COLMAP (USEDEFAULTS, PRODUCT_ID = PRODUCT_ID,
SOURCE_HOST = @TOKEN ("TKN-HOST-NAME"),
SOURCE_USER = @TOKEN ("TKN-OS-USER"),
SOURCE_GROUP = @TOKEN ("TKN-GROUP-NAME"),
SOURCE_TABLE = @TOKEN ("TKN-TABLE"),
BEFORE_OR_AFTER = @TOKEN ("TKN-BA"),
DEAL_DATA = @TOKEN ("TKN-COMMIT-TS"),
OPERATOR_TYPE= @TOKEN ("TKN-OP-TYPE"),
TARGET_HOST = @GETENV ("GGENVIRONMENT", "HOSTNAME"),
TARGET_USER = @GETENV ("GGENVIRONMENT", "OSUSERNAME"),
TARGET_GROUP = @GETENV ("GGENVIRONMENT", "GROUPNAME"),
DML_DATE = @DATENOW(),
DML_SCN = @TOKEN ("TKN-CSN"),
DML_NAME = @TOKEN ("TKN_DML_NAME"),
DML_TIMESTAMP = @TOKEN ("TKN_DML_TIMESTAMP"),
DML_USERID = @TOKEN ("TKN_DML_USERID"),
DML_USERNAME = @TOKEN ("TKN_DML_USERNAME"),
DB_USER = @TOKEN ("TKN-DB-USER"),
DB_VER = @TOKEN ("TKN-DB-VER")
);
这样可以抓取到其他的日志信息。
根据获取的信息进行事务跟踪、分析。
在12c版本中已经默认将元数据信息可以追加到trail文件中,故又方便了很多!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25174901/viewspace-2125508/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25174901/viewspace-2125508/