Oracle

未創建 APEX_LISTENER 和 APEX_REST_PUBLIC_USER

  • November 10, 2021

我正在嘗試在 ORACLE XE 18c 上安裝 APEX 19.1,但問題是沒有創建 APEX_LISTENER 和 APEX_REST_PUBLIC_USER。當我通過 sqlplus 執行 apex_rest_config.sql 腳本時,出現一條錯誤消息:GetConsoleMode failed, Last Error=|6|

然後我檢查使用者列表,我發現這兩個使用者沒有被創建。這是 APEX 安裝的錯誤嗎?請問有人可以幫忙嗎?

那是因為您嘗試在根容器中安裝 APEX,我能夠重現該錯誤。

Oracle Express Edition 18c 使用 CDB 架構,這意味著您有一個根容器和一個名為 XEPDB1 的可插拔數據庫。

無論您做什麼,都應該在XEPDB1可插入數據庫中而不是CDB$ROOT根容器中進行。我並不是說它不能那樣工作,我只是不會打擾它。

了解安裝選擇

對於大多數案例,Oracle 建議從根容器數據庫中刪除 Oracle Application Express,但託管公司或所有可插拔數據庫 (PDB) 都使用 Oracle Application Express 並且它們都需要執行完全相同的 Oracle 版本和更新檔集的安裝除外應用快遞。

所以如果你用 登錄sqlplus / as sysdba,你可以改成XEPDB1這樣:

Connected to:
Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0

SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs

   CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
        2 PDB$SEED                       READ ONLY  NO
        3 XEPDB1                         READ WRITE NO
SQL> alter session set container=XEPDB1;

Session altered.

SQL> show con_name

CON_NAME
------------------------------
XEPDB1

要修復您所擁有的,只需使用 登錄sqlplus / as sysdba並刪除所有內容apxremov.sql。然後像上面一樣登錄,進入XEPDB1可插入數據庫,然後再次嘗試安裝 APEX。您可以使用以下步驟:

下載和安裝 Oracle Application Express

引用自:https://dba.stackexchange.com/questions/246655