全部产品
Search
文档中心

云数据库 OceanBase:创建 OceanBase 集群实例用户及授权

更新时间:Oct 16, 2024

本文为您介绍如何为 OceanBase 集群实例的 Oracle 租户创建普通账号,以及普通账号在数据迁移各阶段需要具备的最小权限。

背景信息

OceanBase 集群实例支持的数据库账号包括普通账号和超级账号,您在使用数据传输迁移 OceanBase 集群实例的数据时:

  • 如果使用普通账号,请参见本文的权限说明进行相应授权。

  • 如果使用超级账号,将默认具备所有数据库的读写权限。

本文创建的 OceanBase 集群实例普通账号,用于创建 OceanBase 数据源时填写 用户名

image.png

如果您需要迁移无唯一键表,执行数据迁移任务前,还需要创建具备只读权限的__OCEANBASE_INNER_DRC_USER用户,用于创建 OceanBase 数据源时填写 __OCEANBASE_INNER_DRC_USER 密码

image.png

创建集群实例普通账号

  1. 进入 集群实例工作台 页面。

    1. 登录OceanBase 管理控制台

    2. 在控制台页面的左上角,选择目标实例所在地域。

    3. 在左侧导航栏,单击 实例列表,单击目标实例的名称。

  2. 进入 账号管理 页面。

    1. 集群实例工作台 页面,单击左侧导航栏的 租户管理

    2. 租户列表 页面,单击 租户模式Oracle 的目标租户名称。

      image.png

    3. 租户工作台 页面,单击左侧导航栏的 账号管理

  3. 账号管理 页面,单击右上方的 新建账号

    image.png

  4. 新建账号 对话框,配置各项参数。

    image.png

    参数

    描述

    用户名称

    由字母、数字和下划线(_)组成,以字母开头、字母或数据结尾,长度不能超过 32 个字符。

    账号类型

    此处请选择 普通账号,可以对授权数据库进行对应授权操作。权限详情请参见 Oracle 租户的账号权限

    密码

    至少包含大写英文字符、小写英文字符、数字和特殊字符(包括 !@#$%^&*()_+-=)中的任意三种,长度为 10~32 个字符。您也可以单击 随机生成 来自动填写密码。

    说明

    您可以单击 复制密码 进行复制并妥善保存。

    备注(选填)

    请输入账号的备注信息。

  5. 单击 确定

管理访问对象

集群实例普通账号对需要访问的表进行授权的操作如下,您可以根据下文的权限说明授予相应权限。

  1. 进入 OceanBase 数据库 Oracle 租户的 账号管理 页面。

  2. 单击目标普通账号后的 管理访问对象

    image.png

  3. 访问对象管理 对话框,单击右上角的 添加对象

    image.png

  4. 添加对象 对话框,配置各项参数。

    image.png

    参数

    描述

    添加方式

    支持 指定对象导入对象 两种添加方式。

    选择对象

    • 如果您选择 指定对象 方式,请在左侧 源端对象 列表选中需要授权的表对象,单击 >,将其添加至右侧列表中。

    • 如果您选择 导入对象 方式,请根据 用户名.对象名 的格式批量粘贴多个需要授权的表对象到输入框,多个对象之间使用英文逗号(,)分隔。

    授予权限

    包括 只读读写 两种权限,请根据需求授予相应权限。

  5. 单击 确定

源端集群实例普通账号授权

下表为您介绍 OceanBase 集群实例(Oracle 租户模式) 普通账号作为源端时,在数据迁移各阶段需要具备的最小权限。

表分类

结构迁移

全量迁移

增量同步

全量校验

反向增量

有主键表、有非空唯一键表

只读

只读

只读

只读

读写

无主键表、无非空唯一键表

只读

  • 只读

  • 需要 __OCEANBASE_INNER_DRC_USER 用户

只读

需要 __OCEANBASE_INNER_DRC_USER 用户

读写

目标端集群实例普通账号授权

下表为您介绍 OceanBase 集群实例(Oracle 租户模式) 普通账号作为目标端时,在数据迁移各阶段需要具备的最小权限。

表分类

结构迁移

全量迁移

增量同步

全量校验

反向增量

有主键表、有非空唯一键表

读写

读写

读写

只读

只读

无主键表、无非空唯一键表

读写

读写

读写

不支持

只读

创建 __OCEANBASE_INNER_DRC_USER 用户及授权

  1. 进入 OceanBase 管理控制台的 租户工作台 页面。

  2. 租户工作台 页面,单击右上角的 登录数据库

    image.png

  3. 选择数据库账号 对话框,输入或从下拉列表中选择需要登录的数据库名称,单击 确定

  4. 请输入连接密码 对话框,输入数据库的密码,单击 确定

  5. 登录数据库后,执行下述命令,创建 __OCEANBASE_INNER_DRC_USER 用户。

    CREATE USER '__OCEANBASE_INNER_DRC_USER' IDENTIFIED BY <your_password>;
  6. 创建成功后,执行下述命令为该用户授权。

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

    对迁移库表的 SELECT 权限,支持以下两种赋权方式。

    // 赋予系统权限
    GRANT SELECT ANY TABLE TO '__OCEANBASE_INNER_DRC_USER';
    // 赋予对象权限(仅支持对具体库表对象赋权)
    GRANT SELECT ON <schema>.<table> TO '__OCEANBASE_INNER_DRC_USER';