【发布时间】:2020-02-19 14:15:22
【问题描述】:
我已经创建了 Oracle FDA 及其跟踪表上的 DMLS,但我可以知道是否可以授予用户使用 VERSIONS BETWEEN 查询查看数据的特定角色
GRANT FLASHBACK ANY TABLE 或 tblname 上的 GRAN FLASHBACK 似乎也可以访问表。 有没有办法让用户只使用查询来查看数据
【问题讨论】:
我已经创建了 Oracle FDA 及其跟踪表上的 DMLS,但我可以知道是否可以授予用户使用 VERSIONS BETWEEN 查询查看数据的特定角色
GRANT FLASHBACK ANY TABLE 或 tblname 上的 GRAN FLASHBACK 似乎也可以访问表。 有没有办法让用户只使用查询来查看数据
【问题讨论】:
documentation 提供此信息
要将表闪回到较早的 SCN 或时间戳,您必须具有该表的 FLASHBACK 对象特权或 FLASHBACK ANY TABLE 系统特权。此外,您必须对表具有 SELECT、INSERT、DELETE 和 ALTER 对象权限。
因此,如果您仅授予表上的 SELECT 和 FLASHBACK,则允许授予的用户创建 flashback query,但不允许对表进行 FLASHBACK。
FLASHBACK TABLE 的尝试将失败,并显示
ORA-01031: insufficient privileges
【讨论】: