如何让多个用户使用一个模式而不在对象之前预先固定模式名称?

2024-04-16

我搜索了很多帖子来解决以下问题。但无法得到解决方案。有人可以解决这个问题吗?

问题。 我创建了一个名为 RAMFULL 的用户/架构,并授予了连接、资源权限。我想使用名为 RAMREAD 的 Oracle 用户作为具有只读权限的别名来访问该用户。在访问/使用 RAMFULL 中的对象时,我不需要向其他人提及管理员/完全权限用户 RAMFULL。

  1. 我创建了一个名为 RAMFULL 的用户/架构

  2. 我对所有 CRUD 操作使用具有相同用户名的用户/架构。

  3. 问题是我必须将此架构提供给我的开发中心来分析问题。但我不想按原样给他们这个数据库。因为它拥有所有特权,并且可以被他们篡改或实验。

  4. 现在,我正在寻找一种解决方案来创建另一个仅具有只读权限的用户,当他登录到该帐户/架构时,一个人应该感觉像在除权限之外的原始架构上工作。

  5. 我看过很多文章,我可以通过分配给另一个用户来创建同义词或使用 Ro 创建角色。但在所有这些中,问题是当我选择时,我必须预先修复架构名称。例如,如果我需要搜索一个表,我必须给出 Select count(*) from SCHEMA1.TABLE1;

    我想知道架构 RAMFULL 是否可以使用具有只读权限的 RAMREAD 用户访问。当我在 RAMREAD 用户上工作时,我不应该在任何地方给出/提及 RAMFULL 用户。请帮帮我。


You can 改变会话 http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_2013.htm#SQLRF53050去做这个:

alter session set current_schema = RAMREAD;

去引用:

会话期间对模式对象的后续非限定引用将解析为指定模式中的对象。

它不会给您任何额外的权限,因此您仍然需要对 RAMFULL 中的所有表授予 SELECT 权限,您希望登录到 RAMREAD 的用户能够看到这些表

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让多个用户使用一个模式而不在对象之前预先固定模式名称? 的相关文章

随机推荐