1

用户 SYS 和 SYSTEM 永远不应使用,因为存在损坏 SYS 模式的风险:“通常,除非文档告诉您,否则您永远不会以 sys 或 system 身份登录,它们是我们的内部数据字典帐户,而不是您的使用。忘记它们的存在,你会得到最好的服务。” (http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:2659418700346202574

向用户授予 SYS 权限的最佳和最安全的方法是什么?例如:

GRANT EXECUTE ON sys.dbms_pipe TO foobar;

我应该使用哪个用户而不是 SYS 或 SYSTEM?

4

3 回答 3

2

这是我不同意 Tom Kyte 的极少数情况之一。在我看来,将 SYS 对象的权限授予 SYS 是完全明智的。这同样适用于系统。

于 2013-10-29T22:43:12.390 回答
1

您正在授予EXECUTE拥有的包的特权SYS,您不能在那里指定另一个架构名称。它必须是SYS,或者您可以在这种情况下删除模式名称并使用GRANT EXECUTE ON dbms_pipe TO user_name;

于 2013-10-29T21:49:13.373 回答
0

我将获取所有需要授予权限的对象,并创建一个具有这些权限的特殊角色。这个角色比对多个用户的多次授权更容易管理。

我还要问一个问题:你为什么需要这个?否则可以这样做吗?是好的设计吗?

于 2013-10-29T22:07:27.493 回答