news 2026/5/7 15:43:17

DMDRS数据库同步用户最小权限脚本示例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DMDRS数据库同步用户最小权限脚本示例

1、DM8源数据库同步用户最小权限脚本示例

-- ## 基础权限 -- 插入、删除、更新数据时,需要数据操作权限 GRANT PUBLIC TO DMDRS; -- 需要系统表、系统字典和动态视图的查询权限 GRANT SOI,VTI TO DMDRS; -- 需要创建会话权限 GRANT CREATE SESSION TO DMDRS; -- ## 装载相关权限 -- 需要非同步用户下待装载表/序列上的查询权限 GRANT SELECT ON <待装载表/序列的模式名>.<待装载表/序列的表名> TO DMDRS; -- ## 同步相关权限 -- DM8触发器同步时,如果数据库用户不是SYSDBA用户,需要对SYSDBA.DRS_$DDL_LOG具有查询权限 GRANT SELECT ON SYSDBA.DRS_$DDL_LOG TO DMDRS; -- ## DSC同步相关权限 -- DSC时,需要新增以下权限: GRANT CREATE TABLE TO DMDRS; GRANT CREATE PACKAGE TO DMDRS;

说明

  • 对于旧版本DM8无SOI、VTI权限的情况,使用同等权限的对象查询权限即可。
    GRANT SELECT ON SYS.V$RLOG TO DMDRS;
    GRANT SELECT ON SYS.V$DM_INI TO DMDRS;
    GRANT SELECT ON SYS.V$RLOGFILE TO DMDRS;
    GRANT SELECT ON SYS.V$DM_ARCH_INI TO DMDRS;
    GRANT SELECT ON SYS.V$VERSION TO DMDRS;
    GRANT SELECT ON SYS.V$ARCH_FILE TO DMDRS;
    GRANT SELECT ON SYS.V$IFUN TO DMDRS;
    GRANT SELECT ON SYS.V$DYNAMIC_TABLES TO DMDRS;
    GRANT SELECT ON SYS.V$DYNAMIC_TABLE_COLUMNS TO DMDRS;
    DSC还需包含以下权限:
    GRANT SELECT ON SYS.V$DCR_GROUP TO DMDRS;
    GRANT SELECT ON SYS.V$DCR_EP TO DMDRS;
    GRANT SELECT ON SYS.V$DM_MAL_INI TO DMDRS;
  • 对于旧版本DM8无CREATE SESSION权限的情况,删除该权限即可。

2、DM8目标数据库同步用户最小权限脚本示例

-- ## 基础权限 -- 插入、删除、更新数据时,需要数据操作权限 GRANT PUBLIC TO DMDRS; -- 启动时需要在目标数据库中创建辅助表和辅助存储过程 GRANT RESOURCE TO DMDRS; -- 需要查询数据库的相关参数信息、系统表字典信息 GRANT SOI,VTI TO DMDRS; -- 需要创建会话权限 GRANT CREATE SESSION TO DMDRS; -- ## 装载与同步相关权限 -- 需要非同步用户模式下已存在的待同步表/序列的操作权限 GRANT INSERT ON <目标表的模式名>.<目标表名> TO DMDRS; GRANT UPDATE ON <目标表的模式名>.<目标表名> TO DMDRS; GRANT DELETE ON <目标表的模式名>.<目标表名> TO DMDRS; GRANT SELECT ON <目标序列的模式名>.<目标序列名> TO DMDRS; -- 需要非同步用户模式下未存在的表/序列的数据的操作权限。也可以在目标同步表创建后,同上行所述单独为每张表赋予操作权限 GRANT INSERT ANY TABLE TO DMDRS; GRANT UPDATE ANY TABLE TO DMDRS; GRANT DELETE ANY TABLE TO DMDRS; GRANT SELECT ANY TABLE TO DMDRS; GRANT SELECT ANY SEQUENCE TO DMDRS; -- 需要非同步用户模式下创建表注释的权限 GRANT COMMENT ANY TABLE TO DMDRS; -- 需要非同步用户模式下对象的DDL权限 GRANT CREATE ANY <对象类型> TO DMDRS; GRANT ALTER ANY <对象类型> TO DMDRS; GRANT DROP ANY <对象类型> TO DMDRS; -- 需要非模式对象(表空间、用户、角色和公共同义词)的DDL权限 GRANT CREATE <对象类型> TO DMDRS; GRANT ALTER <对象类型> TO DMDRS;-- 角色和公共同义词不需要此权限 GRANT DROP <对象类型> TO DMDRS; -- 需要赋予同步用户辅助存储过程的执行权限以及非同步用户下模式所属用户的存储过程的创建权限 GRANT EXECUTE ON PROCEDURE "DRS_$DDL_SQL_PROC" TO DMDRS; GRANT CREATE PROCEDURE TO <非同步用户下模式所属的用户>;
说明
  • 对于旧版本DM8无SOI、VTI权限的情况,使用同等权限的对象查询权限即可。
    GRANT SELECT ON SYS.V$DM_INI TO DMDRS;
    GRANT SELECT ON V$IFUN TO DMDRS;
    GRANT SELECT ON SYS.V$LOCK TO DMDRS;
    GRANT SELECT ON SYS.V$SESSIONS TO DMDRS;
  • 对于旧版本DM8无CREATE SESSION权限的情况,删除该权限即可。

