本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Oracle Application Express (APEX)
Amazon RDS 會使用 APEX
和 APEX-DEV
選項,藉此支援 Oracle Application Express (APEX)。您可以將 Oracle APEX 部署成適用於 web 應用程式的執行時間環境或完整開發環境。Oracle APEX 可讓您完全在 Web 瀏覽器內建置應用程式。如需詳細資訊,請參閱 Oracle 文件中的 Oracle Application Express
主題
APEX 元件
Oracle APEX 包含下列主要元件:
-
儲存庫,存放 APEX 應用程式和元件的中繼資料。儲存庫包含安裝於 Amazon RDS 資料庫執行個體中的資料表、索引及其他物件。
-
接聽程式,管理與 Oracle APEX 用戶端之間的 HTTP 通訊。接聽程式位於個別主機上,例如 Amazon EC2 執行個體、公司的內部部署伺服器或您的桌上型電腦。接聽程式接受 web 瀏覽器傳入的連線、將連線轉送至 Amazon RDS 資料庫執行個體來處理,然後將結果從儲存庫傳回給瀏覽器。RDS for Oracle 支援下列接聽程式類型:
-
對於 APEX 5.0 及更高版本,請使用 Oracle REST 資料服務 (ORDS) 19.1 及更高版本。我們建議您使用最新支援的 Oracle APEX 和 ORDS 版本。本文件描述舊版僅供回溯相容性之用。
-
若為 APEX 4.1.1 版,您可使用 Oracle APEX Listener 1.1.4 版。
-
您可以使用 Oracle HTTP Server 和
mod_plsql
接聽程式。注意
Amazon RDS 不支援有內嵌 PL/SQL 閘道的 Oracle XML DB HTTP 伺服器;這不能做為 APEX 的接聽程式。一般而言,對於網際網路上執行的應用程式,Oracle 不建議使用內嵌 PL/SQL 閘道。
如需有關這些接聽程式類型的詳細資訊,請參閱 Oracle 文件中的關於選擇 Web 接聽程式
。 -
當您將 Amazon RDS APEX 選項新增至 RDS for Oracle 資料庫執行個體時,Amazon RDS 僅會安裝 Oracle APEX 儲存庫。在個別主機上安裝您的接聽程式。
APEX 版本需求
APEX 選項將為您的資料庫執行個體使用資料庫執行個體類別上的儲存空間。下列為 Oracle APEX 支援的版本與約略儲存空間需求:
APEX 版本 | 儲存需求 | 支援的 Oracle Database 版本 | 備註 |
---|---|---|---|
甲骨文顶点 23.2.V1 版 |
110 MiB |
全部 |
此版本包含修補程式 35895964:APEX 23.2 的 PSE 套裝軟體 (位於 23.2.0 以上的 PSE)、修補程式版本 6。 |
Oracle APEX 23.1.v1 版 |
106 MiB |
全部 |
此版本包含修補程式 35283657:PSE BUNDLE FOR APEX 23.1 (PSES ON TOP OF 23.1.0), PATCH_VERSION 2。 |
Oracle APEX 22.2.v1 版 |
106 MiB |
全部 |
此版本包含修補程式 34628174:PSE BUNDLE FOR APEX 22.2 (PSES ON TOP OF 22.2.0), PATCH_VERSION 4。 |
Oracle APEX 22.1.v1 版 |
124 MiB |
全部 |
此版本包含修補程式 34020981:PSE BUNDLE FOR APEX 22.1 (PSES ON TOP OF 22.1.0), PATCH_VERSION 6。 |
Oracle APEX 21.2.v1 版 |
125 MiB |
全部 |
此版本包含修補程式 33420059:PSE BUNDLE FOR APEX 21.2 (PSES ON TOP OF 21.2.0), PATCH_VERSION 8。 |
Oracle APEX 21.1.v1 版 |
125 MiB |
全部 |
此版本包含修補程式 32598392:PSE BUNDLE FOR APEX 21.1,PATCH_VERSION 3。 |
Oracle APEX 版本 20.2.v1 |
148 MiB |
除甲骨文資料庫 21c 以外的全 |
此版本包含修補程式 32006852:PSE BUNDLE FOR APEX 20.2,PATCH_VERSION 2020.11.12。您可以執行下列查詢來查看修補程編號和日期:
|
Oracle APEX 20.1.v1 版 |
173 MiB |
除甲骨文資料庫 21c 以外的全 |
此版本包含修補程式 30990551:PSE BUNDLE FOR APEX 20.1,PATCH_VERSION 2020.07.15。 |
Oracle APEX 19.2.v1 版 |
149 MiB |
除甲骨文資料庫 21c 以外的全 |
|
Oracle APEX 19.1.v1 版 |
148 MiB |
除甲骨文資料庫 21c 以外的全 |
如需可下載的 APEX .zip 檔案,請參閱 Oracle 網站上的 Oracle APEX 發行前封存
Oracle APEX 和 ORDS 需求和限制
請注意 APEX 和 ORDS 的以下需求:
-
您必須使用 Java 執行階段環境 (JRE)。
-
您的 Oracle 用戶端安裝必須包括下列項目:
-
適用於系統管理任務的 SQL*Plus 或 SQL Developer
-
用於設定 RDS for Oracle 資料庫執行個體連線的 Oracle Net Services
-
請注意 APEX 和 ORDS 的下列限制:
-
您不能使用 RDS 為甲骨文 CDB 與 ORDS 22 及更高版本。作為因應措施,您可以使用較低版本的 ORDS,或使用 Oracle 資料庫 19c 非 CDB。
新增 APEX 和 APEX-DEV 選項
若要將 APEX
和 APEX-DEV
選項新增至資料庫執行個體,請執行下列動作:
-
建立新的選項群組,或是複製或修改現有選項群組。
-
將
APEX
和APEX-DEV
選項新增至選項群組。 -
將選項群組與資料庫執行個體建立關聯。
當您新增 Amazon RDS APEX 選項時,在資料庫執行個體自動重新啟動時會發生短暫的中斷。
注意
APEX_MAIL
在已安裝 APEX
選項時可用。APEX_MAIL
套件的執行權限會授予 PUBLIC
,因此您不需要有 APEX 管理帳戶就能使用它。
將 APEX 選項新增至資料庫執行個體
-
判斷要使用的選項群組。您可以建立新的選項群組或使用現有的選項群組。如果您要使用現有的選項群組,請跳到下一個步驟。否則請使用下列設定來建立自訂資料庫選項群組:
-
針對 Engine (引擎),選擇您想要使用的 Oracle 版本。所有版本都支援 APEX 選項。
-
針對 Major engine version (主要引擎版本),請選擇您資料庫執行個體的版本。
如需更多詳細資訊,請參閱 建立選項群組。
-
-
將選項新增至選項群組。如果您只想部署 Oracle APEX 執行時間環境,則只需要新增
APEX
選項。如果您想要部署完整開發環境,請新增APEX
和APEX-DEV
選項。在 Version (版本) 中,選擇您要使用的
APEX
版本。重要
如果您將 APEX 選項新增至已連接到一個或多個資料庫執行個體的現有選項群組,則會發生短暫的停機。在此停機期間,所有資料庫執行個體都會重新啟動。
如需新增選項的詳細資訊,請參閱將選項新增至選項群組。
-
將選項群組套用至新的或現有的資料庫執行個體:
-
針對新的資料庫執行個體,您會在啟動執行個體時套用選項群組。如需更多詳細資訊,請參閱 建立 Amazon RDS 資料庫執行個體。
-
針對現有的資料庫執行個體,您可以透過修改執行個體並附加新的選項群組來套用選項群組。當您將 APEX 選項新增至現有的資料庫執行個體時,在資料庫執行個體自動重新啟動時會發生短暫的中斷。如需更多詳細資訊,請參閱 修改 Amazon RDS 資料庫執行個體。
-
解除鎖定公有使用者帳戶
安裝 Amazon RDS APEX 選項之後,請務必執行下列動作:
-
變更 APEX 公有使用者帳戶的密碼。
-
解除鎖定帳戶。
您可以使用 Oracle SQL*Plus 命令列公用程式來這麼做。以主要使用者身分連線至資料庫執行個體,然後發出以下命令。將 new_password
改為您選擇的密碼。
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY
new_password
; ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
設定適用於 Oracle APEX 的 RESTful 服務
若要在 APEX 中設定 RESTful 服務 (APEX 4.1.1.V1 不需要),請使用 SQL*Plus 以主要使用者身分連線至資料庫執行個體。完成此作業後,請執行 rdsadmin.rdsadmin_run_apex_rest_config
預存程序。執行預存程序時,您需要提供下列使用者的密碼:
-
APEX_LISTENER
-
APEX_REST_PUBLIC_USER
此預存程序會執行 apex_rest_config.sql
指令碼,而為這些使用者建立新的資料庫帳戶。
注意
若為 Oracle APEX 版本 4.1.1.v1,則不需要設定。僅針對此 Oracle APEX 版本,您不需要執行此預存程序。
下列命令會執行此預存程序。
EXEC rdsadmin.rdsadmin_run_apex_rest_config('
apex_listener_password
', 'apex_rest_public_user_password
');
準備安裝 ORDS
在安裝 ORDS 之前,您必須先建立無特殊權限的作業系統使用者,然後下載並解壓縮 APEX 安裝檔案。
準備進行 ORDS 安裝
-
以
myapexhost.example.com
身分登入root
。 -
建立無特殊權限的作業系統使用者來負責接聽程式安裝。以下命令建立一個名為 apexuser 的新使用者。
useradd -d /home/apexuser
apexuser
以下命令指派密碼給新使用者。
passwd apexuser;
-
以
myapexhost.example.com
身分登入apexuser
,然後從 Oracle 下載 APEX 安裝檔案至您的/home/apexuser
目錄: -
將檔案解壓縮在
/home/apexuser
目錄中。unzip apex_
version
.zip解壓縮檔案之後,
apex
目錄中會有一個/home/apexuser
目錄。 -
在您仍以
myapexhost.example.com
身分登入apexuser
時,從 Oracle 下載 Oracle REST Data Services 檔案至您的/home/apexuser
目錄:http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html。
安裝和設定 ORDS 21 及更低版本
您現在可以安裝和設定 Oracle Rest Data Services (ORDS),以便與 Oracle APEX 搭配使用。對於 APEX 5.0 及更新版本,請使用 ORDS 19.1 至 21 版本。若要瞭解如何安裝 ORDS 22 及更高版本,請參閱安裝與設定 ORDS 22 及更新版本。
將接聽程式安裝在另一部主機上,例如 Amazon EC2 執行個體、公司的現場部署伺服器或您的桌上型電腦。對於本節中的範例,我們假設您的主機名稱是 myapexhost.example.com
,而且主機執行 Linux。
若要安裝和設定 ORDS 21 或更低版本,以便與甲骨文 APEX 搭配使用
-
轉到甲骨文 REST 數據服務
,並檢查自述文件。請確定您已安裝所需的 Java 版本。 -
建立 ORDS 安裝的新目錄。
mkdir /home/apexuser/ORDS cd /home/apexuser/ORDS
-
從 Oracle REST資料服務
下載檔案 ords.
。version.number
.zip -
將檔案解壓縮在
/home/apexuser/ORDS
目錄中。 -
如果要在多重租用資料庫中安裝 ORDS,請將下行新增至
/home/apexuser/ORDS/params/ords_params.properties
檔案:pdb.disable.lockdown=false
-
授與主要使用者安裝 ORDS 所需的權限。
安裝 Amazon RDS APEX 選項之後,請為主要使用者提供安裝 ORDS 結構描述所需的權限。您可以連線至資料庫並執行下列命令來完成此動作。以您的主要使用者的大寫名稱取代
。MASTER_USER
重要
輸入使用者名稱時,除非您使用區分大小寫的識別符來建立使用者,否則請使用大寫。例如,如果您執行
CREATE USER myuser
或CREATE USER MYUSER
,資料字典會存放MYUSER
。不過,如果您在CREATE USER "MyUser"
中使用雙引號,資料字典則會存放MyUser
。如需更多詳細資訊,請參閱 將 SELECT 或 EXECUTE 權限授予 SYS 物件。exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', '
MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER
', 'EXECUTE', true);注意
這些命令會套用至 ORDS 19.1 版和更新版本。
-
使用下載的 ords.war 檔案來安裝 ORDS 結構描述。
java -jar ords.war install advanced
程式會提示您輸入下列資訊。方括號中是預設值。如需詳細資訊,請參閱 Oracle 文件中的 Oracle REST Data Services 簡介
。 -
輸入要存放組態資料的位置:
輸入
/home/apexuser/ORDS
。這是 ORDS 組態檔案的位置。 -
指定要使用的資料庫連線類型。輸入 [1] 基本 [2] TNS [3] 自訂 URL [1] 的數字:
選擇所需的連線類型。
-
輸入資料庫伺服器的名稱 [localhost]:
DB_instance_endpoint
選擇預設值或輸入正確值。
-
輸入資料庫接聽程式連接埠 [1521]:
DB_instance_port
選擇預設值或輸入正確值。
-
輸入 1 以指定資料庫服務名稱,或輸入 2 以指定資料庫 SID [1]:
選擇
2
以指定資料庫 SID。 -
資料庫 SID [xe]
選擇預設值或輸入正確值。
-
若要驗證/安裝 Oracle REST Data Services 結構描述,請輸入 1,或輸入 2 以略過此步驟 [1]:
選擇
1
。此步驟會建立名為 ORDS_PUBLIC_USER 的 Oracle REST Data Services 代理使用者。 -
輸入 ORDS_PUBLIC_USER 的資料庫密碼:
輸入密碼,然後確認。
-
需要使用管理員權限登入,以驗證 Oracle REST Data Services 結構描述。
輸入管理員使用者名稱:
master_user
輸入
master_user
的資料庫密碼:master_user_password
確認密碼:
master_user_password
注意
指定此處所顯示提示以外的密碼,作為安全最佳實務。
-
輸入 ORDS_METADATA [SYSAUX] 的預設資料表空間。
輸入 ORDS_METADATA [TEMP] 的暫時資料表空間。
輸入 ORDS_PUBLIC_USER [USERS] 的預設資料表空間。
輸入 ORDS_PUBLIC_USER [TEMP] 的暫時資料表空間。
-
如果要使用 PL/SQL 閘道請輸入 1,或輸入 2 來略過此步驟。如果您使用 Oracle Application Express 或從 mod_plsql 遷移,則必須輸入 1 [1]。
選擇預設值。
-
輸入 PL/SQL Gateway 資料庫使用者名稱 [APEX_PUBLIC_USER]
選擇預設值。
-
輸入 APEX_PUBLIC_USER 的資料庫密碼:
輸入密碼,然後確認。
-
輸入 1 以指定 Application Express RESTful Services 資料庫使用者 (APEX_LISTENER, APEX_REST_PUBLIC_USER) 的密碼,或輸入 2 以略過此步驟 [1]:
若為 APEX 4.1.1.V1,請選擇
2
;至於其他所有 APEX 版本,請選擇1
。 -
[APEX 4.1.1.v1 不需要此步驟] APEX_LISTENER 的資料庫密碼
輸入密碼 (如需要),然後確認。
-
[APEX 4.1.1.v1 不需要此步驟] APEX_REST_PUBLIC_USER 的資料庫密碼
輸入密碼 (如需要),然後確認。
-
輸入數字以選取要啟用的功能:
輸入
1
以啟用所有功能:SQL Developer Web、REST Enabled SQL 和 Database API。 -
若要以獨立模式啟動,請輸入 1,或輸入 2 以結束 [1]:
輸入
1
。 -
輸入 APEX 靜態資源位置:
如果您將 APEX 安裝檔案解壓縮至
/home/apexuser
,請輸入/home/apexuser/apex/images
。否則,請輸入
,其中unzip_path
/apex/imagesunzip_path
是您將檔案解壓縮的目錄所在位置。 -
若使用 HTTP,請輸入 1;或若使用 HTTPS [1],則請輸入 2:
如果您輸入
1
,請指定 HTTP 連接埠。如果您輸入2
,請指定 HTTPS 連接埠和 SSL 主機名稱。HTTPS 選項會提示您指定提供憑證的方式:-
輸入
1
以使用自我簽署的憑證。 -
輸入
2
以提供您自己的憑證。如果您輸入2
,請指定 SSL 憑證的路徑,以及 SSL 憑證私密金鑰的路徑。
-
-
-
設定 APEX
admin
使用者的密碼。若要這麼做,請使用 SQL*Plus 以主要使用者身分連線至資料庫執行個體,然後執行以下命令。EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role; grant APEX_ADMINISTRATOR_ROLE to
master
; @/home/apexuser/apex/apxchpwd.sql將
改為您的主要使用者名稱。當master
apxchpwd.sql
指令碼提示您時,請輸入新的admin
密碼。 -
啟動 ORDS 接聽程式。執行下列程式碼。
java -jar ords.war
第一次啟動 ORDS 時會提示您提供 APEX 靜態資源的位置。此影像資料夾位於 APEX 安裝目錄的
/apex/images
目錄中。 -
在瀏覽器中返回 APEX 管理視窗,然後選擇 Administration (管理)。接著選擇 Application Express Internal Administration (Application Express 內部管理)。當提示您提供登入資料時,請輸入下列資訊:
-
使用者名稱 –
admin
-
密碼 – 使用
apxchpwd.sql
指令碼所設定的密碼
選擇 Login (登入),然後設定
admin
使用者的新密碼。 -
您的接聽程式現在可供使用。
安裝與設定 ORDS 22 及更新版本
您現在可以安裝和設定 Oracle Rest Data Services (ORDS),以便與 Oracle APEX 搭配使用。ORDS 22 的說明與舊版的說明不同。
若要安裝和設定 ORDS 22 及更新版本,以便與甲骨文 APEX 搭配使用
-
移至 Oracle REST 資料服務
,並檢查您計劃下載之 ORDS 版本的讀我檔案。請確定您已安裝所需的 Java 版本。 -
建立 ORDS 安裝的新目錄。
mkdir /home/apexuser/ORDS cd /home/apexuser/ORDS
-
下載檔案
ords.
或version.number
.zipords-latest.zip
從 Oracle REST 資料服務下載。 -
將檔案解壓縮在
/home/apexuser/ORDS
目錄中。 -
授與主要使用者安裝 ORDS 所需的權限。
安裝 Amazon RDS APEX 選項之後,請為主要使用者提供安裝 ORDS 結構描述所需的權限。您可以通過登錄到數據庫並運行以下命令來做到這一點。以您的主要使用者的大寫名稱取代
。MASTER_USER
重要
輸入使用者名稱時,除非您使用區分大小寫的識別符來建立使用者,否則請使用大寫。例如,如果您執行
CREATE USER myuser
或CREATE USER MYUSER
,資料字典會存放MYUSER
。不過,如果您在CREATE USER "MyUser"
中使用雙引號,資料字典則會存放MyUser
。如需詳細資訊,請參閱 將 SELECT 或 EXECUTE 權限授予 SYS 物件。exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', '
MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_ROLE_PRIVS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_TAB_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONS_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_CONSTRAINTS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_OBJECTS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_PROCEDURES', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TAB_COLUMNS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_TABLES', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('USER_VIEWS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('WPIUTL', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SESSION', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_UTILITY', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_LOB', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_ASSERT', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_OUTPUT', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SCHEDULER', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('HTP', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('OWA', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('WPG_DOCLOAD', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_CRYPTO', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_METADATA', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_SQL', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('UTL_SMTP', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBMS_NETWORK_ACL_ADMIN', 'MASTER_USER
', 'EXECUTE', true); exec rdsadmin.rdsadmin_util.grant_sys_object('SESSION_PRIVS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_USERS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACL_PRIVILEGES', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_NETWORK_ACLS', 'MASTER_USER
', 'SELECT', true); exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_REGISTRY', 'MASTER_USER
', 'SELECT', true);注意
上述命令適用於 ORDS 22 及更高版本。
-
使用下載的
ords
指令碼安裝 ORDS 結構描述。指定要包含組態檔和記錄檔的目錄。甲骨文建議不要將這些目錄放在包含 ORDS 產品軟體的目錄中。mkdir -p /home/apexuser/ords_config /home/apexuser/ords_logs /home/apexuser/ORDS/bin/ords \ --config /home/apexuser/ords_config \ install --interactive --log-folder /home/apexuser/ords_logs
對於執行容器資料庫 (CDB) 架構的資料庫執行個體,請使用 ORDS 23.2 及更高版本,並在安裝 ORDS 時傳遞
--pdb-skip-disable-lockdown
引數。/home/apexuser/ORDS/bin/ords \ --config /home/apexuser/ords_config \ install --interactive --log-folder /home/apexuser/ords_logs --pdb-skip-disable-lockdown
程式會提示您輸入下列資訊。方括號中是預設值。如需詳細資訊,請參閱 Oracle 文件中的 Oracle REST Data Services 簡介
。 -
Choose the type of installation:
選擇
2
在資料庫中安裝 ORDS 結構描述,並在本機 ORDS 組態檔中建立資料庫連線集區。 -
Specify the database connection type to use. Enter number for [1] Basic [2] TNS [3] Custom URL:
選擇所需的連線類型。此範例假設您選擇
1
。 -
Enter the name of the database server [localhost]:
DB_instance_endpoint
選擇預設值或輸入正確值。
-
Enter the database listener port [1521]:
DB_instance_port
選擇預設值
1521
或輸入正確的值。 -
Enter the database service name [orcl]:
輸入適用於 Oracle 資料庫執行個體的 RDS 所使用的資料庫名稱。
-
Provide database user name with administrator privileges
輸入適用於 Oracle 資料庫執行個體之 RDS 的主要使用者名稱。
-
Enter the database password for [username]:
輸入適用於 Oracle 資料庫執行個體之 RDS 的主要使用者密碼。
-
Enter the default tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [SYSAUX]:
-
Enter the temporary tablespace for ORDS_METADATA [TEMP]. Enter the default tablespace for ORDS_PUBLIC_USER [USERS]. Enter the temporary tablespace for ORDS_PUBLIC_USER [TEMP].
-
Enter a number to select additional feature(s) to enable [1]:
-
Enter a number to configure and start ORDS in standalone mode [1]:
選擇
2
以獨立模式立即略過啟動 ORDS。 -
Enter a number to select the protocol [1] HTTP
-
Enter the HTTP port [8080]:
-
Enter the APEX static resources location:
輸入 APEX 安裝檔案的路徑 (
/home/apexuser/apex/images
)。
-
-
設定 APEX
admin
使用者的密碼。若要這麼做,請使用 SQL*Plus 以主要使用者身分連線至資料庫執行個體,然後執行以下命令。EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role; grant APEX_ADMINISTRATOR_ROLE to
master
; @/home/apexuser/apex/apxchpwd.sql將
改為您的主要使用者名稱。當master
apxchpwd.sql
指令碼提示您時,請輸入新的admin
密碼。 -
使用指令
ords
碼搭配serve
指令碼,以獨立模式執行 ORDS。對於生產部署,請考慮使用支持的 Java EE 應用程序服務器,如 Apache Tomcat 或甲骨文 WebLogic服務器。如需詳細資訊,請參閱 Oracle 資料庫說明文件中的建置和監督 Oracle REST 資料服務。 /home/apexuser/ORDS/bin/ords \ --config /home/apexuser/ords_config serve \ --port 8193 \ --apex-images /home/apexuser/apex/images
如果 ORDS 正在執行,但無法存取 APEX 安裝,您可能會看到下列錯誤,特別是在非 CDB 執行個體上。
The procedure named apex_admin could not be accessed, it may not be declared, or the user executing this request may not have been granted execute privilege on the procedure, or a function specified by security.requestValidationFunction configuration property has prevented access.
若要修正此錯誤,請使用命令執行
config
指令ords
碼,變更 ORDS 使用的要求驗證函式。默認情況下,ORDS 使用該過ords_util.authorize_plsql_gateway
程,該過程僅在 CDB 實例上受支持。對於非 CDB 執行個體,您可以將此程序變更為套件wwv_flow_epg_include_modules.authorize
。如需針對您的使用案例設定適當要求驗證功能的最佳作法,請參閱 Oracle 資料庫說明文件和 Oracle Support 部門。 -
在瀏覽器中返回 APEX 管理視窗,然後選擇 Administration (管理)。接著選擇 Application Express Internal Administration (Application Express 內部管理)。當提示您提供登入資料時,請輸入下列資訊:
-
使用者名稱 –
admin
-
密碼 – 使用
apxchpwd.sql
指令碼所設定的密碼
選擇 Login (登入),然後設定
admin
使用者的新密碼。 -
您的接聽程式現在可供使用。
設定 Oracle APEX Listener
注意
Oracle APEX Listener 已淘汰。
Amazon RDS for Oracle 繼續支援 APEX 4.1.1 版和 Oracle APEX Listener 1.1.4 版。我們建議您使用最新支援的 Oracle APEX 和 ORDS 版本。
將 Oracle APEX Listener 安裝在另一部主機上,例如 Amazon EC2 執行個體、公司的現場部署伺服器或您的桌上型電腦。我們假設主機名稱為 myapexhost.example.com
,且主機執行 Linux。
準備安裝 Oracle APEX Listener
在安裝 Oracle APEX Listener 之前,您必須先建立無特殊權限的作業系統使用者,然後下載並解壓縮 APEX 安裝檔案。
準備安裝 Oracle APEX Listener
-
以
myapexhost.example.com
身分登入root
。 -
建立無特殊權限的作業系統使用者來負責接聽程式安裝。以下命令建立一個名為 apexuser 的新使用者。
useradd -d /home/apexuser
apexuser
以下命令指派密碼給新使用者。
passwd apexuser;
-
以
myapexhost.example.com
身分登入apexuser
,然後從 Oracle 下載 APEX 安裝檔案至您的/home/apexuser
目錄: -
將檔案解壓縮在
/home/apexuser
目錄中。unzip apex_
<version>
.zip解壓縮檔案之後,
apex
目錄中會有一個/home/apexuser
目錄。 -
在您仍以
myapexhost.example.com
身分登入apexuser
時,從 Oracle 下載 Oracle APEX Listener 檔案至您的/home/apexuser
目錄。
安裝與設定 Oracle APEX Listener
在可以使用 APEX 之前,您需先下載 apex.war 檔案、使用 Java 安裝 Oracle APEX Listener,然後啟動接聽程式。
安裝與設定 Oracle APEX Listener
-
根據 Oracle APEX Listener 建立新目錄,並開啟接聽程式檔案。
執行下列程式碼:
mkdir /home/apexuser/apexlistener cd /home/apexuser/apexlistener unzip ../apex_listener.
version
.zip -
執行下列程式碼。
java -Dapex.home=./apex -Dapex.images=/home/apexuser/apex/images -Dapex.erase -jar ./apex.war
-
輸入資訊讓程式提示下列:
-
APEX Listener Administrator 使用者名稱。預設值為 adminlistener。
-
APEX Listener Administrator 的密碼。
-
APEX Listener Manager 使用者名稱。預設值為 managerlistener。
-
APEX Listener Administrator 的密碼。
程式會印出您完成組態所需的 URL,如下所示。
INFO: Please complete configuration at: http://localhost:8080/apex/listenerConfigure Database is not yet configured
-
-
讓 Oracle APEX Listener 保持執行,使得您可以使用 Oracle Application Express。當您完成此設定程序時,就可以換成在背景中執行接聽程式。
-
在 web 瀏覽器中,移至 APEX Listener 程式所提供的 URL。Oracle Application Express Listener 管理視窗隨即出現。輸入下列資訊:
-
使用者名稱 –
APEX_PUBLIC_USER
-
密碼 – APEX_PUBLIC_USER 的密碼。這是您稍早設定 APEX 儲存庫時所指定的密碼。如需更多詳細資訊,請參閱 解除鎖定公有使用者帳戶。
-
連線類型 – 基本
-
主機名稱 – Amazon RDS 資料庫執行個體的端點,例如
mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com
。 -
連接埠 – 1521
-
SID – Amazon RDS 資料庫執行個體上的資料庫名稱,例如
mydb
。
-
-
選擇 Apply (套用)。APEX 管理視窗隨即出現。
-
設定 APEX
admin
使用者的密碼。若要這麼做,請使用 SQL*Plus 以主要使用者身分連線至資料庫執行個體,然後執行以下命令。EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role; grant APEX_ADMINISTRATOR_ROLE to
master
; @/home/apexuser/apex/apxchpwd.sql將
改為您的主要使用者名稱。當master
apxchpwd.sql
指令碼提示您時,請輸入新的admin
密碼。 -
在瀏覽器中返回 APEX 管理視窗,然後選擇 Administration (管理)。接著選擇 Application Express Internal Administration (Application Express 內部管理)。當提示您提供登入資料時,請輸入下列資訊:
-
使用者名稱 –
admin
-
密碼 – 使用
apxchpwd.sql
指令碼所設定的密碼
選擇 Login (登入),然後設定
admin
使用者的新密碼。 -
您的接聽程式現在可供使用。
升級 APEX 版本
重要
升級 APEX 之前,請備份資料庫執行個體。如需更多詳細資訊,請參閱 為單一可用區資料庫執行個體建立資料庫快照 及 測試 Oracle 資料庫升級。
若要連同資料庫執行個體一起升級 APEX,請執行下列動作:
-
為資料庫執行個體的升級版本建立新的選項群組。
-
將 APEX 和 APEX-DEV 的升級版本新增至新的選項群組。務必包括資料庫執行個體使用的其他任何選項。如需更多詳細資訊,請參閱 選項群組考量。
-
升級資料庫執行個體時,請為升級的資料庫執行個體指定新的選項群組。
升級 APEX 的版本之後,舊版的 APEX 結構描述可能仍存在於資料庫中。如果不再需要,您可以在升級之後從資枓庫中刪除舊的 APEX 結構描述。
如果您升級 APEX 版本,但舊版 APEX 中未設定 RESTful 服務,建議您設定 RESTful 服務。如需更多詳細資訊,請參閱 設定適用於 Oracle APEX 的 RESTful 服務。
在某些情況下,當您打算升級資料庫執行個體的主要版本時,您可能會發現使用的 APEX 版本與目標資料庫版本不相容。在這類情況下,您可先升級 APEX 版本,再升級資料庫執行個體。先升級 APEX 可以縮短升級資料庫執行個體所需的時間。
注意
在升級 APEX 後,請安裝並設定接聽程式以使用升級後的版本。如需說明,請參閱「設定 Oracle APEX Listener」。
移除 APEX 選項
您可以從資料庫執行個體中移除 Amazon RDS APEX 選項。若要從一個資料庫執行個體中移除 APEX 選項,請執行下列其中一個動作:
-
若要從多個資料庫執行個體中移除 APEX 選項,請將 APEX 選項從所屬的選項群組中移除。此變更會影響使用選項群組的所有資料庫執行個體。當您從附加至多個資料庫執行個體的選項群組中移除 APEX 選項時,在所有資料庫執行個體都重新啟動期間,會發生短暫停機。
如需更多詳細資訊,請參閱 從選項群組移除選項。
-
若要從單一資料庫執行個體中移除 APEX 選項,請修改資料庫執行個體,並指定不包括 APEX 選項的不同選項群組。您可以指定預設的 (空白) 選項群組或不同的自訂選項群組。當您移除 APEX 選項時,因為資料庫執行個體會自動重新啟動,所以會發生短暫停機。
如需更多詳細資訊,請參閱 修改 Amazon RDS 資料庫執行個體。
當您從資料庫執行個體中移除 APEX 選項時,APEX 結構描述也會從資料庫中移除。