当前位置:网站首页>OGG中token的使用
OGG中token的使用
2022-07-17 08:46:00 【文档搬运工】
OGG版本:19.1
RDBMS:19.15
测试目的:
源端表:bb.t2
目标端表: zbb.t4,zbb.t5 . t4和t5结构不同。t5中相对t4中多余的列为token获取的环境变量
同时将bb.t2同步到zbb.t4和zbb.t5 .
关于token和@getenv函数,可以参考官方文档 Oracle GoldenGate Windows and UNIX Reference Guide
源端表:
[email protected]>desc t2
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
NAME VARCHAR2(10)
[email protected]>
目标端表
conn zbb/oracle
create table t5 (
no number,
firstname varchar2(10), ## token名 = token值
host varchar2(40), -- TKN-HOST = @GETENV ('GGENVIRONMENT", "HOSTNAME'),
gg_group varchar2(40), -- TKN-GRP = @GETENV ('GGENVIRONMENT", "GROUPNAME'),
osuser varchar2(40), -- TKN-USER = @GETENV ('GGENVIRONMENT", "OSUSERNAME'),
domain varchar2(40), -- TKN-DOMAIN = @GETENV ('GGENVIRONMENT", "DOMAINNAME'),
UPDATETIME date, -- updatetime= @TOKEN ('GGHEADER','COMMITTIMESTAMP'),
tablename varchar2(40), -- TKN-TBNAME = @GETENV ('GGHEADER”, “TABLENAME'),
optype varchar2(40) -- TKN-OPT = @GETENV ('GGHEADER”, “OPTYPE'),
)源端的ext2 ,源端ext进程,获取的环境变量较多,虽然针对t4表,用不了这么多,但是针对t5表,可以用到这些。不影响t2和t4,t2和t5的同时同步
table bb.t2 ,TOKENS & ## 一行写不下,可以使用符号&换行
(TKN-HOST = @GETENV ('GGENVIRONMENT', 'HOSTNAME'), &
TKN-GRP = @GETENV ('GGENVIRONMENT', 'GROUPNAME'), &
TKN-USER = @GETENV ('GGENVIRONMENT', 'OSUSERNAME'),&
TKN-DOMAIN = @GETENV ('GGENVIRONMENT', 'DOMAINNAME'),&
updatetime= @GETENV ('GGHEADER','COMMITTIMESTAMP'),&
TKN-TBNAME = @GETENV ('GGHEADER', 'TABLENAME'),&
TKN-OPT = @GETENV ('GGHEADER', 'OPTYPE'));
源端的pump2进程
table bb.t2 ,TOKENS &
(TKN-HOST = @GETENV ('GGENVIRONMENT', 'HOSTNAME'), &
TKN-GRP = @GETENV ('GGENVIRONMENT', 'GROUPNAME'), &
TKN-USER = @GETENV ('GGENVIRONMENT', 'OSUSERNAME'),&
TKN-DOMAIN = @GETENV ('GGENVIRONMENT', 'DOMAINNAME'),&
updatetime= @GETENV ('GGHEADER','COMMITTIMESTAMP'),&
TKN-TBNAME = @GETENV ('GGHEADER', 'TABLENAME'),&
TKN-OPT = @GETENV ('GGHEADER', 'OPTYPE'));
因为源端的表没有变化,所以不要再次生成defgen file,只需要在目标端rep2中添加map ,原来的对t4表的map,也存在
map bb.t2,target zbb.t4, COLMAP (USEDEFAULTS,no=id,firstname=name ,updatetime= @TOKEN ('updatetime')),filter (id > 30); -- 仅仅复制id>30
map bb.t2,target zbb.t5, COLMAP ( &
USEDEFAULTS, &
no=id, &
firstname=name , &
host = @token ('TKN-HOST'), &
gg_group = @token ('TKN-GRP'), &
osuser= @token ('TKN-USER'), &
domain = @token('TKN-DOMAIN'),&
updatetime= @TOKEN ('updatetime'), &
tablename= @TOKEN ('TKN-TBNAME'), &
optype= @TOKEN ('TKN-OPT'), &
);同步成功,原来的T4,也可以同步。 T2同时同步到T4,T5 .
[email protected]>select * from t4;
NO FIRSTNAME UPDATETIME
---------- ---------- -------------------------
41 p 2022-07-13 16:56:21
42 ae 2022-07-13 17:10:37
43 iwc 2022-07-13 17:13:22
47 mmm ## 这里没有结果,是因为map t2到t4的,token中,token名称写错了 ,修改后就可以了。
48 ccc 2022-07-14 15:24:15
14 c 2022-07-11 14:32:28
15 d 2022-07-11 14:34:23
11 c 2022-07-09 19:14:23
13 c 2022-07-09 19:28:29
18 a 2022-07-13 15:37:43
19 m 2022-07-13 15:41:25
NO FIRSTNAME UPDATETIME
---------- ---------- -------------------------
32 c 2022-07-13 16:01:14
40 i 2022-07-13 16:04:13
41 m 2022-07-13 16:53:05
9 a 2022-07-08 14:33:03
10 aa 2022-07-08 17:13:07
17 a 2022-07-13 11:24:54
16 a 2022-07-13 10:35:12
18 rows selected.
[email protected]>select * from t5; ## DOmain字段没有结果,这个字段仅仅针对Windows,官方文档上有说明
NO FIRSTNAME HOST GG_GROUP OSUSER DOMAIN UPDATETIME TABLENAME OPTYPE
---------- ---------- ---------------- ---------- ---------- ---------- ------------------------- ---------- ----------
44 aa redhat762100 PUMP2 oracle BB.T2 INSERT
45 mw redhat762100 PUMP2 oracle BB.T2 INSERT
46 afdsa redhat762100 PUMP2 oracle 2022-07-14 15:14:32 BB.T2 INSERT
47 mmm redhat762100 PUMP2 oracle 2022-07-14 15:22:35 BB.T2 INSERT
48 ccc redhat762100 PUMP2 oracle 2022-07-14 15:24:15 BB.T2 INSERT
[email protected]>END
边栏推荐
- 使用toruch.nn搭建最简单的神经网络骨架
- Distributed transaction best effort notification scheme
- Idea debug according to conditional breakpoints
- CPU load of webgl - webgl comparison
- 深度学习第二周Neural Network Basics习题整理
- Solutions to license invalidation caused by MATLAB update
- Example description of alternative writing of instanceof
- AuthTalk 第一期预告 | 全面拆解多租户解决方案
- LeetCode 0115.不同的子序列
- Distributed transaction reliable message final consistency solution
猜你喜欢

