oms实战配置(小白易上手)

2024年 5月 7日 74.3k 0

背景介绍:

OceanBase 迁移服务(OceanBase Migration Service,OMS)是 OceanBase 数据库一站式数据传输和同步的产品。它支持多种关系型数据库、消息队列与 OceanBase 数据库之间的数据复制,是集数据迁移、实时数据同步和增量数据订阅于一体的数据传输服务,OMS 帮助您低风险、低成本、高效率的实现 OceanBase 的数据流通,助力构建安全、稳定、高效的数据复制架构。

所以oms在生产割接中占了很重要的比重,对于保障割接的数据一致性和实时性提供了支撑。

环境介绍:

oms版本:3.3.1-bp2 (tip:store、cherk组件和logmnr包有相应更新)


迁移流程:

1. 源端及目标端配置

1.ORACLE创建用户

create user obdba identified by "XXXXX"; grant dba to obdba; grant sysdba to obdba; grant select on sys.USER$ to obdba;
19c下pdb:
create user c##obdba identified by "OB1qaz#EDC";
grant dba to c##obdba;
grant select on sys.user$ to c##obdba container=all;
grant dba to c##obdba container=all;
grant connect to c##obdba container=all;
grant create session,alter session,select any transaction,select any table,select any dictionary to c##obdba container=all;
grant logmining to c##obdba container=all;
grant execute on sys.dbms_logmnr to c##obdba container=all;
grant create table,unlimited tablespace to c##obdba container=all;
grant create any table,create any index,drop any table,alter any table,comment any table,drop any index,alter any index,create any sequence,alter any sequence,drop any sequence, create any view,drop any view,insert any table,delete any table,update any table to c##obdba container=all;
grant sysdba to c##obdba container=all;

可能有oracle bug会存在adg备库无法解析归档

可以在备节点刷新下shared pool

Alter sysetem flush shared_pool;

2.  oracle端权限梳理

######所有用户 grant resource,connect to username;
#####检查需要role
select distinct t.GRANTED_ROLE from dba_role_privs t where t.GRANTEE in (‘username’);
####查询role授权
select 'grant '||lower(t.GRANTED_ROLE)||' to '||t.GRANTEE||';' from dba_role_privs t where t.GRANTEE in ('ROLE_name') and GRANTED_ROLE not in ('CONNECT','DBA','RESOURCE','CONNECT') order by t.GRANTED_ROLE;
#######查询系统授权
--查询用户的
select 'grant '||lower(t.privilege)||' to '||grantee||';' from dba_sys_privs t where t.GRANTEE in ('username') and privilege not in ('ADVISOR','ALTER SYSTEM','ANALYZE AN','CREATE PUBLIC DATABASE LINK','DEBUG CONNECT SESSION','UNLIMITED TABLESPACE') order by t.privilege;
--查询role的
select 'grant '||lower(t.privilege)||' to '||grantee||';' from dba_sys_privs t where t.GRANTEE in ('role_name') and privilege not in ('ADVISOR','ALTER SYSTEM','ANALYZE AN','CREATE PUBLIC DATABASE LINK','DEBUG CONNECT SESSION','UNLIMITED TABLESPACE') order by t.privilege;
############查询对象权限
----------用户的
select 'grant '||privilege||' on '||owner||'.'||table_name||' to '||grantee||';' from dba_tab_privs t where t.grantee in ('user_name') and privilege not in ('FLASHBACK','DEBUG','REFERENCES','ON COMMIT REFRESH','QUERY REWRITE'); ----------role的
select 'grant '||privilege||' on '||owner||'.'||table_name||' to '||grantee||';' from dba_tab_privs t where t.grantee in ('role_name') and privilege not in ('FLASHBACK','DEBUG','REFERENCES','ON COMMIT REFRESH','QUERY REWRITE');

3.OB创建用户

create user obdba identified by obdba;

grant dba to obdba;

##业务租户也需要创建反向用户

创建内部用户__OCEANBASE_INNER_DRC_USER。

grant dba to '__OCEANBASE_INNER_DRC_USER';

业务用户也需要创建,obdba用户是为了迁移数据,尽量不使用sys用户

反向用户,创建在业务ob集群的sys租户下 create user oms_drc identified by 'uy1n8666'; grant all privileges on *.* to oms_drc;

4.oracle端补充日志开启,调整归档间距(需要重启库)

