OceanBase迁移用户及其权限配置

OceanBase迁移用户及其权限配置

MySQL数据源

MySQL作为源端时

创建迁移用户并授权:

sql 复制代码
CREATE USER oms_src_user IDENTIFIED BY '******';

--假设要迁移的数据库是destdb
GRANT SELECT ON destdb.* TO 'oms_src_user'@'%';
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'oms_src_user'@'%';
GRANT SELECT ON *.* TO 'oms_src_user'@'%';
GRANT SHOW VIEW ON destdb.* to 'oms_src_user'@'%';

--如果开启了反向增量
GRANT CREATE,SELECT,INSERT,UPDATE,DELETE ON destdb.* TO 'oms_src_user'@'%';

MySQL作为目标端时

创建迁移用户并授权:

sql 复制代码
CREATE USER oms_dst_user IDENTIFIED BY '******';

GRANT SELECT, CREATE, INSERT, UPDATE ON oms.* TO 'oms_dst_user'@'%';
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'oms_dst_user'@'%';

--假设要迁移的数据库是destdb
GRANT CREATE,SELECT,INSERT,UPDATE,DELETE ON destdb.* TO 'oms_dst_user'@'%';
GRANT CREATE VIEW ON destdb.* TO 'oms_dst_user'@'%';
GRANT INDEX ON destdb.* TO 'oms_dst_user'@'%';
GRANT TRIGGER ON destdb.* TO 'oms_dst_user'@'%';

GRANT ALL PRIVILEGES ON destdb.* TO 'oms_dst_user'@'%';

Oracle数据源

Oracle数据库作为源端时的正向迁移和作为目标端时的反向回流需要的权限是一致的。

Oracle作为源端时

创建迁移用户并授权:

sql 复制代码
CREATE USER oms_src_user IDENTIFIED BY xxxxxx;

GRANT CONNECT TO oms_src_user;
GRANT CREATE SESSION, ALTER SESSION, SELECT ANY TRANSACTION, SELECT ANY TABLE, SELECT ANY DICTIONARY TO oms_src_user;

GRANT LOGMINING TO oms_src_user;
GRANT EXECUTE ON SYS.DBMS_LOGMNR TO oms_src_user;
GRANT CREATE TABLE, UNLIMITED TABLESPACE TO oms_src_user;

GRANT CREATE ANY TABLE,CREATE ANY INDEX,DROP ANY TABLE,ALTER ANY TABLE,COMMENT ANY TABLE,
DROP ANY INDEX,ALTER ANY INDEX,CREATE ANY SEQUENCE,ALTER ANY SEQUENCE,DROP ANY SEQUENCE,
CREATE ANY VIEW,DROP ANY VIEW,INSERT ANY TABLE,DELETE ANY TABLE,UPDATE ANY TABLE TO oms_src_user;

GRANT CREATE ANY PROCEDURE TO oms_src_user;
GRANT CREATE ANY TYPE TO oms_src_user;
GRANT SELECT ANY SEQUENCE TO oms_src_user;
GRANT CREATE ANY TRIGGER TO oms_src_user;

Oracle作为目标端时

Oracle数据库作为目标端时,除根据不同版本赋予相应权限外,还需要具备CREATE ANY TRIGGER权限。

创建迁移用户并授权:

sql 复制代码
CREATE USER oms_dst_user IDENTIFIED BY xxxxxx;

GRANT CONNECT TO oms_dst_user;
GRANT CREATE SESSION, ALTER SESSION, SELECT ANY TRANSACTION, SELECT ANY TABLE, SELECT ANY DICTIONARY TO oms_dst_user;

GRANT LOGMINING TO oms_dst_user;
GRANT EXECUTE ON SYS.DBMS_LOGMNR TO oms_dst_user;
GRANT CREATE TABLE, UNLIMITED TABLESPACE TO oms_dst_user;

GRANT CREATE ANY TABLE,CREATE ANY INDEX,DROP ANY TABLE,ALTER ANY TABLE,COMMENT ANY TABLE,
DROP ANY INDEX,ALTER ANY INDEX,CREATE ANY SEQUENCE,ALTER ANY SEQUENCE,DROP ANY SEQUENCE,
CREATE ANY VIEW,DROP ANY VIEW,INSERT ANY TABLE,DELETE ANY TABLE,UPDATE ANY TABLE TO oms_dst_user;

GRANT CREATE ANY PROCEDURE TO oms_dst_user;
GRANT CREATE ANY TYPE TO oms_dst_user;
GRANT SELECT ANY SEQUENCE TO oms_dst_user;
GRANT CREATE ANY TRIGGER TO oms_dst_user;

OceanBase MySQL数据源

OceanBase MySQL作为源端时

新建OceanBase数据库MySQL兼容模式数据源时,涉及OceanBase数据库用户、DRC用户(sys租户用户)和__oceanbase_inner_drc_user用户三种不同类型的用户,您可以根据实际需要进行创建。

  • 创建OceanBase用户:在MySQL租户中,创建OMS连接使用的迁移用户并授权。假设目标库为destdb
