Oracle Express中工作空间和数据库用户的关系是什么?

我用APEX创建了一个工作区,但密码现在无效.

然后我登录到工作区并更改了密码.但是,登录的其他密码不会更改.

我对oracle中的所有这些术语非常困惑.

我有数据库用户名,工作区用户名,数据库密码,工作区密码.此外,工作区中还有一个用户管理器,这些用户与提到的其他两个用户不同.有些用户可以在all_users表中看到,有些则不能.

所有这些用户之间的关系是什么,这些信息存储在何处?我已经阅读了Oracle的一些材料,但没有提到这些基本术语.

最佳答案
这很令人困惑,因为这里使用了两种不同的(虽然是免费的)技术:

1)Oracle数据库服务器具有数据库“用户”的概念,您可以通过查询dba_users和all_users来查看它们 – 这些是数据库对象的所有者,每个都自动获取同名的模式.每个数据库用户都有一个由数据库管理的密码.在过去,我们曾经为每个最终用户提供单独的数据库用户;如今我们一般不会.这些用户存储在数据库数据字典中,只能使用CREATE USER和ALTER USER等数据库命令进行操作.

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

每个顶点工作空间都与数据库模式(=数据库用户)相关联,该模式包含工作空间所需的数据库对象(例如表,视图等). (注意:工作空间可以与多个数据库模式相关联).

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

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

转载注明原文:Oracle Express中工作空间和数据库用户的关系是什么? - 代码日志