Oracle Application Express (APEX) - Amazon Relational Database Service

Oracle Application Express (APEX)

Amazon RDS 通过使用 APEXAPEX-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 Data Services(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 网关作为 APEX 侦听器的 Oracle XML DB HTTP 服务器。对于在 Internet 上运行的应用程序而言,Oracle 一般不建议使用嵌入 PL/SQL 网关。

    有关这些侦听器类型的更多信息,请参阅 Oracle 文档中的关于选择 Web 侦听器

将 Amazon RDS APEX 选项添加到 RDS for Oracle 数据库实例时,Amazon RDS 仅安装 Oracle APEX 存储库。将您的侦听器安装在单独的主机上。

APEX 版本要求

APEX 选项将数据库实例类中的存储用于您的数据库实例。下面是支持的 Oracle APEX 版本和大致的存储要求。

APEX 版本 存储需求 支持的 Oracle 数据库版本 注意

Oracle APEX 版本 23.2.v1

110 MiB

全部

此版本包括补丁 35895964:PSE BUNDLE FOR APEX 23.2(PSES ON TOP OF 23.2.0)、PATCH_VERSION 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

106MiB

全部

此版本包括补丁 34628174:PSE BUNDLE FOR APEX 22.2(PSES ON TOP OF 22.2.0)、PATCH_VERSION 4。

Oracle APEX 版本 22.1.v1

124MiB

全部

此版本包括补丁 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

全部,但 Oracle Database 21c 除外

此版本包括补丁 32006852:PSE BUNDLE FOR APEX 20.2、PATCH_VERSION 2020.11.12。您可以通过运行以下查询来查看补丁编号和日期:

SELECT PATCH_VERSION, PATCH_NUMBER FROM APEX_PATCHES;

Oracle APEX 版本 20.1.v1

173 MiB

全部,但 Oracle Database 21c 除外

此版本包括补丁 30990551:PSE BUNDLE FOR APEX 20.1、PATCH_VERSION 2020.07.15。

Oracle APEX 版本 19.2.v1

149 MiB

全部,但 Oracle Database 21c 除外

Oracle APEX 版本 19.1.v1

148 MiB

全部,但 Oracle Database 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 和 APEX-DEV 选项添加到数据库实例

要将 APEXAPEX-DEV 选项添加到 RDS for Oracle 数据库实例,请执行以下操作:

  1. 创建新的选项组,或者复制或修改现有选项组。

  2. APEXAPEX-DEV 选项添加到该选项组。

  3. 将选项组与数据库实例相关联。

如果添加 Amazon RDS APEX 选项,则在数据库实例自动重新启动时会出现短暂中断。

注意

安装 APEX 选项时,APEX_MAIL 可用。APEX_MAIL 包的执行权限授予 PUBLIC,因此您不需要 APEX 管理账户即可使用它。

将 APEX 选项添加到数据库实例
  1. 确定您要使用的选项组。您可以创建新的选项组,或使用现有选项组。如果您想使用现有选项组,请跳到下一步。或者,通过以下设置创建自定义数据库选项组:

    1. 对于 Engine,请选择要使用的 Oracle 版本。所有版本均支持 APEX 选项。

    2. 对于主引擎版本,选择数据库实例的版本。

    有关更多信息,请参阅“创建选项组”。

  2. 将选项添加到该选项组。如果您只希望部署 Oracle APEX 运行时环境,则仅添加 APEX 选项。要部署完整开发环境,则同时添加 APEXAPEX-DEV 选项。

    对于 Version,选择要使用的 APEX 版本。

    重要

    如果在已附加到一个或多个数据库实例的现有选项组中添加 APEX 选项,则会发生短暂中断。在此中断期间,将自动重新启动所有数据库实例。

    有关添加选项的更多信息,请参阅 将选项添加到选项组

  3. 将选项组应用到新的或现有的数据库实例:

    • 对于新数据库实例,您可以在启动实例时应用选项组。有关更多信息,请参阅“创建 Amazon RDS 数据库实例”。

    • 对于现有数据库实例,您可以通过修改实例并附加新的选项组来应用选项组。如果您将 APEX 选项添加到现有数据库实例,则在数据库实例自动重新启动时会出现短暂中断。有关更多信息,请参阅 修改 Amazon RDS 数据库实例

解锁数据库实例上的公有用户账户

在数据库实例上安装 Amazon RDS APEX 选项后,请确保执行以下操作:

  1. 更改 APEX 公用用户账户的密码。

  2. 解锁此账户。

您可以使用 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 以主用户的身份连接到您的 DB 实例。执行此操作后,运行 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 安装在单独的主机上,例如 Amazon EC2 实例、公司的本地服务器或您的台式计算机。本节中的示例假设您的主机运行 Linux 且名为 myapexhost.example.com

在安装 ORDS 之前,您需要创建非特权操作系统用户,然后下载并解压缩 APEX 安装文件。

为安装 ORDS 做准备
  1. myapexhost.example.com 身份登录到 root

  2. 创建一个非特权操作系统用户以控制侦听器安装。以下命令会创建一个名为 apexuser 的新用户。

    useradd -d /home/apexuser apexuser

    以下命令会为新用户分配密码。

    passwd apexuser;
  3. myapexhost.example.com 身份登录 apexuser,并从 Oracle 网站将 APEX 安装文件下载到您的 /home/apexuser 目录:

  4. /home/apexuser 目录中解压缩该文件。

    unzip apex_version.zip

    在解压缩该文件后,apex 目录中会有一个 /home/apexuser 目录。

  5. 在您仍以 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 APEX 的 Oracle Rest Data Services (ORDS) 了。对于 APEX 版本 5.0 及更高版本,请使用 ORDS 版本 19.1 到 21。要了解如何安装 ORDS 22 及更高版本,请参阅安装和配置 ORDS 22 及更高版本

将侦听器安装在单独的主机上,例如 Amazon EC2 实例、公司的本地服务器或您的台式计算机。对于本节中的示例,我们假定您的主机的名称为 myapexhost.example.com,并且您的主机运行的是 Linux。

安装并配置 ORDS 21 及更低版本以与 Oracle APEX 结合使用
  1. 转至 Oracle REST Data Services,查看自述文件。确保安装了所需的 Java 版本。

  2. 为 ORDS 安装创建一个新目录。

    mkdir /home/apexuser/ORDS cd /home/apexuser/ORDS
  3. Oracle REST data services 下载文件 ords.version.number.zip

  4. 将该文件解压缩到 /home/apexuser/ORDS 目录中。

  5. 如果要将 ORDS 安装到多租户数据库中,请将如下命令行添加到文件 /home/apexuser/ORDS/params/ords_params.properties

    pdb.disable.lockdown=false
  6. 为主用户授予所需的权限以安装 ORDS。

    在安装 Amazon RDS APEX 选项后,为主用户提供所需的权限以安装 ORDS 架构。您可以连接到数据库并运行以下命令以完成该操作。将 MASTER_USER 替换为主用户的大写名称。

    重要

    输入用户名时,除非您使用区分大小写的标识符创建了用户,否则请使用大写字母。例如,如果您运行 CREATE USER myuserCREATE USER MYUSER,则数据字典将存储 MYUSER。但是,如果您在 CREATE USER "MyUser" 中使用双引号,则数据字典将存储 MyUser。有关更多信息,请参阅“向 SYS 对象授予 SELECT 或 EXECUTE 权限”。

    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 和更高版本。

  7. 使用下载的 ords.war 文件安装 ORDS 架构。

    java -jar ords.war install advanced

    程序会提示您输入以下信息。括号中为默认值。有关更多信息,请参阅 Oracle 文档中的 Oracle REST Data Services 简介

    • 输入用于存储配置数据的位置:

      输入 /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_PUB_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 网关数据库用户名 [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 开发人员 Web、启用 REST 的 SQL 和数据库 API。

    • 如果您希望在独立模式下启动,请输入 1;或输入 2 退出 [1]:

      输入 1

    • 输入 APEX 静态资源位置:

      如果已将 APEX 安装文件解压缩到 /home/apexuser 中,请输入 /home/apexuser/apex/images。否则,请输入 unzip_path/apex/images,其中 unzip_path 是解压缩文件的目录。

    • 如果使用 HTTP,则输入 1;如果使用 HTTPS,则输入 2 [1]:

      如果您输入 1,请指定 HTTP 端口。如果您输入 2,请指定 HTTPS 端口和 SSL 主机名。HTTPS 选项提示您指定提供证书的方式:

      • 输入 1 以使用自签名证书。

      • 输入 2 以提供您自己的证书。如果输入 2,请指定 SSL 证书的路径和 SSL 证书私有密钥的路径。

  8. 为 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 密码。

  9. 启动 ORDS 侦听器。运行以下代码。

    java -jar ords.war

    首次启动 ORDS 时,系统会提示您提供 APEX 静态资源的位置。此映像文件夹位于 APEX 安装目录下的 /apex/images 目录中。

  10. 返回浏览器内的 APEX 管理窗口,然后选择 Administration。接下来选择 Application Express Internal Administration。在提示您输入凭证时,请输入以下信息:

    • 用户名admin

    • 密码 – 使用 apxchpwd.sql 脚本设置的密码

    选择 Login,然后设置 admin 用户的新密码。

您的侦听器现在已可以使用。

安装和配置 ORDS 22 及更高版本

现在一切就绪,可以安装和配置用于 Oracle APEX 的 Oracle Rest Data Services (ORDS) 了。对于本节中的示例,我们假定单独主机的名称为 myapexhost.example.com,并且主机运行的是 Linux。ORDS 22 的说明与先前版本的说明不同。

安装并配置 ORDS 22 及更高版本以与 Oracle APEX 结合使用
  1. 转至 Oracle REST Data Services,查看您计划下载的 ORDS 版本的自述文件。确保安装了所需的 Java 版本。

  2. 为 ORDS 安装创建一个新目录。

    mkdir /home/apexuser/ORDS cd /home/apexuser/ORDS
  3. Oracle REST Data Services 下载文件 ords.version.number.zipords-latest.zip

  4. 将该文件解压缩到 /home/apexuser/ORDS 目录中。

  5. 为主用户授予所需的权限以安装 ORDS。

    在安装 Amazon RDS APEX 选项后,为主用户提供所需的权限以安装 ORDS 架构。您可以登录到数据库并运行以下命令来完成该操作。将 MASTER_USER 替换为主用户的大写名称。

    重要

    输入用户名时,除非您使用区分大小写的标识符创建了用户,否则请使用大写字母。例如,如果您运行 CREATE USER myuserCREATE USER MYUSER,则数据字典将存储 MYUSER。但是,如果您在 CREATE USER "MyUser" 中使用双引号,则数据字典将存储 MyUser。有关更多信息,请参阅 向 SYS 对象授予 SELECT 或 EXECUTE 权限

    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 及更高版本。

  6. 使用下载的 ords 脚本安装 ORDS 架构。指定要包含配置文件和日志文件的目录。Oracle Corporation 建议不要将这些目录放在包含 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]:

      输入 RDS for Oracle 数据库实例所使用的数据库名称。

    • Provide database user name with administrator privileges

      输入 RDS for Oracle 数据库实例的主用户名。

    • Enter the database password for [username]:

      输入 RDS for Oracle 数据库实例的主用户密码。

    • 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)。

  7. 为 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 密码。

  8. 使用带有 serve 命令的 ords 脚本在独立模式下运行 ORDS。对于生产部署,可以考虑使用支持的 Java EE 应用程序服务器,例如 Apache Tomcat 或 Oracle WebLogic 服务器。有关更多信息,请参阅 Oracle 数据库文档中的 Deploying and Monitoring Oracle REST Data Services

    /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。

  9. 返回浏览器内的 APEX 管理窗口,然后选择 Administration。接下来选择 Application Express Internal Administration。在提示您输入凭证时,请输入以下信息:

    • 用户名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 做准备
  1. myapexhost.example.com 身份登录到 root

  2. 创建一个非特权操作系统用户以控制侦听器安装。以下命令会创建一个名为 apexuser 的新用户。

    useradd -d /home/apexuser apexuser

    以下命令会为新用户分配密码。

    passwd apexuser;
  3. myapexhost.example.com 身份登录 apexuser,并从 Oracle 网站将 APEX 安装文件下载到您的 /home/apexuser 目录:

  4. /home/apexuser 目录中解压缩该文件。

    unzip apex_<version>.zip

    在解压缩该文件后,apex 目录中会有一个 /home/apexuser 目录。

  5. 当您仍以 myapexhost.example.com 身份登录 apexuser 时,从 Oracle 网站将 Oracle APEX Listener 文件下载到您的 /home/apexuser 目录。

安装和配置 Oracle APEX Listener

在使用 APEX 之前,您需要下载 apex.war 文件,使用 Java 安装 Oracle APEX Listener,然后启动侦听器。

安装和配置 Oracle APEX Listener
  1. 创建一个基于 Oracle APEX Listener 的新目录并打开侦听器文件。

    运行以下代码:

    mkdir /home/apexuser/apexlistener cd /home/apexuser/apexlistener unzip ../apex_listener.version.zip
  2. 运行以下代码。

    java -Dapex.home=./apex -Dapex.images=/home/apexuser/apex/images -Dapex.erase -jar ./apex.war
  3. 输入该程序提示的以下信息:

    • 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
  4. 让 Oracle APEX Listener 保持运行,以便您可以使用 Oracle Application Express。完成此配置过程后,可在后台运行侦听器。

  5. 从 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​。

  6. 选择 Apply。显示 APEX 管理窗口。

  7. 为 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 密码。

  8. 返回浏览器内的 APEX 管理窗口,然后选择 Administration。接下来选择 Application Express Internal Administration。在提示您输入凭证时,请输入以下信息:

    • 用户名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 架构。