1. 概述
使用实时管道任务、数据开发-实时任务同步达梦数据前,需要参考本文在数据源中进行一些配置,为后续的数据同步做好准备。
2. 操作步骤
2.1 确定数据库版本
支持 8.1 版本的达梦数据库。
2.2 检查是否开启归档日志
SELECT para_name, para_value FROM v$dm_ini WHERE para_name IN ('ARCH_INI','RLOG_APPEND_LOGIC');

ARCH_INI:值为1,表示已启用归档;若为0,需参考本文 2.3 节步骤开启。
RLOG_APPEND_LOGIC:值为2,表示无论是否有主键,均记录所有列的信息;值为0,表示不记录逻辑操作。
2.3 开启归档日志和逻辑日志
2.3.1 开启归档日志
1)修改数据库为 MOUNT 状态。
ALTER DATABASE MOUNT;
2)配置本地归档。
注:d:/dmdbms/arch 用户需根据实际情况修改。
ALTER DATABASE ADD ARCHIVELOG 'DEST = d:/dmdbms/arch, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048';
3)切换数据库的日志模式为归档模式。
ALTER DATABASE ARCHIVELOG;
4)修改数据库为 OPEN 状态。
ALTER DATABASE OPEN;
5)开启全字段补充日志。
SP_SET_PARA_VALUE(1,'RLOG_APPEND_LOGIC',2);
2.3.2 开启记录物理逻辑日志功能
方案一:开启所有表的日志记录
SP_SET_PARA_VALUE(1,'RLOG_IGNORE_TABLE_SET',1);
方案二:开启单表日志记录
--关闭所有表日志记录
SP_SET_PARA_VALUE(1,'RLOG_IGNORE_TABLE_SET',0);
--创建表时声明日志记录
CREATE TABLE FDL.ABBC (
AAA varchar(100) NULL
)
ADD LOGIC LOG;
--修改表声明日志记录
ALTER TABLE FDL.LOG_TEST ADD LOGIC LOG;
2.3.3 校验配置是否成功
1)校验是否开启归档日志。
select arch_mode from v$database;
返回 Y,表示已开启。
2)校验是否开启全补充日志。
SELECT NAME, VALUE, DESCRIPTION FROM V$PARAMETER WHERE NAME = 'RLOG_APPEND_LOGIC';

3)校验是否开启记录物理逻辑日志功能。
SELECT NAME, VALUE, DESCRIPTION FROM V$PARAMETER WHERE NAME = 'RLOG_IGNORE_TABLE_SET';
value 值为1代表已开启所有表,0表示未开启。

2.4 分配用户权限
数据连接用户,需要按照本节内容分配权限。
1)以拥有 DBA 权限的身份登录达梦数据库。
2)创建用户。
CREATE USER username IDENTIFIED BY "password" DEFAULT TABLESPACE table_space_name;
username:用户名,需替换为实际值。
pass_word:密码,需替换为实际值。
table_space_name:表空间名称,需替换为实际值。
3)为新建用户分配权限。
-- 替换下述命令中的 username 为真实的用户名
-- 查询表
GRANT SELECT ANY TABLE TO username;
-- 查询数据库初始化加载信息记录表
GRANT SELECT ON V$DM_INI TO username;
-- 查询归档日志信息
GRANT SELECT ON V$ARCHIVED_LOG TO username;
-- 查询归档日志总体信息
GRANT SELECT ON V$RLOG TO username;
-- 查询归档日志分析视图
GRANT SELECT ON V$LOGMNR_CONTENTS TO username;
-- 查询会话视图
GRANT SELECT ON V$SESSIONS TO username;
-- 查询事务视图
GRANT SELECT ON V$TRX TO username;
2.5 后续步骤
使用达梦数据库与 FineDataLink 建立连接(配置达梦DM数据源)并配置实时管道任务、实时任务。