1. 数据库补充日志检查 select name,LOG_MODE,OPEN_MODE, SUPPLEMENTAL_LOG_DATA_MIN min, SUPPLEMENTAL_LOG_DATA_PK pk, SUPPLEMENTAL_LOG_DATA_UI ui, SUPPLEMENTAL_LOG_DATA_FK fk, SUPPLEMENTAL_LOG_DATA_ALL all1, FORCE_LOGGING from gv$database;
2. 开启min,pk,ui级别数据库补充日志
alter database add supplemental log data;
alter database add supplemental log data(primary key) columns;
alter database add supplemental log data(unique) columns;
3. 修改隐含参数 create pfile='/oracle/pfile_3.ora' from spfile; ----生产和ADG都需要改 alter system set "_log_parallelism_max" =1 scope=spfile sid='*'; 如果需要做Oracle到OB增量实时同步,需要将Oracle系统参数_log_parallelism_max设置为1,默认为2,修改完需要重启实例
4、调整归档间隔(ps:是为了oms延迟不会太大,分割归档文件大小,避免每个归档文件不会太大。###根据需要判断是否需要调整生产redo大小)
alter system set archive_lag_target=180 scope=both sid='*';
4、开启表级附加日志
alter table xxx.xxxxx add supplemental log data(all,primary key,unique,foreign key) columns;
对于无主键表开启列级附加日志:
select 'alter table '||table_owner||'.'||table_name||' add supplemental log data(all,primary key,unique,foreign key) columns;' from (select distinct b.TABLE_OWNER,b.table_name from dba_tab_partitions b inner join ( select a.table_owner,a.table_name,count(*) from ( select c.table_owner,c.table_name,c.index_name from dba_indexes i,dba_ind_columns c where i.index_name=c.index_name and i.owner not like '%SYS%' and i.uniqueness='UNIQUE' and i.table_name not in( select t.table_name from dba_constraints t where t.owner not like '%SYS%' and t.constraint_type='P') group by c.table_owner,c.table_name,c.index_name ) a group by a.table_owner,a.table_name having count(*) >1) d on b.TABLE_OWNER=d.table_owner and b.table_name=d.table_name);

2.OMS配置

1.OMS数据源配置

###备注##有几个参数可以提前添加到oms的配置meta库里

use oms_cm; 
insert into config_template(task_type,db_type,task_version,`key`,`value`,scope,file_name,file_path,gmt_created,gmt_modified,dest_db_type) values('checker',null,'1.0','sql.exec.max.noactive.time','20000000','limitator','checker.conf','/home/ds/run/{taskname}/conf/',now(),now(),null);
insert into config_template(task_type,db_type,task_version,`key`,`value`,scope,file_name,file_path,gmt_created,gmt_modified,dest_db_type) values('deliver2store','oracle','1.0','logminer.enable_flashback_query','false','deliver2store','crawler.conf','/home/ds/store/store{port}/conf/',now(),now(),null);
insert into config_template(task_type,db_type,task_version,`key`,`value`,scope,file_name,file_path,gmt_created,gmt_modified,dest_db_type) values('deliver2store','oracle','1.0','logminer.only_fetch_archived_log','true','deliver2store','crawler.conf','/home/ds/store/store{port}/conf/',now(),now(),null);
insert into config_template(task_type,db_type,task_version,`key`,`value`,scope,file_name,file_path,gmt_created,gmt_modified,dest_db_type) values('deliver2store','oracle','1.0','logminer.print_diagnose_info','false','deliver2store','crawler.conf','/home/ds/store/store{port}/conf/',now(),now(),null);
insert into config_template(task_type,db_type,task_version,`key`,value,scope,file_name,file_path,gmt_created,gmt_modified,dest_db_type) values('checker',null,'1.0','image.insert.error.ignore','true','datasource','checker.conf','/home/ds/run/{taskname}/conf/',now(),now(),null);
select `key`,`value` from config_template where `key`='sql.exec.max.noactive.time';  //sql执行超时参数
select `key`,`value` from config_template where `key`='image.insert.error.ignore';  //全量报错跳过
select `key`,`value` from config_template where `key`='logminer.enable_flashback_query'; //关闭flashback query
select `key`,`value` from config_template where `key`='logminer.only_fetch_archived_log';  //是否只应用归档
select `key`,`value` from config_template where `key`='logminer.print_diagnose_info';  //打印error日志,普调整的

1>登录oms平台

http://oms_ip:8089/

默认账号密码: admin/aaAA11__ (第一次登录需要修改密码)

2>根据情况调整参数

oms实战配置(小白易上手)-1

3>配置关联ocp(生产ob集群所在ocp

oms实战配置(小白易上手)-2

4>数据源配置

Oracle:一般同步只配adg的备库就可以,生产割接需要配置主备库,从备库同步数据,切换后数据反写回oracle主库

oms实战配置(小白易上手)-3

Ob

oms实战配置(小白易上手)-4

oms实战配置(小白易上手)-5

配置好后测试连接通过即可添加数据源

2.链路拆分

###查询大表##尽量把大表平均分配在不同链路,每个链路尽量不超过2000张表可能会导致白名单过长
select OWNER,TABLE_NAME,NUM_ROWS from (select * from dba_tables where owner='owner' and TEMPORARY <>'Y' and TABLE_NAME not like '%$%' and TABLE_NAME not like '%#%' and TABLE_NAME not in( select distinct a.TABLE_NAME from dba_tab_columns a where a.OWNER = 'user_name' and a.DATA_TYPE in ('LONG', 'LONG RAW', 'ROWID', 'UROWID', 'XML', 'BFILE', 'UNDEFINED')) order by NUM_ROWS desc ) where rownum<=30;
#####查询hash分区表,这类表需要单独的校验规则,如果表数据量不是很多可以放在一个链路中方便后期从校验链路中排除
select OWNER,TABLE_NAME,PARTITIONING_TYPE,SUBPARTITIONING_TYPE from dba_part_tables where owner='user_name' and (PARTITIONING_TYPE = 'HASH' Or SUBPARTITIONING_TYPE ='HASH');
!!!!!!!!!第一次拉起oms之后可能会有热表导致增量特别慢,检查如果该表不大可以从链路中屏蔽,在割接的时候全量同步即可!!!!!!!!!!!
######查询除大表和hash表的其他表清单,分到不同链路中#####
select 'owner.'||table_name from dba_tables where owner='BILL' and TEMPORARY <>'Y' and TABLE_NAME not like '%$%' and TABLE_NAME not like '%#%' and TABLE_NAME not in( select distinct a.TABLE_NAME from dba_tab_columns a where a.OWNER = 'user_name' and a.DATA_TYPE in ('LONG', 'LONG RAW', 'ROWID', 'UROWID', 'XML', 'BFILE', 'UNDEFINED')) and TABLE_NAME not in('BIGTAB','HASHTAB')

3.  链路发起

oms平台选择数据迁移,点击新建迁移项目

oms实战配置(小白易上手)-6

根据场景选择不同的选项

oms实战配置(小白易上手)-7

第一次配置反向迁移时需要填写反向用户,一般默认为1.3章结创建的oms_drc用户

oms实战配置(小白易上手)-8

配置迁移表清单,可以根据上述拆分规则分配清单进行拉取,也可以根据场景自己调整,也可以做ETL相关配置,同步需要的数据。如果是直接填写迁移表,需要点下左下角校验,校验通过发起下一步

oms实战配置(小白易上手)-9

迁移选项可以根据需要配置档位,快速为上述修改的fast档位参数

oms实战配置(小白易上手)-10

预检查结束就可以保存或者发起项目,如果有警告可以根据情况忽略,有检查不通过需要看下提示进行处理

oms实战配置(小白易上手)-11

4.  表结构迁移报错

oms实战配置(小白易上手)-12

一般表结构迁移异常时候可以通过查看异常对象和选择不支持对象看下异常表信息,异常的表信息一般后面可以查看报错代码,常见异常如下

1>表已存在

该报错可能是因为目标端有了相应对象,或者oms调度过程中已完成但是检查有问题

根据情况判断是否移除该表不再迁移,或者目标端drop表重试

2>表字段注释有乱码

该报错是表已经创建,但是执行添加注释时有乱码无法创建,需要目标端drop表。点击异常表后的修改ddl语句信息,将乱码注释删除或者修改后会自动重试

3>iot

Oms3.3版本前好像iot表会自动创建为普通表,3.3之后版本可以在表结构迁移异常后通过查看不支持对象看到,点击异常表后的修改ddl语句信息,将iot表修改为普通表后自动重试

*如果有需要修改表结构的表。如分区表改造非分区表,为了后续添加tablegroup提前修改分区结构。可以提前在目标端创建该表,表结构迁移异常后,目标端删除该表,通过前台异常界面修改表的创建语句后重试

5.  全量迁移

需要提前进入omsmeta库添加一个参数

全量迁移乱码报错跳过
oms_cm:
insert into config_template(task_type,db_type,task_version,`key`,value,scope,file_name,file_path,gmt_created,gmt_modified,dest_db_type) values('checker',null,'1.0','image.insert.error.ignore','true','datasource','checker.conf','/home/ds/run/{taskname}/conf/',now(),now(),null); select * from config_template where task_type='checker' and `key`='image.insert.error.ignore';

全量迁移和全量校验时可能会有超时报错

全量组件执行失败,错误消息:get null connection too many times

可以添加以下参数规避

limitator.sql.exec.max.noactive.time=2000000

oms实战配置(小白易上手)-13

oms实战配置(小白易上手)-14

oms实战配置(小白易上手)-15

oms实战配置(小白易上手)-16

oms实战配置(小白易上手)-17

oms实战配置(小白易上手)-18

6.增量迁移

oms实战配置(小白易上手)-19

增量主要由store+writer组成,store去源端解析日志,writer负责目标端数据写入。所以store是在全量迁移开始时拉起,writer是在全量结束后拉起。

这部分是oms迁移的重要组件,可能无法描述全面,先写一些吧

1>jvm修改

默认是8G可以去omsdocker主机ps查看

oms实战配置(小白易上手)-20

如果需要修改的话,前台先暂停store后台修改下述参数

oms实战配置(小白易上手)-21

可以根据以下语句看下是否有内存瓶颈

Jstat -gcutil `ps -ef|grep store7108|grep java|awk ‘{print $2}’` 3000

调整完后拉起store可以在docker主机ps进程确认

2>新拉store

curl http://10.xx.xx.xx:8088/crawler/start -d "topic=p_4i0fp7uadxz4_source-000-0&checkpoint=::::1676960006:&role=master&type=DELIVER2STORE&deliver2store.logminer.selector_thread_num=128&deliver2store.logminer.use_independent_fetcher_per_instance=true&deliver2store.logminer.fetch_arch_logs_max_parallelism_per_instance=3&deliver2store.logminer.max_actively_staged_arch_logs_per_instance=6&deliver2store.logminer.only_fetch_archived_log=true&deliver2store.logminer.enable_flashback_query=false&deliver2store.logminer.staged_arch_logs_in_memory=true&deliver2store.logminer.max_num_in_memory_one_transaction=1000000&deliver2store.logminer.print_diagnose_info=false&deliver2store.logminer.instance_threads=1|2|3"

如果源端主库与adg备库节点不同就需要新拉取store,deliver2store.logminer.instance_threads这个参数调整为主节点的个数,其他参数酌情考虑,topic在组件监控界面可以查看,checkpoint为时间戳,可以通过unix_timestamp转换或者查看需要替换store的更新参数里有拉取时间戳和当前位点时间戳

如果store解析有问题可以尝试调整以下参数

deliver2store.logminer.fetch_arch_logs_max_parallelism_per_instance= 日归档/500g +1 deliver2store.logminer.max_actively_staged_arch_logs_per_instance= 上面参数*2 deliver2store.logminer.staged_arch_logs_in_memory = true --需要配合调整jvm//如果有大事务可以开启减少落盘
deliver2store.logminer.max_num_in_memory_one_transaction=3000000 --需要上面参数为true deliver2store.logminer.only_fetch_archived_log=true --只解析归档 deliver2store.logminer.enable_flashback_query=false deliver2store.parallelism=32

3>Writer报错处理

遇到非法时间或者乱码数据可能oracle端可以写入但是同步到ob时会报错导致writer异常,可以查看error日志查看,这类ora报错可以通过添加跳过报错码跳过,后续校验让源端订正,添加该参数可以白屏更新也可以后台添加,注意如果writer运行中需要暂停

oms:3.1之后改为数组类型加[],3.1版本之前不需要加[] sudo curl -XPOST 'http://10.xx.xx.xx:8088/JDBCWriter/update' -d "writerName=10.xx.xx.xx-9000:p_4263h6are4xs_source-000-0:0001000010&JDBCWriter.sinkFile.skipErrorCode=[00932]"

4>store异常退出

不支持的ddl操作,会引起行迁移 alter table xxxxxxx move partition P_xxxxx...
解决方案: OMS迁移同步期间,禁止除truncate partition外的DDL操作

5>注意事项

因为oms主机资源以及docker资源有限,注意内存分配,如果触发oom内存溢出可能会造成组件异常,全量迁移和全量校验有重试机制

如果主机资源充足,修改docker的资源 docker inspect oms docker stats oms docker ps -a 停 docker systemctl stop docker 修改配置文件 /docker/containers/fdc3d4cd1ef5476f827fcea05c70963672a29de29d9df0e89a95241fb64f878b/hostconfig.json 起docker systemctl start docker

6.  全量校验

提前调整fast参数,线程数量相全量同步减少,根据需要调整校验jvm

oms实战配置(小白易上手)-22

1.     发起全量校验

正常延迟小达到触发条件会自动进入全量校验,如果已完成或者上一次校验失败,可以重启校验

oms实战配置(小白易上手)-23

为了校验差异更准确方便梳理,校验之前切换源端归档,停adg同步后发起校验 1)调整ADG同步仅应用归档日志 alter database recover managed standby database disconnect from session; select a.THREAD#,a.SEQUENCE#,a.FIRST_TIME,a.NAME,a.APPLIED from v$archived_log a where a.APPLIED = 'IN-MEMORY'; -->无匹配结果则调整成功,如果归档应用慢可能也会有延迟应用的场景 2)Oracle生产端交叉切redo和归档(3组),每个节点 alter system switch logfile; alter system archive log current; 3)确认ADG端归档是否已全部应用完成 select a.THREAD#,a.SEQUENCE#,a.FIRST_TIME,a.NAME,a.APPLIED from v$archived_log a where a.APPLIED <> 'YES'; -->无匹配结果则全部应用完成,正常也有可能会有最新的一两个归档 select a.THREAD#,a.SEQUENCE#,a.FIRST_TIME,a.NAME,a.APPLIED from v$archived_log a where a.APPLIED = 'IN-MEMORY'; -->检查没有inmemory就可以停止 4)停ADG日志应用 alter database recover managed standby database cancel;

adg之后等待storewriter位点停在停adg时间点不再推进后再发起校验

如果无法自动进入校验可以通过omsmeta信息修改进入校验状态

OMS切换调度
MySQL [oms_rm]> select step_order,step_name,step_desc,step_status from oms_step where project_id='p_44qher04psxs' order by step_order;
+------------+-------------------+--------------------+-------------+
| step_order | step_name | step_desc | step_status |
+------------+-------------------+--------------------+-------------+
| 1 | PRE_CHECK | 预检查 | FINISHED |
| 2 | PREPARE | 迁移准备 | FINISHED |
| 3 | STRUCT_MIGRATION | 结构迁移 | FINISHED |
| 4 | INCR_LOG_PULL | 增量日志拉取 | FINISHED |
| 5 | FULL_MIGRATION | 全量迁移 | FINISHED |
| 6 | INCR_SYNC | 增量迁移 | MONITORING |
| 7 | FULL_VALIDATION | 全量校验 | RUNNING |
| 8 | APP_SWITCH | 正向切换 | INIT |
| 9 | REVERSE_INCR_SYNC | 反向增量 | INIT | -
+------------+-------------------+--------------------+-------------+

update oms_step set step_status='MONITORING' where step_name='INCR_SYNC' and step_status='RUNNING' and project_id='p_3u8nhzuv3r28'; --将增量状态改下可以自动进入全量校验阶段

2.     hash表校验

1.查出hash表
select OWNER,TABLE_NAME,PARTITIONING_TYPE,SUBPARTITIONING_TYPE from dba_part_tables where owner='xxxx' and (PARTITIONING_TYPE = 'HASH' Or SUBPARTITIONING_TYPE ='HASH');
2.单独拉取校验链路 3.OMS切换调度 project_id从oms前台可以看到
MySQL [oms_rm]> select step_order,step_name,step_desc,step_status from oms_step where project_id='p_44qher04psxs' order by step_order;
+------------+-------------------+--------------------+-------------+
| step_order | step_name | step_desc | step_status |
+------------+-------------------+--------------------+-------------+
| 1 | PRE_CHECK | 预检查 | FINISHED |
| 2 | PREPARE | 迁移准备 | FINISHED |
| 3 | STRUCT_MIGRATION | 结构迁移 | FINISHED |
| 4 | INCR_LOG_PULL | 增量日志拉取 | FINISHED |
| 5 | FULL_MIGRATION | 全量迁移 | FINISHED |
| 6 | INCR_SYNC | 增量迁移 | MONITORING |
| 7 | FULL_VALIDATION | 全量校验 | RUNNING |
| 8 | APP_SWITCH | 正向切换 | INIT |
| 9 | REVERSE_INCR_SYNC | 反向增量 | INIT | -
+------------+-------------------+--------------------+-------------+
####把全量校验状态改为失败 (ps多改几次,可以先把链路暂停后修改)
update oms_step set step_status='FAILED' where project_id='p_44qher04psxs' and step_name='FULL_VALIDATION';
4.oms docker 的全量校验进程kill掉
ps -ef|grep 10.xx.xx.xx-9000:90236:0000000022
5.前台显示失败之后,修改全量校验组件参数 新增以下参数。参数值为false limitator.verify.oracle.rowid.querydst.withpartition false
6.重新发起校验

3.     全量校验参数及内存修改(ps内存修改谨慎,关注docker及主机资源)

发起后可以通过前台修改

oms实战配置(小白易上手)-24

limitator.platform.threads.number=200

task.checker_jvm_param=-server -Xms196g -Xmx196g -Xmn190g -Xss256k

OMS稽核

1.     登陆oms平台查看校验结果

oms实战配置(小白易上手)-25

oms实战配置(小白易上手)-26

需要判断该类差异是否为正常增量导致

oms实战配置(小白易上手)-27

oms实战配置(小白易上手)-28

oms实战配置(小白易上手)-29

后台进入docker目录,校验第一次的目录为1第二次为2,依次类推

oms实战配置(小白易上手)-30

oms实战配置(小白易上手)-31

可以看到我是2023-03-03 17:15分左右停的adg,所以该时间点附近的数据差异一般可以认定为正常增量差异MODIFY时间是oracle源端的块修改时间。

这种一般是判断“不一致”及“仅源端有”这类差异

通过以下语句可以筛选非增量差异的源端rowid

cat SUBS_PRODUCT.diff |grep -v "2023-03-03 17:"|sed -r 's/.*rowid":"(.*)","type.*/\1/' |grep -v startingGmtTime AADNC8AEtAABoz8ACA

对于目标端仅有的差异,少量差异一般也是增量导致,可以拉起adg之后通过隐藏列去目标端检查验证,隐藏列其实是源端rowid转化有唯一性。

oms实战配置(小白易上手)-32

一般差异原因有三类

1〉非法时间

2〉乱码数据

##以上两类差异可以在sql目录下的相应表sql文件中看下订正语句,判断是否为这两类差异

3〉非预期差异

该类原因可能有多种情况,需要进一步分析,如源端2pc回滚节点不对,load入库大批量数据(可以通过logmnr包升级规避),oms解析一体机19cpdbadg之后再拉起解析归档顺序混乱导致(可以通过logmnr包升级或者等adg追平之后再拉起store规避)

4>#######20230523补充

源端oracle数据文件个数超过1023可能会导致全量数据丢失,oms本身校验规则与全量迁移切片规则一致,无法识别出来,最好提前进行count校验,该问题在后续的组件包里修复了

7.  正向切换、反向切换

如果不是生产割接不需要做反向切换,正向切换会检查延迟,并删除ob端的uk和隐藏列,执行后无法回退。反向切换的话会停止正向的writer,启动反向的storewriter与正向同步类似

反向增量不建议长期存在,存在ob后期某时间点大批量日志操作导致writer延迟,与业务确认可以跳过该时间点数据同步,风险可控

1.#改位点
sudo curl -XPOST 'http://134.xx.xx.xx:8088/JDBCWriter/update' -d "writerName=134.xx.xx.xx-9000:oms_source_topic_1000125_RATING-000-0:0000063963" -d "JDBCWriter.timestamp=1660831499"
2.#拉起
sudo curl -XPOST 'http://134.xx.xx.xx:8088/JDBCWriter/start' -d "writerName=134.xx.xx.xx-9000:oms_source_topic_1000125_RATING-000-0:0000063963" -d "resuming=false"

分享总结:

因为篇幅有限包括细节较多所以可能分享的内容不够完善,深度较低,专栏有一些研发和大佬分享的oms优化文章让我也受益匪浅,仅以我浅薄的知识分享给大家,希望能帮到一些需要的同仁。

知识是用来分享的,也感谢原厂交付同学的知识传播,以及同事徐利强、李行行帮忙文档整理,一起学习。

行之所向,莫问远方

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论