支持软件版本

1 目标库配置

1.1 创建用户及赋权

    create user "zcbus" identified by "***" ;
    grant public to zcbus;
    grant resource to zcbus;
    grant select any table to zcbus;
    grant select any dictionary to zcbus;
    GRANT FLASHBACK ANY TABLE TO ZCBUS;
    GRANT DROP ANY TABLE TO ZCBUS;
    GRANT CREATE ANY TABLE TO ZCBUS;
    GRANT ALTER ANY TABLE TO ZCBUS;
    GRANT CREATE ANY INDEX TO ZCBUS;
    GRANT ALTER ANY INDEX TO ZCBUS;
    GRANT DROP ANY INDEX TO ZCBUS;
    GRANT CREATE SESSION TO ZCBUS;
    GRANT COMMENT ANY TABLE TO ZCBUS;
    GRANT INSERT ANY TABLE TO ZCBUS;
    GRANT UPDATE ANY TABLE TO ZCBUS;
    GRANT DELETE ANY TABLE TO ZCBUS;

或者

    create user "zcbus" identified by "***" ;
    grant dba to zcbus;   ---超级用户权限

1.2 兼容最小权限同步

  • zcbus-8.3-16-20250917.tar.gz兼容
  • 要求:zcbus配置数据库链接用户和数据同步用户相同
    具体赋权如下:
    grant resource to  同步用户;
    grant unlimited tablespace to  同步用户;

2 补充说明

2.1 授权报错分析

报错信息:
SQL> GRANT CREATE ANY TABLE TO test_l2;
GRANT CREATE ANY TABLE TO test_l2;
[-5567]:Error in line: 1
Grantor no granted privilege.
used time: 0.320(ms). Execute id is 0.

报错原因:
达梦数据库有一个初始化参数 ENABLE_DDL_ANY_PRIV,它控制是否允许授予系统权限(如 DROP ANY TABLE)。默认情况下,此参数可能为 0(关闭)。
处理办法:
如果参数是动态的(PARA_TYPE 为 SYS 或 SESSION),可以直接使用以下命令修改:
ALTER SYSTEM SET 'ENABLE_DDL_ANY_PRIV' = 1;

如果参数是静态的(PARA_TYPE 为 IN FILE),则需要使用 SP_SET_PARA_VALUE 过程修改,并且重启数据库实例后生效:
SP_SET_PARA_VALUE(2, 'ENABLE_DDL_ANY_PRIV', 1); -- 1-动态,2-静态

2.2 配置目标数据库参数列表

变量 描述 是否隐藏
db_type DAMENG 数据库类型
host 127.0.0.1 数据库主机IP
port 5236 数据库端口
user zcbus 数据库链接用户
password 1qaz!QAZ 数据库链接用户密码
db_name PROD 数据库名
password_encrypt 0 设置为加密(1)时,password和source_password参数使用密文保存,默认为不加密(0)
slave_ip_list 如果目标库有多个节点时,可以填其余的节点的ip列表,用逗号隔开,注意这里不要填主节点的ip了,如:192.168.1.2,192.168.1.3或者192.168.1.2:1521/db2,192.168.1.3:1521/db3
always_connect_master 0 设置slave_ip_list指定多个节点后生效,取值:0- 可以任意连接节点,默认值- 必须连接主节点此参数适用mysql/pg/达梦
label 标签
文档更新时间: 2025-09-16 23:38   作者:阿力