一个用户创建引发的权限控制问题(2)

即登录时判断用户名是否是A,如果是,则session级设置此参数为false,可以达到此目的。
无论方案1还是方案2,用户A再在tbs_2创建表,会有报错:

create table t2(id number) tablespace tbs_2

* ERROR at line 1: ORA-01950: no privileges on tablespace 'TBS_2'

总结:
1.UNLIMITED TABLESPACE权限是随着resource角色授予。
2.段延迟这个新特性,会造成未有权限的表空间中可以建表的“假象”,可以使用deferred_segment_creation参数关闭之。
3.Oracle实在是博大精深,任何一小细节可能都蕴含着很多知识和原理,同时他有提供了启用和关闭的方法,软件设计造诣,只能说是叹为观止了。

感谢晓飞、maclean还有牛大师几位的讨论和建议。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d76cea7761f4ada0a0e53003c895f86a.html