3、Oracle目标数据库同步用户最小权限脚本示例

-- ## 基础权限 -- 启动时需要在目标数据库中创建辅助表和辅助存储过程 GRANT RESOURCE TO DMDRS; -- 在连接数据库时需要创建会话 GRANT CONNECT TO DMDRS; -- 启动时需要查询数据库的相关参数信息 GRANT SELECT ON V_$INSTANCE TO DMDRS; GRANT SELECT ON V_$PARAMETER TO DMDRS; GRANT SELECT ON V_$SESSION TO DMDRS; GRANT SELECT ON V_$LOCK TO DMDRS; GRANT SELECT ON DBA_TAB_PARTITIONS TO DMDRS; -- ## 装载相关权限 -- 需要如下系统表、系统字典及动态视图的查询权限 GRANT SELECT ON SYS.OBJ$ TO DMDRS; GRANT SELECT ON SYS.USER$ TO DMDRS; GRANT SELECT ON SYS.COL$ TO DMDRS; GRANT SELECT ON SYS.COLTYPE$ TO DMDRS; GRANT SELECT ON SYS.CCOL$ TO DMDRS; GRANT SELECT ON SYS.CDEF$ TO DMDRS; GRANT SELECT ON SYS.ATTRCOL$ TO DMDRS; GRANT SELECT ON DBA_IND_COLUMNS TO DMDRS; GRANT SELECT ON DBA_INDEXES TO DMDRS; -- ## 同步相关权限 -- 需要如下系统表、系统字典及动态视图的查询权限 GRANT SELECT ON SYS.IND$ TO DMDRS; GRANT SELECT ON SYS.SEQ$ TO DMDRS; GRANT SELECT ON DBA_TAB_SUBPARTITIONS TO DMDRS; GRANT SELECT ON DBA_CONSTRAINTS TO DMDRS; -- 目标DMDRS主备需要数据库实例的查询权限 GRANT SELECT ON GV_$INSTANCE TO DMDRS; -- ## 装载与同步相关权限 -- 需要非同步用户模式下已存在的待同步表/序列的操作权限 GRANT INSERT ON <目标表的模式名>.<目标表名> TO DMDRS; GRANT UPDATE ON <目标表的模式名>.<目标表名> TO DMDRS; GRANT DELETE ON <目标表的模式名>.<目标表名> TO DMDRS; GRANT SELECT ON <目标序列的模式名>.<目标序列名> TO DMDRS; -- 需要非同步用户模式下未存在的表/序列的数据的操作权限。也可以在目标同步表创建后,同上行所述单独为每张表赋予操作权限 GRANT INSERT ANY TABLE TO DMDRS; GRANT UPDATE ANY TABLE TO DMDRS; GRANT DELETE ANY TABLE TO DMDRS; GRANT SELECT ANY TABLE TO DMDRS; GRANT SELECT ANY SEQUENCE TO DMDRS; -- 需要非同步用户模式下对象的DDL权限 GRANT CREATE ANY <对象类型> TO DMDRS; GRANT ALTER ANY <对象类型> TO DMDRS; GRANT DROP ANY <对象类型> TO DMDRS;

4、MySQL目标数据库同步用户最小权限脚本示例

