首页 > IT基础架构 > 网络安全 > 基于角色的安全性和显示grant语句的区别
原因是对于一个会话来说其状态可以打开或关闭,而授权却在所执行的grant后被永久存储到
数据字典中。
在DDL语句创建包、存储过程、存储函数、触发器和视图等数据库对象时,当前用户所拥有的
角色都会被禁用。
对于命名PL/SQL对象的情况,会报错:"ORA-01031:insufficient privileges",对象虽然
创建了但是状态是无效的。视图的创建也会失败,报"ORA-00924:table or view do not exist"。
这个Oracle行为是刻意这样设计的,这种显示的授权抵消了角色所带来的管理的好处,但是对于
避免角色的动态性所导致的不确定性来说这又是必要的。
参考资料:《High-Performance Oracle》Geoff Ingram Chapter 5 Securing Your Database
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3898/viewspace-791478/ ,如需转载,请注明出处,否则将追究法律责任。