gpt4 book ai didi

oracle - 如何在对象之前不预先固定架构名称的情况下由多个用户使用一个架构?

转载 作者:行者123 更新时间:2023-12-05 00:27:27 38 4
gpt4 key购买 nike

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

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

  • 我创建了一个名为 RAMFULL
  • 的用户/架构
  • 我在所有 CRUD 操作中使用相同的用户名使用这个用户/模式。
  • 问题是我必须将此模式提供给我的开发中心来分析问题。但我不想给他们这个数据库。因为它拥有所有特权,并且可以被他们篡改或试验。
  • 现在,我正在寻找一种解决方案来创建另一个只有只读权限的用户,并且在他登录到该帐户/架构的那一刻,一个人应该感觉像在除特权之外的原始架构上工作。
  • 我看过很多文章,我可以通过分配给另一个用户来使用 Ro 创建同义词或创建角色。但在所有这些问题中,当我选择时,我必须预先修复架构名称。例如,如果我需要搜索一个表,我必须从 SCHEMA1.TABLE1 中给出 Select count(*);

    我想知道是否可以使用具有只读权限的 RAMREAD 用户访问 Schema RAMFULL。在处理 RAMREAD 用户时,我不应该在任何地方提供/提及 RAMFULL 用户。请帮帮我。
  • 最佳答案

    您可以 alter the session去做这个:

    alter session set current_schema = RAMREAD;

    报价:

    Subsequent unqualified references to schema objects during the session will resolve to objects in the specified schema.



    它没有给你任何额外的权限,所以你仍然需要在 RAMFULL 中的所有表上授予 SELECT 你希望用户登录到 RAMREAD 能够看到的

    关于oracle - 如何在对象之前不预先固定架构名称的情况下由多个用户使用一个架构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20651952/

    38 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com