-- ## 基础权限 -- 启动时需要在dbname参数指定的目标库下创建辅助表和辅助存储过程 GRANT CREATE ON <目标库名>.* TO 'DMDRS'@'localhost'; GRANT DROP ON <目标库名>.* TO 'DMDRS'@'localhost'; GRANT CREATE ROUTINE ON <目标库名>.* TO 'DMDRS'@'localhost'; GRANT INSERT ON <目标库名>.* TO 'DMDRS'@'localhost'; GRANT UPDATE ON <目标库名>.* TO 'DMDRS'@'localhost'; GRANT DELETE ON <目标库名>.* TO 'DMDRS'@'localhost'; -- 连接数据库时需要创建会话(用户创建时默认授予) GRANT USAGE TO 'DMDRS'@'localhost'; -- ## 装载与同步相关权限 -- 需要目标数据库中已存在的待同步表的操作和查询权限 GRANT INSERT ON <目标表的模式名>.<目标表名> TO 'DMDRS'@'localhost'; GRANT UPDATE ON <目标表的模式名>.<目标表名> TO 'DMDRS'@'localhost'; GRANT DELETE ON <目标表的模式名>.<目标表名> TO 'DMDRS'@'localhost'; GRANT SELECT ON <目标表的模式名>.<目标表名> TO 'DMDRS'@'localhost'; -- 需要目标数据库中未存在的待同步表的操作和查询权限。也可以在目标同步表创建后,同上行所述单独为每张表赋予操作和查询权限 GRANT INSERT ON <目标表的模式名>.* TO 'DMDRS'@'localhost'; GRANT UPDATE ON <目标表的模式名>.* TO 'DMDRS'@'localhost'; GRANT DELETE ON <目标表的模式名>.* TO 'DMDRS'@'localhost'; GRANT SELECT ON <目标表的模式名>.* TO 'DMDRS'@'localhost'; -- 需要目标数据库中待同步对象的DDL权限 -- 表 GRANT CREATE ON <目标对象的模式名>.* TO 'DMDRS'@'localhost'; GRANT ALTER ON <目标对象的模式名>.* TO 'DMDRS'@'localhost'; GRANT DROP ON <目标对象的模式名>.* TO 'DMDRS'@'localhost'; -- 索引 GRANT INDEX ON <目标对象的模式名>.* TO 'DMDRS'@'localhost'; -- 存储过程、函数 GRANT CREATE ROUTINE ON <目标对象的模式名>.* TO 'DMDRS'@'localhost'; GRANT ALTER ROUTINE ON <目标对象的模式名>.* TO 'DMDRS'@'localhost'; -- 外键 GRANT REFERENCES ON <目标对象的模式名>.* TO 'DMDRS'@'localhost';

5、SQL Server目标数据库同步用户最小权限脚本示例

-- ## 基础权限 -- 启动时需要在目标数据库中创建辅助表和辅助存储过程 EXEC sp_addrolemember 'db_ddladmin', 'DMDRS'; GRANT ALTER ON SCHEMA::<目标模式> TO DMDRS; -- 连接数据库时需要创建会话权限(用户创建时默认授予) GRANT CONNECT TO DMDRS; -- ## 装载与同步相关权限 -- 需要非同步用户模式下已存在的待同步表/序列的操作权限 GRANT INSERT ON <目标表的模式名>.<目标表名> TO DMDRS; GRANT UPDATE ON <目标表的模式名>.<目标表名> TO DMDRS; GRANT DELETE ON <目标表的模式名>.<目标表名> TO DMDRS; GRANT SELECT ON <目标序列的模式名>.<目标序列名> TO DMDRS; -- 需要非同步用户模式下未存在的表/序列的数据的操作权限。也可以在目标同步表创建后,同上行所述单独为每张表赋予操作权限 GRANT INSERT ON SCHEMA::<目标模式名> TO DMDRS; GRANT UPDATE ON SCHEMA::<目标模式名> TO DMDRS; GRANT DELETE ON SCHEMA::<目标模式名> TO DMDRS; GRANT SELECT ON SCHEMA::<目标模式名> TO DMDRS; -- 需要非同步用户模式下对象的DDL权限 EXEC sp_addrolemember 'db_ddladmin', 'DMDRS'; GRANT ALTER ON SCHEMA::<目标模式> TO DMDRS;

6、PostgreSQL目标数据库同步用户最小权限脚本示例

