首页 文章

系统和数据库将Oracle数据库中的用户分级

提问于
浏览
0

我正在使用Oracle Database EX 11.2.0.2.0,我在那里创建了一个非常简单的数据库 . 现在问题是我想让多个用户设置不同的权限 . 我找到了这个主题:How to create a user in Oracle 11g and grant permissions但我找不到任何关于用户帐户的基本信息:创建系统级别和特定数据库级别用户有什么区别?我已经以sys身份登录sqlplus并执行了以下命令:

CREATE USER TEST IDENTIFIED BY password;
GRANT CONNECT TO TEST;

现在问题是我的数据库实际上被称为让我们说BASE有一个名为PAYMENTS的表,并且为新创建的用户提供任何我无法执行的权限:

GRANT SELECT ON PAYMENTS TO TEST;

但我必须输入:

GRANT SELECT ON BASE.PAYMENTS TO TEST;

所以我想我错过了什么 . 是否可以将创建的用户连接到特定数据库?这样新创建的用户将在Oracle APEX中作为数据库用户可见?

2 回答

  • 1

    引用其他模式中的对象时,必须提供模式名称 . 其他用户可能具有相同名称的表 . 目前您使用系统用户登录,这是不可取的 . 在BASE模式中创建对象(de Oracle DB中用户的另一个名称)时,为什么不给用户一些额外的权限(比如授予权限)?您的问题的核心是您希望在B拥有的对象上向用户A授予权限,以用户C身份登录 . 在这种情况下,您必须非常具体地向Oracle授予哪些权限授予谁;)

  • 1

    用户和模式在Oracle中是同义词 - 基本上 . 模式是用户拥有的对象的集合 .

    为了获得你想要的东西,你需要创建缺少privs的用户来创建任何东西,并且只能从其他人的对象中进行选择 .

相关问题