【发布时间】:2020-02-26 19:31:43
【问题描述】:
我很惊讶我还没能在网站上找到这个问题。如有重复请见谅!
在 Oracle(10 个以上)中,USER_A 是否可以在 USER_B 的架构中部署对象?
例如,假设我以USER_B 登录:
CREATE OR REPLACE PACKAGE user_a.my_example_pkg IS
PROCEDURE Make_Log;
PROCEDURE Init;
END user_a.my_example_pkg;
我在部署时收到ORA-1031: insufficient privileges 响应。
我知道可以以USER_A 身份登录来部署包,是的,我可以这样做。但关键是,在我的数据库上,似乎有人以这种方式“跨模式”修改了一个包。我需要弄清楚他们是怎么做到的!
我相当确定特权存在,但我找不到它是什么。此外,如果有许多特权允许这样做,那么获得这些特权的详尽列表将是一个奖励。
【问题讨论】:
-
t possible for USER_A to deploy objects in USER_B's- 问题是当你可以简单地授予execute将USER_A模式打包到USER_B模式的权限时,为什么要复制代码?在最坏的情况下,您想要这样做,那么为什么要在包名称前面使用模式别名。无论如何,您都在执行整个程序包,那有什么意义呢? -
@XING 建议您在下次回答之前阅读问题。你的答案在问题中
-
是否有可能有人只是以
user_b连接并错误地在那里创建了包?你怎么知道他们当时以user_a连接并使用特殊权限创建它? -
@WilliamRobertson 不仅可能,而且很可能。但没有人承认它。此外,审计日志表明
user_b当时没有连接。你知道我可以找出谁重新部署了这个包吗?
标签: oracle oracle11g oracle10g oracle12c