sql 复制代码
--业务租户下
CREATE USER oms_src_user IDENTIFIED BY 'xxxxxx';
GRANT SELECT ON oceanbase.* TO oms_src_user;

--假设要迁移的数据库是destdb
GRANT SELECT ON destdb.* TO oms_src_user;

--如果开启了反向增量
GRANT CREATE,SELECT,INSERT,UPDATE,DELETE ON destdb.* TO oms_src_user;
  • 创建DRC用户(可选)。

使用OceanBase数据源作为源端进行结构迁移、结构同步或增量同步时,以及使用OceanBase数据源作为目标端进行反向增量时,除了创建OceanBase数据库用户外,还需要在业务集群sys租户下创建DRC用户,以读取OceanBase数据库的增量日志数据和数据库对象结构信息。该用户用于新建OceanBase数据源(包括物理数据源和逻辑数据源)时填写高级选项中的DRC用户用户名。

sql 复制代码
--SYS租户下
CREATE USER <drc_user> IDENTIFIED BY 'xxxxxx';
GRANT SELECT ON *.* TO <drc_user> ;
  • 创建__oceanbase_inner_drc_user用户(可选)。

当需要迁移OceanBase数据库MySQL兼容模式的无唯一键表至目标端时,除了创建OceanBase数据库用户外,还需要在源端业务租户 下创建__oceanbase_inner_drc_user用户。该用户用于新建租户类型为MySQL的OceanBase数据源时,填写__oceanbase_inner_drc_user密码。

sql 复制代码
--业务租户下
CREATE USER __oceanbase_inner_drc_user IDENTIFIED BY 'xxxxxx';
GRANT SELECT ON *.* TO __oceanbase_inner_drc_user;

OceanBase MySQL作为目标端时

新建OceanBase数据库MySQL兼容模式数据源时,涉及OceanBase数据库用户、DRC用户(sys租户用户)和__oceanbase_inner_drc_user用户三种不同类型的用户,您可以根据实际需要进行创建。

  • 创建OceanBase用户:在MySQL租户中,创建OMS连接使用的迁移用户并授权。假设目标库为destdb
sql 复制代码
--业务租户下
CREATE USER oms_dst_user IDENTIFIED BY 'xxxxxx';
GRANT SELECT ON *.* TO oms_dst_user;

--假设要迁移的数据库是destdb
GRANT CREATE,CREATE VIEW,SELECT,INSERT,UPDATE,ALTER,INDEX,DELETE ON destdb.* TO oms_dst_user;
GRANT TRIGGER,REFERENCES ON destdb.* TO oms_dst_user;

GRANT ALL PRIVILEGES ON destdb.* TO oms_dst_user;
  • 创建DRC用户(可选)。

使用OceanBase数据源作为源端进行结构迁移、结构同步或增量同步时,以及使用OceanBase数据源作为目标端进行反向增量时,除了创建OceanBase数据库用户外,还需要在业务集群sys租户下创建DRC用户,以读取OceanBase数据库的增量日志数据和数据库对象结构信息。该用户用于新建OceanBase数据源(包括物理数据源和逻辑数据源)时填写高级选项中的DRC用户用户名。

sql 复制代码
--SYS租户下
CREATE USER <drc_user> IDENTIFIED BY 'xxxxxx';
GRANT SELECT ON *.* TO <drc_user> ;
  • 创建__oceanbase_inner_drc_user用户(可选)。

当需要迁移OceanBase数据库MySQL兼容模式的无唯一键表至目标端时,除了创建OceanBase数据库用户外,还需要在源端业务租户 下创建__oceanbase_inner_drc_user用户。该用户用于新建租户类型为MySQL的OceanBase数据源时,填写__oceanbase_inner_drc_user密码。

sql 复制代码
--业务租户下
CREATE USER __oceanbase_inner_drc_user IDENTIFIED BY 'xxxxxx';
GRANT SELECT ON *.* TO __oceanbase_inner_drc_user;

OceanBase Oracle数据源

OceanBase Oracle作为源端时

新建OceanBase数据库Oracle兼容模式数据源时,涉及OceanBase数据库用户、DRC用户(sys租户用户)和__OCEANBASE_INNER_DRC_USER用户三种不同类型的用户,可以根据实际需要进行创建。

  • OceanBase数据库用户(必选):该用户为必选用户,用于进行源端和目标端之间的数据迁移或数据同步。
sql 复制代码
--业务租户下
CREATE USER oms_src_user IDENTIFIED BY xxxxxx;

GRANT CONNECT TO oms_src_user;
GRANT DBA TO oms_src_user;

