当我在数据库中构建代理访问系统以阻止我的团队共享密码时,我希望执行一些数据库级系统触发器。我还授予了角色,但某些开发需求需要完整的架构访问权限。
我知道如果触发事件发生时某些条目(例如 USER)出现在 ora_dict_obj_type 属性中,我可以通过使用系统级触发器来管理某些操作,例如 ALTER USER 等。但是,我真的很难找到在 ora_dict_obj_type 中可能有效的所有潜在属性的简单列表,因此我无法进行编码。
我已经检查了 dba_objects 和 all_objects,它们缺少我知道可以作为 ora_dict_obj_type 中的属性返回的内容,因此可以将我定向到潜在属性的完整列表吗?
谢谢
肖恩
为什么要重新发明轮子?使用 Oracle 的内置代理身份验证来防止密码共享。来自我几年前写的一篇博客文章:
有关触发器的详细信息,请参阅博客文章。
我有一个 DDL 日志记录触发器,可以捕获
ora_dict_obj_type
. 在我最繁忙的数据库中,这些是它在过去一年中捕获的不同值:与您在 中看到的类型非常接近
dba_objects
,但还有一些额外的类型。我确信还有一些我们还没有见过的东西,但这可能是您会看到的大部分内容。这有帮助吗?