Use torch NN builds the simplest neural network framework

Nacos 新建配置管理

mongodb $符号的神奇用法+mongo数据类型

cut,sort,uniq,xargs

【C语言-自定义类型】还能这样整?

零基础C语言

LeetCode 0116. Populate the next right node pointer for each node

Matlab imports floating-point numbers with more than 9 digits after the decimal point

Authing 实践|制造业身份认证统一管理解决方案

MySQL视图
随机推荐
MySQL索引(二)
Qt之Qprocess
Cocos Shader入门基础七
Change the theme of hbuilderx into vscode
项目代码训练教程
Distributed transaction reliable message final consistency solution
二、品达通用权限系统__项目搭建
Hcip - Comprehensive Experiment of OSPF
【Port 3000 is already in use,3000端口被占用问题解决方法】
Support for multiple devices in (ghost engine)
【CTF】pwn2_ sctf_ two thousand and sixteen
RPA相关知识点整理
LeetCode 0115. Different subsequences
为什么别人游戏里的特效都非常柔和
力扣1669合並兩個鏈錶筆記
TP5 wechat withdrawal merchants transfer to change (copying is available)
二进制安装 mysql 初始化密码问题
Junit5
Softmax regression + loss function + image classification dataset
如何在 Authing 上快速实现 Zadig 单点登录?