-- ## 基础权限 -- 启动时需要在dbname参数指定的目标库下创建辅助表和辅助存储过程 GRANT CREATE ON DATABASE <目标库名> TO "DMDRS"; -- 连接数据库时需要创建会话(用户创建时默认授予) GRANT CONNECT ON DATABASE <目标库名> TO "DMDRS"; -- ## 装载与同步相关权限 -- 需要public模式下辅助表的操作权限 GRANT USAGE ON SCHEMA public TO "DMDRS"; (优先) GRANT INSERT ON ALL TABLES IN SCHEMA public TO "DMDRS"; GRANT UPDATE ON ALL TABLES IN SCHEMA public TO "DMDRS"; GRANT DELETE ON ALL TABLES IN SCHEMA public TO "DMDRS"; GRANT SELECT ON ALL TABLES IN SCHEMA public TO "DMDRS"; -- 需要目标数据库中已存在的待同步表上的操作和查询权限 GRANT USAGE ON SCHEMA <目标表的模式名> TO "DMDRS"; (优先) GRANT INSERT ON <目标表的模式名>.<目标表名> TO "DMDRS"; GRANT UPDATE ON <目标表的模式名>.<目标表名> TO "DMDRS"; GRANT DELETE ON <目标表的模式名>.<目标表名> TO "DMDRS"; GRANT SELECT ON <目标表的模式名>.<目标表名> TO "DMDRS"; -- 需要目标数据库中未存在的待同步表上的操作和查询权限。也可以在目标同步表创建后,同上行所述单独为每张表赋予操作和查询权限 GRANT USAGE ON SCHEMA <目标表的模式名> TO "DMDRS"; (优先) GRANT INSERT ON ALL TABLES IN SCHEMA <目标表的模式名> TO "DMDRS"; GRANT UPDATE ON ALL TABLES IN SCHEMA <目标表的模式名> TO "DMDRS"; GRANT DELETE ON ALL TABLES IN SCHEMA <目标表的模式名> TO "DMDRS"; GRANT SELECT ON ALL TABLES IN SCHEMA <目标表的模式名> TO "DMDRS"; -- 需要非同步用户模式下未存在的表/序列的数据的操作权限。也可以在目标同步表创建后,同上行所述单独为每张表赋予操作权限 GRANT USAGE ON SCHEMA <目标表的模式名> TO "DMDRS"; (优先) GRANT INSERT ON ALL TABLES IN SCHEMA <目标表的模式名> TO "DMDRS"; GRANT UPDATE ON ALL TABLES IN SCHEMA <目标表的模式名> TO "DMDRS"; GRANT DELETE ON ALL TABLES IN SCHEMA <目标表的模式名> TO "DMDRS"; GRANT SELECT ON ALL TABLES IN SCHEMA <目标表的模式名> TO "DMDRS"; -- 需要目标数据库中待同步对象的DDL权限 GRANT CREATE ON SCHEMA <目标模式名> TO "DMDRS";
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 9:21:55

全自动云像仪:专为全天候、高精度监测天空云况设计

全自动云像仪是山东天合环境科技有限公司自主研发的新一代气象观测设备&#xff0c;专为全天候、高精度监测天空云况设计&#xff0c;广泛应用于气象预报、航空安全、农业气象、环境监测及光伏电站运维等领域。该设备采用220超大可视角度鱼眼镜头&#xff0c;搭配500万像素高品…

作者头像 李华
网站建设 2026/5/3 7:03:44

基于 SIFT 和 RANSAC 算法对高分辨率图像进行图像伪造检测附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…

作者头像 李华
网站建设 2026/4/29 10:09:44

论文重复率修改:如何有效降低论文AI率?

在当前高校论文写作中&#xff0c;AI生成内容&#xff08;AIGC&#xff09;检测成为越来越严格的门槛。面对知网、万方等权威平台的AI率检测&#xff0c;很多同学和老师都难免会遇到论文重复率过高的问题。本文结合真实使用体验&#xff0c;介绍两款我在实际论文降重过程中效果…

作者头像 李华
网站建设 2026/5/6 0:54:35

全网最全专科生必备AI论文写作软件TOP10测评

全网最全专科生必备AI论文写作软件TOP10测评 一、不同维度核心推荐&#xff1a;10款AI工具各有所长 对于专科生而言&#xff0c;论文写作是一个复杂而多环节的过程&#xff0c;从开题、初稿撰写到查重、降重和排版&#xff0c;每个阶段都需要合适的工具辅助。在实际测评过程中…

作者头像 李华
网站建设 2026/5/1 20:06:27

日志输出优化实战:从“能用”到“好用”的全攻略

日志输出优化实战&#xff1a;从“能用”到“好用”的全攻略在日常开发中&#xff0c;日志是开发者的“眼睛”——排查问题、定位故障、监控系统状态&#xff0c;都离不开日志。但实际项目里&#xff0c;很多日志输出却处于“能用但不好用”的状态&#xff1a;要么级别混乱&…

作者头像 李华