【发布时间】:2010-02-14 21:53:16
【问题描述】:
我目前有 2 个架构,A 和 B。
B 有一个表,A 对其执行选择插入和更新。
在我们的 sql 脚本中,我们已授予 A 权限,以便它可以完成其任务。
grant select on B.thetable to A
etc,etc
现在,表 'thetable' 被删除,并且每天至少一次将另一个表重命名为 B。
rename someothertable to thetable
执行此操作后,当 A 在 B.thetable 上执行选择时,我们会收到错误。
ORA-00942: table or view does not exist
是否有可能在执行 drop + rename 操作后,授权也会丢失?
我们必须再次分配权限吗?
更新
someothertable 没有授权。
更新2
将数据插入“thetable”的日常流程每 N 次插入执行一次提交,因此无法执行任何回滚。这就是我们使用 2 个表的原因。
提前致谢
【问题讨论】:
-
如果您的日常处理涉及删除和重新创建表,那么您做错了。
-
@Jeffrey Kemp:我明白了。您认为@Peter Lang 的替代方案是否可行?就个人而言,我认为这是一个好主意,但我自己不是一个数据库人。
-
如果您使用的是现有解决方案(即,如果您只需要忍受删除和重新创建表),那么可以。
标签: oracle rename sql-grant ora-00942 sql-drop