OceanBase迁移用户及其权限配置MySQL数据源MySQL作为源端时MySQL作为目标端时Oracle数据源Oracle作为源端时Oracle作为目标端时OceanBase MySQL数据源OceanBase MySQL作为源端时OceanBase MySQL作为目标端时OceanBase Oracle数据源OceanBase Oracle作为源端时OceanBase Oracle作为目标端时MySQL数据源MySQL作为源端时创建迁移用户并授权CREATEUSERoms_src_user IDENTIFIEDBY******;--假设要迁移的数据库是destdbGRANTSELECTONdestdb.*TOoms_src_user%;GRANTREPLICATIONCLIENT,REPLICATIONSLAVEON*.*TOoms_src_user%;GRANTSELECTON*.*TOoms_src_user%;GRANTSHOWVIEWONdestdb.*tooms_src_user%;--如果开启了反向增量GRANTCREATE,SELECT,INSERT,UPDATE,DELETEONdestdb.*TOoms_src_user%;MySQL作为目标端时创建迁移用户并授权CREATEUSERoms_dst_user IDENTIFIEDBY******;GRANTSELECT,CREATE,INSERT,UPDATEONoms.*TOoms_dst_user%;GRANTREPLICATIONCLIENT,REPLICATIONSLAVEON*.*TOoms_dst_user%;--假设要迁移的数据库是destdbGRANTCREATE,SELECT,INSERT,UPDATE,DELETEONdestdb.*TOoms_dst_user%;GRANTCREATEVIEWONdestdb.*TOoms_dst_user%;GRANTINDEXONdestdb.*TOoms_dst_user%;GRANTTRIGGERONdestdb.*TOoms_dst_user%;GRANTALLPRIVILEGESONdestdb.*TOoms_dst_user%;Oracle数据源Oracle数据库作为源端时的正向迁移和作为目标端时的反向回流需要的权限是一致的。Oracle作为源端时创建迁移用户并授权CREATEUSERoms_src_user IDENTIFIEDBYxxxxxx;GRANTCONNECTTOoms_src_user;GRANTCREATESESSION,ALTERSESSION,SELECTANYTRANSACTION,SELECTANYTABLE,SELECTANYDICTIONARYTOoms_src_user;GRANTLOGMININGTOoms_src_user;GRANTEXECUTEONSYS.DBMS_LOGMNRTOoms_src_user;GRANTCREATETABLE,UNLIMITEDTABLESPACETOoms_src_user;GRANTCREATEANYTABLE,CREATEANYINDEX,DROPANYTABLE,ALTERANYTABLE,COMMENTANYTABLE,DROPANYINDEX,ALTERANYINDEX,CREATEANYSEQUENCE,ALTERANYSEQUENCE,DROPANYSEQUENCE,CREATEANYVIEW,DROPANYVIEW,INSERTANYTABLE,DELETEANYTABLE,UPDATEANYTABLETOoms_src_user;GRANTCREATEANYPROCEDURETOoms_src_user;GRANTCREATEANYTYPETOoms_src_user;GRANTSELECTANYSEQUENCETOoms_src_user;GRANTCREATEANYTRIGGERTOoms_src_user;Oracle作为目标端时Oracle数据库作为目标端时除根据不同版本赋予相应权限外还需要具备CREATE ANY TRIGGER权限。创建迁移用户并授权CREATEUSERoms_dst_user IDENTIFIEDBYxxxxxx;GRANTCONNECTTOoms_dst_user;GRANTCREATESESSION,ALTERSESSION,SELECTANYTRANSACTION,SELECTANYTABLE,SELECTANYDICTIONARYTOoms_dst_user;GRANTLOGMININGTOoms_dst_user;GRANTEXECUTEONSYS.DBMS_LOGMNRTOoms_dst_user;GRANTCREATETABLE,UNLIMITEDTABLESPACETOoms_dst_user;GRANTCREATEANYTABLE,CREATEANYINDEX,DROPANYTABLE,ALTERANYTABLE,COMMENTANYTABLE,DROPANYINDEX,ALTERANYINDEX,CREATEANYSEQUENCE,ALTERANYSEQUENCE,DROPANYSEQUENCE,CREATEANYVIEW,DROPANYVIEW,INSERTANYTABLE,DELETEANYTABLE,UPDATEANYTABLETOoms_dst_user;GRANTCREATEANYPROCEDURETOoms_dst_user;GRANTCREATEANYTYPETOoms_dst_user;GRANTSELECTANYSEQUENCETOoms_dst_user;GRANTCREATEANYTRIGGERTOoms_dst_user;OceanBase MySQL数据源OceanBase MySQL作为源端时新建OceanBase数据库MySQL兼容模式数据源时涉及OceanBase数据库用户、DRC用户sys租户用户和__oceanbase_inner_drc_user用户三种不同类型的用户您可以根据实际需要进行创建。创建OceanBase用户在MySQL租户中创建OMS连接使用的迁移用户并授权。假设目标库为destdb。--业务租户下CREATEUSERoms_src_user IDENTIFIEDBYxxxxxx;GRANTSELECTONoceanbase.*TOoms_src_user;--假设要迁移的数据库是destdbGRANTSELECTONdestdb.*TOoms_src_user;--如果开启了反向增量GRANTCREATE,SELECT,INSERT,UPDATE,DELETEONdestdb.*TOoms_src_user;创建DRC用户可选。使用OceanBase数据源作为源端进行结构迁移、结构同步或增量同步时以及使用OceanBase数据源作为目标端进行反向增量时除了创建OceanBase数据库用户外还需要在业务集群sys租户下创建DRC用户以读取OceanBase数据库的增量日志数据和数据库对象结构信息。该用户用于新建OceanBase数据源包括物理数据源和逻辑数据源时填写高级选项中的DRC用户用户名。--SYS租户下CREATEUSERdrc_userIDENTIFIEDBYxxxxxx;GRANTSELECTON*.*TOdrc_user;创建__oceanbase_inner_drc_user用户可选。当需要迁移OceanBase数据库MySQL兼容模式的无唯一键表至目标端时除了创建OceanBase数据库用户外还需要在源端业务租户下创建__oceanbase_inner_drc_user用户。该用户用于新建租户类型为MySQL的OceanBase数据源时填写__oceanbase_inner_drc_user密码。--业务租户下CREATEUSER__oceanbase_inner_drc_user IDENTIFIEDBYxxxxxx;GRANTSELECTON*.*TO__oceanbase_inner_drc_user;OceanBase MySQL作为目标端时新建OceanBase数据库MySQL兼容模式数据源时涉及OceanBase数据库用户、DRC用户sys租户用户和__oceanbase_inner_drc_user用户三种不同类型的用户您可以根据实际需要进行创建。创建OceanBase用户在MySQL租户中创建OMS连接使用的迁移用户并授权。假设目标库为destdb。--业务租户下CREATEUSERoms_dst_user IDENTIFIEDBYxxxxxx;GRANTSELECTON*.*TOoms_dst_user;--假设要迁移的数据库是destdbGRANTCREATE,CREATEVIEW,SELECT,INSERT,UPDATE,ALTER,INDEX,DELETEONdestdb.*TOoms_dst_user;GRANTTRIGGER,REFERENCESONdestdb.*TOoms_dst_user;GRANTALLPRIVILEGESONdestdb.*TOoms_dst_user;创建DRC用户可选。使用OceanBase数据源作为源端进行结构迁移、结构同步或增量同步时以及使用OceanBase数据源作为目标端进行反向增量时除了创建OceanBase数据库用户外还需要在业务集群sys租户下创建DRC用户以读取OceanBase数据库的增量日志数据和数据库对象结构信息。该用户用于新建OceanBase数据源包括物理数据源和逻辑数据源时填写高级选项中的DRC用户用户名。--SYS租户下CREATEUSERdrc_userIDENTIFIEDBYxxxxxx;GRANTSELECTON*.*TOdrc_user;创建__oceanbase_inner_drc_user用户可选。当需要迁移OceanBase数据库MySQL兼容模式的无唯一键表至目标端时除了创建OceanBase数据库用户外还需要在源端业务租户下创建__oceanbase_inner_drc_user用户。该用户用于新建租户类型为MySQL的OceanBase数据源时填写__oceanbase_inner_drc_user密码。--业务租户下CREATEUSER__oceanbase_inner_drc_user IDENTIFIEDBYxxxxxx;GRANTSELECTON*.*TO__oceanbase_inner_drc_user;OceanBase Oracle数据源OceanBase Oracle作为源端时新建OceanBase数据库Oracle兼容模式数据源时涉及OceanBase数据库用户、DRC用户sys租户用户和__OCEANBASE_INNER_DRC_USER用户三种不同类型的用户可以根据实际需要进行创建。OceanBase数据库用户必选该用户为必选用户用于进行源端和目标端之间的数据迁移或数据同步。--业务租户下CREATEUSERoms_src_user IDENTIFIEDBYxxxxxx;GRANTCONNECTTOoms_src_user;GRANTDBATOoms_src_user;GRANTSELECTONDBA_OB_ARCHIVELOGTOoms_src_user;GRANTSELECTONDBA_OB_TABLE_LOCATIONSTOoms_src_user;DRC用户可选该用户为可选用户用于读取OceanBase数据库的增量日志数据和数据库对象结构信息。如果作为源端时需要进行结构迁移、结构同步或增量同步请在源端sys租户下创建DRC用户。如果作为目标端时需要进行反向增量请在目标端sys租户下创建DRC用户。--SYS租户下CREATEUSERdrc_userIDENTIFIEDBY******;GRANTSELECTON*.*TOdrc_user;__OCEANBASE_INNER_DRC_USER用户可选该用户为可选用户仅在需要迁移无唯一键表时创建。当需要迁移OceanBase数据库Oracle兼容模式的无唯一键表至目标端时除了创建OceanBase数据库用户外还需要在源端业务租户下创建__OCEANBASE_INNER_DRC_USER用户。该用户用于新建租户类型为Oracle的OceanBase数据源时填写__OCEANBASE_INNER_DRC_USER密码。--业务租户下CREATEUSER__OCEANBASE_INNER_DRC_USERIDENTIFIEDBY******;GRANTCREATESESSIONTO__OCEANBASE_INNER_DRC_USER;GRANTSELECTANYDICTIONARYTO__OCEANBASE_INNER_DRC_USER;GRANTSELECTANYTABLETO__OCEANBASE_INNER_DRC_USER;OceanBase Oracle作为目标端时新建OceanBase数据库Oracle兼容模式数据源时涉及OceanBase数据库用户、DRC用户sys租户用户和__OCEANBASE_INNER_DRC_USER用户三种不同类型的用户可以根据实际需要进行创建。OceanBase数据库用户必选该用户为必选用户用于进行源端和目标端之间的数据迁移或数据同步。--业务租户下CREATEUSERoms_dst_user IDENTIFIEDBYxxxxxx;GRANTCONNECTTOoms_dst_user;GRANTCREATESESSION,ALTERSESSION,SELECTANYTABLE,SELECTANYDICTIONARYTOoms_dst_user;GRANTCREATEANYTABLE,CREATEANYINDEX,CREATEANYVIEW,INSERTANYTABLE,UPDATEANYTABLE,ALTERANYTABLE,DELETEANYTABLE,DROPANYINDEXTOoms_dst_user;GRANTCREATEANYPROCEDURETOoms_dst_user;GRANTCREATEANYSYNONYMTOoms_dst_user;GRANTCREATEANYSEQUENCETOoms_dst_user;GRANTCREATEANYTRIGGERTOoms_dst_user;GRANTCREATEANYTYPETOoms_dst_user;DRC用户可选该用户为可选用户用于读取OceanBase数据库的增量日志数据和数据库对象结构信息。如果作为源端时需要进行结构迁移、结构同步或增量同步请在源端sys租户下创建DRC用户。如果作为目标端时需要进行反向增量请在目标端sys租户下创建DRC用户。--SYS租户下CREATEUSERdrc_userIDENTIFIEDBY******;GRANTSELECTON*.*TOdrc_user;__OCEANBASE_INNER_DRC_USER用户可选该用户为可选用户仅在需要迁移无唯一键表时创建。当需要迁移OceanBase数据库Oracle兼容模式的无唯一键表至目标端时除了创建OceanBase数据库用户外还需要在源端业务租户下创建__OCEANBASE_INNER_DRC_USER用户。该用户用于新建租户类型为Oracle的OceanBase数据源时填写__OCEANBASE_INNER_DRC_USER密码。--业务租户下CREATEUSER__OCEANBASE_INNER_DRC_USERIDENTIFIEDBY******;GRANTCREATESESSIONTO__OCEANBASE_INNER_DRC_USER;GRANTSELECTANYDICTIONARYTO__OCEANBASE_INNER_DRC_USER;GRANTSELECTANYTABLETO__OCEANBASE_INNER_DRC_USER;References【1】https://www.oceanbase.com/docs/enterprise-oms-doc-cn-1000000004023066