三种数据库的CDC模式配置


[TurboDX配置]

一、Oracle数据库

Oracle数据库的增量捕获功能,需要对源数据库做以下配置:

  1. 数据库系统管理员需要配置至少三个redo log日志文件,每个数据文件至少500M,以便日志文件能够保留更长时间不被循环覆盖。

  2. 数据库系统管理员登录

    启用最小补充日志,SQL命令:

    ALTER DATABASE ADD Supplemental LOG DATA;
    

    启用主键补充日志,SQL命令:

    alter database add supplemental log data (Primary key) columns;
    
  3. 赋予数据库用户读取数据库日志权限,SQL命令:

    GRANT SELECT_CATALOG_ROLE TO [用户名];
    GRANT EXECUTE_CATALOG_ROLE TO [用户名];
    
    GRANT CREATE SESSION TO [用户名];
    GRANT SELECT ANY TRANSACTION TO [用户名];
    
  4. 赋予数据库用户需要交换的数据库表的读权限,SQL命令:

    grant select  on [schema名].[表名] to [用户名];
    

二、MySQL数据库

MySQL数据库的增量捕获功能,需要对源数据库做以下配置:

  1. 增量捕获功能需要修改 MySQL配置文件 linux为my.cnf或windows为my.ini,添加内容如下:
    [mysqld]
    log-bin=mysql-bin 	#添加这一行
    binlog-format=ROW 	#选择row模式
    server_id=1 		#配置mysql replaction需要定义
    
  2. 赋予数据库用户binlog权限,SQL语句如下:
    grant REPLICATION SLAVE ON *.* TO [用户名]  
    grant REPLICATION CLIENT ON *.* TO [用户名] 
    

三、SQLServer数据库

SQLServer数据库增量捕获功能,需要对源数据库做以下配置

  1. 数据库系统管理员登录
    启动对应的库的增量捕获功能,SQL命令:

    EXEC [库名].SYS.SP_CDC_ENABLE_DB
    

    设置保留触发增量数据的时间,超过时间的数据被将自动清除,SQL命令:

    显示原有配置时间(单位分钟)

    EXEC sp_cdc_help_jobs
    

    更改数据保留时间为XXX分钟

    EXECUTE sys.sp_cdc_change_job
      @job_type = N'cleanup',
      @retention=XXX
    

    重启一下作业,以使设置生效:
    先停用作业

    EXEC sys.sp_cdc_stop_job N'cleanup'
    

    再启用作业

    EXEC sys.sp_cdc_start_job N'cleanup'
    

    如果sql重启作业不成功,可以到SQL Server Management Studio去右键对应的作业禁用再启用就可以了。

  2. 赋予数据库用户对应库的owner的权限:

    use [库名]
    EXEC sp_grantdbaccess '用户名'
    exec sp_addrolemember 'db_owner', '用户名'
    

【全文完】

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值