常见关系型数据库变化日志开启及清理

本文详细介绍了如何在Oracle、Mysql和Sqlserver三种数据库中配置归档、开启Binlog和CDC,以及如何定时清理归档并进行权限授权。
摘要由CSDN通过智能技术生成


目前业务主要涉及3种数据库除oracle因版本差异有细微差别,其他均一致。

1 Oracle

1.1 开启归档

1.切换oracle用户 su - oracle
2.登录开启归档

ORACLE_SID=ORACLCDB dbz_oracle sqlplus /nolog;
CONNECT sys/top_secret AS SYSDBA; //登录sysdba账户
alter system set db_recovery_file_dest_size = 10G;  //可以设置10G 是归档目录最大存储大小
alter system set db_recovery_file_dest = '/opt/oracle/oradata/recovery_area' scope=spfile; //归档目录
shutdown immediate; //关闭
startup mount; // 开始挂载
alter database archivelog;
alter database open; //开启归档
archive log list; //查看归档是否enable
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER TABLE DATABASE_NAME.TABLE_NAME ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; //表名库名根据对应修改执行
exit;

1.2 定时清理归档

#!/bin/bash
source ~/.bash_profile
exec >> /dev/null
$ORACLE_HOME/bin/rman target / <<EOF
crosscheck archivelog all;
delete noprompt expired archivelog all;
delete noprompt archivelog until time 'sysdate-3';
exit;
EOF

设定一个合适时间定期执行即可

1.3 授权

对于权限控制相对严格的项目,对方给的账户权限较小,还要进行对应授权

2 Mysql

2.1 开启Binlog

log_bin           = mysql-bin
binlog_format     = ROW
binlog_row_image  = FULL
expire_logs_days  = 3 // 保存时间3天即可

2.1 授权

CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'user' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

3 Sqlserver

2.1 开启CDC

USE MyDB
GO

EXEC sys.sp_cdc_enable_table
@source_schema = N'dbo',     -- 源表的架构
@source_name   = N'MyTable', -- 要捕获的表的名称
@role_name     = N'MyRole',  -- 角色MyRole,您可以向该角色添加要对源表的捕获列授予SELECT权限的用户
@filegroup_name = N'MyDB_CT',-- Server为捕获的表放置更改表的文件组。命名的文件组必须已存在。最好不要在用于源表的同一文件组中查找更改表。
@supports_net_changes = 0
GO

2.2 验证

USE MyDB;
GO
EXEC sys.sp_cdc_help_change_data_capture
GO
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值