Oracle
未創建 APEX_LISTENER 和 APEX_REST_PUBLIC_USER
我正在嘗試在 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。您可以使用以下步驟: