背景信息
Web 版 ODC V4.2.0 及之后的版本支持拥有创建项目权限的用户创建项目和添加项目成员,成员可以在项目中添加和变更数据库。
本篇文档旨在介绍如何通过项目协同实现数据库变更。
原理介绍
ODC 系统管理员授予用户创建项目的角色后,该用户创建项目并添加项目成员。
项目管理员/ DBA 成员添加数据库。
项目普通成员发起工单,申请数据库变更。
ODC 根据风险等级识别规则判断出该工单的风险等级,执行该风险等级对应的审批流程。
审批通过后,ODC 自动执行或者用户手动执行数据库变更。
创建项目
方法一:拥有创建项目角色的用户创建项目。
拥有 AdministratorAccess 或者 AliyunOceanBaseFullAccess 权限的 新用户 首次登录 ODC 时,该用户会被自动授予 system_admin 角色。
重新登录 ODC 的用户不会被自动授予 system_admin 角色,需要在 ODC 内部授予该用户 system_admin 角色。
默认 system_admin 角色授予主账号。
通过诺曼底账号登录时,仅管理员支持登录 ODC 和使用个人空间。
系统管理员授予给用户创建项目的权限。
项目管理员创建项目并添加项目成员。
说明拥有创建项目权限的 ODC 用户可以创建项目。默认情况下,项目创建者被授予该项目管理员角色。项目管理员通过在项目中配置 ODC 所属的用户为该项目的成员后,项目成员可以在使用自己的账号登录 ODC 时访问该项目,并在同一个项目中进行团队协作。
信息项
说明
项目名称
创建的项目名称。
管理员
支持管理项目所有数据库和成员。
DBA
支持管理项目所有数据库。
开发者
允许登录所有数据库、执行 SQL、提交工单,通常是开发人员。
安全管理员(可选)
只允许管理项目的敏感列和参与审批。
参与者(可选)
只允许参与审批。
描述(可选)
非必填项。
方法二:加入项目
ODC 用户可以通过 申请项目权限 加入已创建的项目。
在 项目/工单 中,单击 申请项目权限。
a. 通过项目入口申请。
b. 通过工单入口申请。
选择项目、项目角色并输入申请原因后,单击 新建,创建项目权限申请。
在工单中查看审批状态。
审批通过后,可以在项目列表中查看已加入的项目。
数据库管理
方法一:拥有数据库权限的用户添加数据库
单击项目名称,进入该项目管理页面。
在数据库页面中添加数据库。
项目成员可以/导出/导入/变更/登录数据库,并支持将数据库转移到其它项目中。
方法二:申请数据库权限
申请数据库权限,ODC 用户须确认已加入项目。
ODC 用户仅支持申请已加入项目中的数据库权限。
ODC 用户可以通过 申请库权限 以获取查询/导出/变更数据库权限。
在 项目/工单 中,单击 申请库权限。
通过项目入口申请。
通过工单入口申请。
选择项目、数据库、数据库权限类型、权限有效期并输入申请原因后,单击 新建,创建库权限申请。
逻辑库管理
ODC V4.3.2 及之后的版本支持将多个(或单个)物理库配置成一个逻辑库并配置逻辑表,以查询和管理复杂、庞大的分库与分表。
ODC V4.3.2 版本仅支持逻辑库变更管理和配置安全规范中的风险等级规范。
如无逻辑库权限,您可以通过项目/工单中的 申请库权限 申请逻辑库权限。
逻辑库与物理库关系
ODC 支持将同一项目内,相同数据源类型和环境的多个(或单个)物理数据库配置为一个逻辑库。
逻辑库配置完成后,ODC 会自动解析逻辑库,将逻辑库中表名相似且表结构一致的物理表提取为一张逻辑表,同时生成逻辑表表达式。
说明如果物理表的表结构在逻辑库里是唯一的,将不会生成逻辑表。
生成的逻辑表名默认为物理表名非序号部分的共同字符串。例如,物理表名分别为
db.test_0
,db.test_1
,db.test_2
,db.test_3
,则生成的逻辑表名为test
。逻辑表表达式为db.test_[0-3]
。具体请参见新建表。
配置逻辑库
单击项目名称,进入该项目管理页面。
在数据库页面中,单击 配置逻辑库。
在 配置逻辑库 页面,配置如下信息。
信息项
说明
基准库
选择一个数据库作为基准库,该数据库包含在逻辑库中,用于指定数据库环境和类型,ODC 可根据基准库的名称、环境、类型等信息筛选符合条件的数据库。
逻辑库名
逻辑数据库名,即物理库名共同前缀。例如:foo00~foo99 所对应的逻辑库为 foo。
逻辑库别名
用于区分同名的逻辑库,默认与实际逻辑库名一致。逻辑库别名不可重复,不支持修改。
数据库
选择数据库。
单击 提交 完成配置。
逻辑库列表
您可以在数据库页签中查看配置的逻辑库列表。
在操作项下,您可以执行以下操作。
逻辑表管理:支持自动提取/手动新建逻辑表。
创建逻辑库变更任务,具体操作请参见逻辑库变更管理。
登录数据库,在 SQL 开发窗口管理数据库。
移除逻辑库。
表管理
项目成员可以申请项目中任何数据库下的表权限。
项目成员可以通过 申请表权限 以获取查询/导出/变更表权限。
ODC 用户仅支持申请已加入项目中的表权限。
如果表或者数据库转移到其它数据库或者项目,原有的表权限将会失效。
在 项目/工单 中,单击 申请表权限。
a. 通过项目入口申请。
b. 通过工单入口申请。
选择项目、表、权限类型、权限有效期并输入申请原因后,单击 新建,创建表权限申请。
申请完成后,项目成员可以根据申请的权限类型对表进行管理。
拥有表的查询权限:可在 SQL 窗口中执行该表的查询语句。
拥有表的变更权限:可在 SQL 窗口中执行该表的变更语句。
拥有表的导出权限:可发起该表的导出工单。
拥有数据库的查询权限:可在 SQL 窗口中执行该数据库下的查询语句。
拥有数据库的变更权限:可在 SQL 窗口中执行该数据库下的变更语句、发起除导出和导出结果集之外的工单。
拥有数据库的导出权限:可发起数据库导出工单。
拥有数据库的查询和导出权限:可发起导出结果集工单。
相关操作请参见 SQL 语句创建和管理表、可视化方式创建和管理表 和 数据库变更管理。
工单管理
无数据库编辑权限的项目普通成员可以通过工单申请执行导出数据/导入数据/模拟数据/数据库变更/无锁结构变更/SQL 计划/数据归档任务。
成员管理
项目管理员可以在成员页面中,添加/编辑/移除成员,以及管理库/表权限。
消息通知
项目成员可以在消息通知页面中启用需要通知的工单事件类型和添加推送通道(钉钉/飞书/企业微信/自定义 webhook),当启用的工单事件发生变更时,ODC 会发送变更消息提示项目成员。配置方法请参见 消息通知管理。
项目设置
项目管理员可以在设置页面中修改项目名称和归档项目。