Database Designer 访问要求
默认情况下,只有具有 DBADMIN 角色的用户才能运行 Database Designer。非 DBADMIN 用户只有在被授予必要的权限和 DBDUSER 角色之后,才能运行 Database Designer,如下所述。此外,您还可以允许用户在管理控制台上运行 Database Designer(请参阅允许用户在管理控制台上运行 Database Designer)。
-
使用 CREATE LOCATION 将临时文件夹添加到所有群集节点中:
=> CREATE LOCATION '/tmp/dbd' ALL NODES;
-
使用 GRANT DATABASE 授予所需用户在当前(默认)数据库上创建架构的 CREATE 权限:
=> GRANT CREATE ON DATABASE DEFAULT TO dbd-user;
-
使用 GRANT ROLE 将 DBDUSER 角色授予 dbd-user:
=> GRANT DBDUSER TO dbd-user;
-
在群集的所有节点上,使用 GRANT LOCATION 授予 dbd-user 临时文件夹的访问权限。
=> GRANT ALL ON LOCATION '/tmp/dbd' TO dbd-user;
-
分别使用 GRANT SCHEMA 和 GRANT TABLE 授予 dbd-user 对一个或多个数据库架构及其表的权限:
=> GRANT ALL ON SCHEMA this-schema[,...] TO dbd-user; => GRANT ALL ON ALL TABLES IN SCHEMA this-schema[,...] TO dbd-user;
-
通过以下方式之一启用 dbd-user 中的 DBDUSER 角色:
-
对于 dbd-user,使用 SET ROLE 启用 DBDUSER 角色:
=> SET ROLE DBDUSER;
-
对于 DBADMIN,使用 ALTER USER 在每次登录时自动为 dbd-user 启用 DBDUSER 角色:
=> ALTER USER dbd-user DEFAULT ROLE DBDUSER;
-
重要
当您授予 DBDUSER 角色时,请确保将资源池与该用户相关联以在 Database Designer 运行期间管理资源。
多个用户可以同时运行 Database Designer,他们互相之间不会出现干扰,也不会耗尽群集的所有资源。当一个用户使用管理控制台或通过编程方式运行 Database Designer 时,其执行操作通常会限制在该用户的资源池内,但不太密集的任务可能会使用系统资源。
使用户能够在管理控制台上运行 Database Designer
如上文所述,已授予 DBDUSER 角色和所需权限的用户也可以在管理控制台上运行 Database Designer:
-
以超级用户身份登录管理控制台。
-
单击 MC 设置 (MC Settings)。
-
单击用户管理 (User Management)。
-
指定 MC 用户
-
要创建 MC 用户,请单击 添加 (Add)。
-
要使用现有的 MC 用户,请选择该用户并单击 编辑 (Edit)。
-
-
单击数据库访问级别 (DB access level) 窗口旁边的添加 (Add)。
-
在添加权限 (Add Permissions) 窗口中:
-
从选择数据库 (Choose a database) 下拉列表中,选择要为其创建设计的数据库。
-
在 数据库用户名 (Database username) 字段中,输入您先前创建的 dbd-user 用户名。
-
在数据库密码字段中,输入数据库密码。
-
在限制访问 (Restrict access) 下拉列表中,选择此用户具有的 MC 用户级别。
-
-
单击确定 (OK) 以保存更改。
-
退出 MC 超级用户帐户。
现在,MC 用户已映射到 dbd-user。以 MC 用户身份登录,然后使用 Database Designer 为数据库创建优化设计。
DBDUSER 功能和限制
对于 DBDUSER,以下约束适用:
-
设计必须将 K-safety 设置为等于系统 K-safety。如果设计因缺少足够的表伙伴实例投影而违反 K-safety,则设计不会完成。
-
只有部署设计完成之后,才可显式推进 Ancient History Mark (AHM)(例如,调用 MAKE_AHM_NOW)。
创建设计时,会自动获得处理该设计的权限。其他任务可能需要额外的权限:
- 提交设计表
-
对于设计表架构的 USAGE
-
对于设计表的 OWNER
-
- 提交单个设计查询
- 对于设计查询的 EXECUTE
- 提交设计查询文件
-
对于查询文件所在存储位置的读取权限
-
文件中所有查询的 EXECUTE 权限
-
- 根据用户查询结果提交设计查询
-
对于用户查询的 EXECUTE 权限
-
从用户查询结果中获取的每个设计查询的 EXECUTE 权限
-
- 创建设计和部署脚本
-
对于设计脚本存储位置的 WRITE 权限
-
对于部署脚本存储位置的 WRITE 权限
-