GRANT SELECT ON DBA_OB_ARCHIVELOG TO oms_src_user;
GRANT SELECT ON DBA_OB_TABLE_LOCATIONS TO oms_src_user;
  • DRC用户(可选):该用户为可选用户,用于读取OceanBase数据库的增量日志数据和数据库对象结构信息。如果作为源端时,需要进行结构迁移、结构同步或增量同步,请在源端sys租户下创建DRC用户。如果作为目标端时,需要进行反向增量,请在目标端sys租户下创建DRC用户。
sql 复制代码
--SYS租户下
CREATE USER <drc_user> IDENTIFIED BY '******';
GRANT SELECT ON *.* TO <drc_user>;
  • __OCEANBASE_INNER_DRC_USER用户(可选):该用户为可选用户,仅在需要迁移无唯一键表时创建。

当需要迁移OceanBase数据库Oracle兼容模式的无唯一键表至目标端时,除了创建OceanBase数据库用户外,还需要在源端业务租户 下创建__OCEANBASE_INNER_DRC_USER用户。该用户用于新建租户类型为Oracle的OceanBase数据源时,填写__OCEANBASE_INNER_DRC_USER密码。

sql 复制代码
--业务租户下
CREATE USER '__OCEANBASE_INNER_DRC_USER' IDENTIFIED BY ******;

GRANT CREATE SESSION TO '__OCEANBASE_INNER_DRC_USER';
GRANT SELECT ANY DICTIONARY TO '__OCEANBASE_INNER_DRC_USER';
GRANT SELECT ANY TABLE TO '__OCEANBASE_INNER_DRC_USER';

OceanBase Oracle作为目标端时

新建OceanBase数据库Oracle兼容模式数据源时,涉及OceanBase数据库用户、DRC用户(sys租户用户)和__OCEANBASE_INNER_DRC_USER用户三种不同类型的用户,可以根据实际需要进行创建。

  • OceanBase数据库用户(必选):该用户为必选用户,用于进行源端和目标端之间的数据迁移或数据同步。
sql 复制代码
--业务租户下
CREATE USER oms_dst_user IDENTIFIED BY xxxxxx;

GRANT CONNECT TO oms_dst_user;
GRANT CREATE SESSION, ALTER SESSION, SELECT ANY TABLE, SELECT ANY DICTIONARY TO oms_dst_user;
GRANT CREATE ANY TABLE, CREATE ANY INDEX, CREATE ANY VIEW, INSERT ANY TABLE, UPDATE ANY TABLE, ALTER ANY TABLE, DELETE ANY TABLE TO oms_dst_user;

GRANT CREATE ANY PROCEDURE TO oms_dst_user;
GRANT CREATE ANY SYNONYM TO oms_dst_user;
GRANT CREATE ANY SEQUENCE TO oms_dst_user;
GRANT CREATE ANY TRIGGER TO oms_dst_user;
GRANT CREATE ANY TYPE TO oms_dst_user;
  • DRC用户(可选):该用户为可选用户,用于读取OceanBase数据库的增量日志数据和数据库对象结构信息。如果作为源端时,需要进行结构迁移、结构同步或增量同步,请在源端sys租户下创建DRC用户。如果作为目标端时,需要进行反向增量,请在目标端sys租户下创建DRC用户。
sql 复制代码
--SYS租户下
CREATE USER <drc_user> IDENTIFIED BY '******';
GRANT SELECT ON *.* TO <drc_user>;
  • __OCEANBASE_INNER_DRC_USER用户(可选):该用户为可选用户,仅在需要迁移无唯一键表时创建。

当需要迁移OceanBase数据库Oracle兼容模式的无唯一键表至目标端时,除了创建OceanBase数据库用户外,还需要在源端业务租户 下创建__OCEANBASE_INNER_DRC_USER用户。该用户用于新建租户类型为Oracle的OceanBase数据源时,填写__OCEANBASE_INNER_DRC_USER密码。

sql 复制代码
--业务租户下
CREATE USER '__OCEANBASE_INNER_DRC_USER' IDENTIFIED BY ******;

GRANT CREATE SESSION TO '__OCEANBASE_INNER_DRC_USER';
GRANT SELECT ANY DICTIONARY TO '__OCEANBASE_INNER_DRC_USER';
GRANT SELECT ANY TABLE TO '__OCEANBASE_INNER_DRC_USER';

References

【1】https://www.oceanbase.com/docs/enterprise-oms-doc-cn-1000000004023066

相关推荐
这个DBA有点耶2 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G2 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备2 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
科创致远2 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程
2601_962218612 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
张洛闻Eren2 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
于平安2 天前
MySQL-触发器
数据库·mysql
白远山2 天前
上海24小时自助健身房解决方案实战指南与经验分享
java·数据库·架构·需求分析
Omics Pro2 天前
斯坦福Nature+Science|广义虚拟细胞基础大模型
数据库·人工智能·算法·机器学习·自然语言处理
2603_965148112 天前
AI+API选品:下一代智能商务助手雏形已现
java·大数据·数据库·人工智能·数据挖掘