首先,我是一个服务器菜鸟,一年前我才进入 Linux 世界...... 我正在尝试在 Oracle Linux 9(在虚拟机中)上设置 Oracle APEX 安装,以便为我的小企业开发自定义软件(按照本教程link
我已经安装了数据库和 APEX,但是当我尝试使用以下命令配置 ORDS 时
ords --config /etc/ords/config install
我遇到了一些麻烦。
首先,由于我登录失败,ORDS_PUBLIC_USER 被阻止,但我设法解锁并继续,但现在,在输入 db SYS 密码后,配置显示:
“检索信息。 连接到数据库用户:ORDS_PUBLIC_USER url: jdbc:oracle:thin:@//localhost:1521/FREEPDB1 无法更改数据库中 ORDS_PUBLIC_USER 的密码,因为 ORDS_PUBLIC_USER 是普通用户。 更改密码需要连接到 CDB$ROOT。”
老实说,我在网上找不到任何有关此问题的信息。
过去我使用 Virtualbox 预配置文件对 APEX 进行了一些实验,但现在我已经转移到 QEMU/KVM,并且我正在尝试设置一个完整的系统
注意。按照链接中的教程,我注意到每次配置 ORDS 时,它都不会询问我“默认表空间”和“临时表空间”,而是直接跳转到“回顾”页面。
多次尝试重做ORDS安装, 删除 ORDS 包和配置文件并重新安装(如果运气好的话)。 似乎 ORDS_PUBLIC_USER 没有 Root 权限,但在安装过程中没有人询问它。
我认为这不是直接的 ORDS 问题,而是多租户问题。
这里最可能的解释是您已将 ORDS 安装到根容器中,而不是可插入容器之一。
快速背景:您创建一个名为“MYDB”的数据库。这将(假设默认)创建一个名为“MYDB”的“根”容器和一个名为“MYDBPDB1”的可插入数据库(将其视为根下的“子数据库”)。
从世界意义上来说,两者都是有效的数据库,但根数据库通常只是 1 个或多个可插入项的总括。 您的“真正”工作是在可插入项中完成的。
因此(保留上面的我的名字)如果您安装 ORDS 并在数据库提示时指定“MYDB”,那么我们会将 ORDS 安装到根数据库中,然后它将成为为根数据库和所有数据库安装的单个 ORDS可插拔的。 这是允许的,但我们通常不推荐这样做。
由于根目录中的 ORDS 跨越所有数据库,因此它设置的各种用户帐户被定义为“普通用户”,因此您可能会看到这种错误。
我们建议人们将 ORDS 安装到 pluggable 中,因此您可以在 ORDS 安装期间指定 MYDBPDB1。
如果您可以将这一切抛之脑后并重新开始,请确保将 APEX 和 ORDS 安装到可插拔而不是根目录中。