【问题标题】:What's the relation of workspace and database users in Oracle Express?Oracle Express 中工作区和数据库用户的关系是什么?
【发布时间】:2015-06-10 11:46:15
【问题描述】:

我已经用 APEX 创建了一个工作区,但是现在密码无效了。

然后我登录到工作区并更改了密码。但是其他的登录密码没有改变。

我对 oracle 中的所有这些术语感到非常困惑。

我有database usernameworkspace usernamedatabase passwordworkspace password。工作区中还有一个用户管理器,这些用户与前面提到的其他两个不同。 all_users表中有些用户可以看到,有些不能。

所有这些类型的用户之间有什么关系,这些信息存储在哪里?我已经阅读了一些 Oracle 的资料,但没有人提到这些基本术语。

【问题讨论】:

    标签: oracle oracle11g oracle-apex


    【解决方案1】:

    这很令人困惑,因为这里使用了两种不同的(尽管是免费的)技术:

    1) Oracle 数据库服务器 具有数据库“用户”的概念,您可以通过查询 dba_usersall_users 来查看 - 这些是数据库对象的所有者,并且每个对象都会自动获取同名。这些数据库用户中的每一个都有一个密码,由数据库管理。在过去,我们曾经为每个最终用户配置一个单独的数据库用户;现在我们一般不会。这些用户存储在数据库数据字典中,只能使用CREATE USERALTER USER等数据库命令进行操作。

    2) Oracle Application Express 有“工作区”的概念,每个工作区可能有一个或多个“用户”。这些用户可以是普通最终用户、开发人员或 Apex 管理员。这些用户中的每一个都有一个由 Apex 管理的密码。这些与数据库上的模式无关。这些用户存储在 Apex 数据字典中,并使用 Apex 管理界面或通过调用 Apex API(在 PL/SQL 中)进行操作。

    每个 apex 工作区都与一个数据库模式(= 数据库用户)相关联,该模式保存工作区所需的数据库对象(例如表、视图等)。 (注意:一个工作区可以与多个数据库模式相关联)。

    为了让事情更混乱,在预装在 OracleXE(数据库的免费版本)中的默认 Apex 版本中,Apex 用户 SYSTEM 与数据库 SYSTEM 用户具有相同的密码。

    默认情况下,Apex 应用程序使用 Apex 身份验证方案,该方案根据 Apex 数据字典对用户进行身份验证(根据上述 (2))。但是,您可以使用替代身份验证方案,根据其他存储库(例如 LDAP、SSO 或自定义方案)对用户进行身份验证。

    【讨论】:

    • 这很有帮助,非常感谢。最糟糕的是它一开始使用相同的密码,然后结果是完全不同的东西。
    • 你不是说内部工作区吗?还是系统也适用?
    猜你喜欢
    • 2014-06-16
    • 2021-04-09
    • 2017-10-13
    • 2012-07-19
    • 2015-03-24
    • 1970-01-01
    • 2015-01-24
    • 2014-07-13
    • 2011-10-24
    相关资源
    最近更新 更多