【发布时间】:2019-01-26 16:06:16
【问题描述】:
我有一个包含特定报告模式的数据仓库。任何被授予访问权限的人都将获得该架构中对象的权限。但是,每当我删除对象时,这些权限就会丢失。
对于此类问题,保留现有权限的最佳解决方案是什么?
【问题讨论】:
-
最好的解决方案是 - 不要丢弃对象。为什么需要丢弃对象?
-
仍然,为什么需要重新创建它们?目的是什么?如果您需要清除数据,为什么“截断”还不够?因为我从删除和重新创建它们中看到的唯一目的是“强制清理”数据。不应随时删除/重新创建 DB 对象 - 这是一种不好的做法。
-
对于 VIEW 和其他一些对象,您可以使用
CREATE OR REPLACE ...语法。这样可以保留特权。 -
你说的是什么对象?对于 TABLES 或 SNAPSHOTS,您应该使用
TRUNCATE,对于 VIEWS,您可以使用CREATE OR REPLACE ...。 -
那你应该说服项目负责人改变这种愚蠢的要求。这样做的目的是什么?
标签: sql oracle schema privileges warehouse