暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SUNDB数据库技术宝典 | SUNDB Cyfile使用指南

原创 科蓝SUNDB数据库 2024-01-10
264


01. 环境说明

1.1 拓扑图

单机部署

1.2 服务器信息

服务器信息及软件版本:
image.png

02. 准备工作

(以下均为使用默认参数新建的实例操作)

2.1 SUNDB数据库准备

2.1.1查询当前配置信息及归档模式

#对比1.2.1.2参数情况
select archivelog_mode from v$archivelog;
select property_name ,property_value from v$property where property_name in (‘SUPPLEMENTAL_LOG_DATA_PRIMARY_KEY’,‘CLUSTER_ASYNC_COMMIT’,‘ARCHIVELOG_MODE’,‘DATA_STORE_MODE’);

2.1.2 配置sundb.properties.conf

如修改则增加或修改以下属性,修改后需重启sundb(重启时注意是否开启归档,参考1.2.1.3):
SUPPLEMENTAL_LOG_DATA_PRIMARY_KEY = YES
CLUSTER_ASYNC_COMMIT = NO
ARCHIVELOG_MODE = 1
DATA_STORE_MODE = 2

2.1.3 开启归档模式

(需重启sundb,集群需mount后open { local | global } database)
shutdown abort
startup mount
alter database archivelog;
alter system open database;

2.1.4 使用sys用户创建用于测试的schema、用户及授权

create user cdc identified by cdc;
grant create session on database to cdc;
grant create object on tablespace mem_data_tbs to cdc;
grant create object on tablespace mem_temp_tbs to cdc;
grant create object on tablespace mem_undo_tbs to cdc;
grant control schema on schema cdc to cdc;
commit;

2.1.5 创建用于cyfile的用户及授权

create user cdc01 identified by cdc01 without schema;
grant create session on database to cdc01;
grant select table on schema cdc to cdc01;
commit;
select username,user_id,account_status,default_tablespace,temporary_tablespace,index_tablespace,created from dba_users;

2.1.6 创建两张测试表

create table cdc.t1(col1 native_bigint primary key,col2 varchar(20));
create table cdc.t2(col1 native_bigint primary key,col2 varchar(20));
commit;

2.1.7添加附加日志

(开启附加日志配置后建的表,可忽略此操作)
ALTER TABLE cdc.t1 ADD SUPPLEMENTAL LOG DATA ( PRIMARY KEY ) COLUMNS;
ALTER TABLE cdc.t2 ADD SUPPLEMENTAL LOG DATA ( PRIMARY KEY ) COLUMNS;

2.1.8查询表:

select tablespace_name,table_schema||’.’||table_name as table_name,ceil(blocks*8192/1048576) || ’ MB’ as table_size from all_all_tables where table_schema not in (‘DEFINITION_SCHEMA’,‘DICTIONARY_SCHEMA’) order by table_name;

2.1.9 配置cyfile.conf

cat ${SUNDB_DATA}/conf/cyfile.conf

GROUP_NAME = g1
{
   USER_ID = cdc01
   USER_PW = cdc01
   DSN=G1N1
   CAPTURE_TABLE = 
    (
        cdc.t1,
        cdc.t2
    )
}

2.2 系统目录准备

2.2.1配置创建相应数据存放目录

#对应cyfile中的数据文件存放路径
mkdir -p /home/sundb01/dat

03. 启停操作

3.1启动cyfile

cyfile --start #开启所有cyfile
cyfile --start --group g1 #开启g1的cyfile
cyfile --start --reset { all | table1,table2 } #开启并重置cyfile

3.2查看cyfile信息

cyfile --info #查看所有cyfile信息
cyfile --info --group g1 #查看g1的cyfile信息

3.3关闭cyfile

cyfile --stop #关闭所有的cyfile
cyfile --stop --group g1 #关闭g1的cyfile

04. 数据验证

4.1 数据库增加数据

connect cdc cdc
insert into cdc.t1(col1,col2) values (11,‘test1’),(12,‘test2’),(13,‘test3’);
insert into cdc.t2(col1,col2) values (21,‘test1’),(22,‘test2’),(23,‘test3’);

4.2查看数据目录文件

ls /home/sundb01/dat/
cyfile.G1_1.dat cyfile.G1.ctl cyfile.G1.ctl_0

4.3查看csv数据

tail -200f /home/sundb01/dat/cyfile.G1_1.dat

4.4 再次数据库增加数据

insert into cdc.t1(col1,col2) values (14,‘test4’),(15,‘test5’),(16,‘test6’);

4.5查看csv数据

tail -200f /home/sundb01/dat/cyfile.G1_1.dat


最后修改时间:2024-02-07 11:44:14
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论