将 Oracle 中的 DDL 授予特定用户
如何在oracle中授予DDL权限?
在数据库上,我有用户 SCHEMA_1、SCHEMA_2 和 SCHEMA_3
,现在我希望从 schema_1 只能在 SCHEMA_2 上执行 DDL
是否可以从 SCHEMA_2 级别或仅从系统授予授权?
How to grant DDL privileges in oracle ?
On database I've users SCHEMA_1, SCHEMA_2 and SCHEMA_3
and now i want to from schema_1 be able to do DDL only on SCHEMA_2
Is the grant is possible from SCHEMA_2 level or system only ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Oracle 不是这样工作的。您必须向该用户授予
CREATE ANY [OBJECT_TYPE]
权限,并拥有一个系统事件触发器来限制他们在您不希望他们使用的架构中工作。警告:使用了 DBMS_STANDARD 的未记录/记录不足的功能。
Oracle doesn't work that way. You'd have to grant
CREATE ANY [OBJECT_TYPE]
to that user and have a system event trigger which restricts them from working in the schemas you don't want them to.Warning: Undocumented / underdocumented features of DBMS_STANDARD are used.
更好的方法可能是将 schema_2 DDL 嵌入到过程中,并将这些过程的执行权限授予 schema_1。对您的要求进行更全面的解释可能会带来更全面/更好的答案。
A better way might be to embed the schema_2 DDL into procedures and grant execute on those procedures to schema_1. A fuller explanation of your requirements may lead to fuller / better answers.