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

lee*_*tom 8 oracle oracle11g oracle-apex

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

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

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

我有database username,workspace username,database password,workspace password.此外,工作区中还有一个用户管理器,这些用户与提到的其他两个用户不同.有些用户可以在all_users表中看到,有些则不能.

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

Jef*_*emp 10

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

1)Oracle数据库服务器有数据库"用户",您可以通过查询看到的概念dba_usersall_users-这是数据库对象的所有者和每个自动获得一个同名的模式.每个数据库用户都有一个由数据库管理的密码.在过去,我们曾经为每个最终用户提供单独的数据库用户; 如今我们一般不会.这些用户被存储在数据库中的数据字典和被操纵仅使用数据库命令,如CREATE USERALTER USER.

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

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

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

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