查询权限的用户如何具有查询闪回数据的权限

[复制链接]
查看11 | 回复5 | 2014-11-7 14:40:00 | 显示全部楼层 |阅读模式
本帖最后由 wtiancai 于 2018-8-24 08:54 编辑
背景:
1、生产系统上线后,为了降低现场维护人员操作数据库的风险,专门给现场人员创建了个查询权限的数据库用户B,并给B用户授权
2、现场人员受理用户报障后,会比较经常需求查询过去某个时刻的数据
给B用户授权的语句:
grant connect,resource to user_query;--给新建用户授角色权限
grant select any table to user_query;--授权可查询其它用户任意表,可同时查询视图

存在的问题:
使用数据库用户B执行查询语句,会报以下错误提示:
select * from user.tab as of timestamp to_timestamp('2014-11-07 14:40:00','YYYY-MM-DD HH24:MI:SS')
结果:ORA-01031:权限不足

请问,查询权限的用户如何具有查询闪回数据的权限,谢谢!

回复

使用道具 举报

千问 | 2014-11-7 14:40:00 | 显示全部楼层
flashback_transaction_query
回复

使用道具 举报

千问 | 2014-11-7 14:40:00 | 显示全部楼层
本帖最后由 wtiancai 于 2018-8-24 08:56 编辑
zxy877298415 发表于 2014-11-7 18:13
flashback_transaction_query

使用DBA用户授权,还是报权限不足问题。
SQL> grant select on flashback_transaction_query to user_query;
Grant succeeded.
SQL> grant select any transaction to user_query;
Grant succeeded.


回复

使用道具 举报

千问 | 2014-11-7 14:40:00 | 显示全部楼层
用表所在用户或者sys赋权给查询用户msscpmis_query
sql> grant select,flashback on msscpmis.sbtype to msscpmis_query;

回复

使用道具 举报

千问 | 2014-11-7 14:40:00 | 显示全部楼层
本帖最后由 wtiancai 于 2018-8-24 08:56 编辑
kingkong74 发表于 2014-11-10 09:59
用表所在用户或者sys赋权给查询用户user_query
sql> grant select,flashback on user.tab to m ...

授flashback权限,有风险,权限太大了
有办法控制只能查询闪回数据,但不能执行闪回操作?
回复

使用道具 举报

千问 | 2014-11-7 14:40:00 | 显示全部楼层
wtiancai 发表于 2014-11-10 15:01
授flashback权限,有风险,权限太大了
有办法控制只能查询闪回数据,但不能执行闪回操作?

你可以测试下,以下是我的测试结果:
1.赋予的权限是select,flashback on msscpmis.sbtype 对象级别的权限,针对这个表
2.如果B用户闪回的话他还需要以下权限
(1)首先这个表要开启行迁移的,没开启表闪回不了
(2)如果开启了行迁移,他使用命令闪回其他用户的表需要有对表有以下权限
update,insert,delete on msscpmis.sbtype
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行