

# 设置 Oracle APEX 和 Oracle Rest Data Services（ORDS）
<a name="Appendix.Oracle.Options.APEX.settingUp"></a>

以下主题列出了设置 Oracle APEX 和 ORDS 所需的步骤

**Topics**
+ [将 APEX 和 APEX-DEV 选项添加到数据库实例](#Appendix.Oracle.Options.APEX.Add)
+ [解锁数据库实例上的公有用户账户](#Appendix.Oracle.Options.APEX.PublicUser)
+ [为 Oracle APEX 配置 RESTful 服务](#Appendix.Oracle.Options.APEX.ConfigureRESTful)
+ [准备好在单独的主机上安装 ORDS](#Appendix.Oracle.Options.APEX.ORDS.ords-setup)
+ [设置 Oracle APEX Listener](#Appendix.Oracle.Options.APEX.Listener)

## 将 APEX 和 APEX-DEV 选项添加到数据库实例
<a name="Appendix.Oracle.Options.APEX.Add"></a>

要将 `APEX` 和 `APEX-DEV` 选项添加到 RDS for Oracle 数据库实例，请执行以下操作：

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

1. 将 `APEX` 和 `APEX-DEV` 选项添加到该选项组。

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

如果添加 `APEX` 和 `APEX-DEV` 选项，则在数据库实例自动重新启动时会出现短暂中断。

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

**将 APEX 和 APEX-DEV 选项添加到数据库实例**

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

   1. 对于 **Engine**，请选择要使用的 Oracle 版本。所有版本均支持 `APEX` 和 `APEX-DEV` 选项。

   1. 对于**主引擎版本**，选择数据库实例的版本。

   有关更多信息，请参阅“[创建选项组](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.Create)”。

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

   对于**版本**，选择要使用的 Oracle APEX 版本。
**重要**  
如果向已经附加到一个或多个数据库实例的现有选项组添加 `APEX` 或 `APEX-DEV` 选项，则会发生短暂中断。在此中断期间，将自动重新启动所有数据库实例。

   有关添加选项的更多信息，请参阅 [将选项添加到选项组](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption)。

1. 将选项组应用到新的或现有的数据库实例：
   + 对于新数据库实例，您可以在启动实例时应用选项组。有关更多信息，请参阅“[创建 Amazon RDS 数据库实例](USER_CreateDBInstance.md)”。
   + 对于现有数据库实例，您可以通过修改实例并附加新的选项组来应用选项组。如果您将 `APEX` 和 `APEX-DEV` 选项添加到现有数据库实例，则在数据库实例自动重新启动时会出现短暂中断。有关更多信息，请参阅 [修改 Amazon RDS 数据库实例](Overview.DBInstance.Modifying.md)。

## 解锁数据库实例上的公有用户账户
<a name="Appendix.Oracle.Options.APEX.PublicUser"></a>

在数据库实例上安装 `APEX` 或 `APEX-DEV` 选项后，请确保执行以下操作：

1. 更改 `APEX_PUBLIC_USER` 账户的密码。

1. 解锁此账户。

您可以使用 Oracle SQL\$1Plus 命令行实用程序执行该操作。以主用户身份连接到数据库实例，并发出以下命令。使用所选密码替换 `new_password`。

```
1. ALTER USER APEX_PUBLIC_USER IDENTIFIED BY new_password;
2. ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
```

## 为 Oracle APEX 配置 RESTful 服务
<a name="Appendix.Oracle.Options.APEX.ConfigureRESTful"></a>

要在 Oracle APEX 中配置 RESTful 服务（对 Oracle APEX 4.1.1.V1 不需要），请使用 SQL\$1Plus 以主用户的身份连接到数据库实例。执行此操作后，运行 `rdsadmin.rdsadmin_run_apex_rest_config` 存储过程。当您运行该存储过程时，请为以下用户提供密码：
+ `APEX_LISTENER`
+ `APEX_REST_PUBLIC_USER`

该存储过程运行 `apex_rest_config.sql` 脚本，从而为这些用户创建新的数据库账户。

**注意**  
Oracle APEX 版本 4.1.1.v1 无需配置。仅对于此 Oracle APEX 版本，您不需要运行该存储过程。

以下命令运行该存储过程。

```
1. EXEC rdsadmin.rdsadmin_run_apex_rest_config('apex_listener_password', 'apex_rest_public_user_password');
```

## 准备好在单独的主机上安装 ORDS
<a name="Appendix.Oracle.Options.APEX.ORDS.ords-setup"></a>

将 ORDS 安装在单独的主机上，例如 Amazon EC2 实例、公司的本地服务器或您的台式计算机。本节中的示例假设您的主机运行 Linux 且名为 `myapexhost.example.com`。

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

**为安装 ORDS 做准备**

1. 以 `myapexhost.example.com` 身份登录到 `root`。

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

   ```
   useradd -d /home/apexuser apexuser
   ```

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

   ```
   passwd apexuser;
   ```

1. 以 `apexuser` 身份登录 `myapexhost.example.com`，并从 Oracle 将 Oracle APEX 安装文件下载到您的 `/home/apexuser` 目录：
   + [http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html) 
   + [Oracle Application Express 早期版本存档](http://www.oracle.com/technetwork/developer-tools/apex/downloads/all-archives-099381.html) 

1. 在 `/home/apexuser` 目录中解压缩该文件。

   ```
   unzip apex_version.zip
   ```

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

1. 在您仍以 `myapexhost.example.com` 身份登录 `apexuser` 时，从 Oracle 网站将 Oracle REST Data Services 文件下载到您的 `/home/apexuser` 目录：[http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex-listener/downloads/index.html)

## 设置 Oracle APEX Listener
<a name="Appendix.Oracle.Options.APEX.Listener"></a>

**注意**  
Oracle APEX Listener 已被弃用。

Amazon RDS for Oracle 继续支持 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 做准备
<a name="Appendix.Oracle.Options.APEX.Listener.preparing"></a>

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

**为安装 Oracle APEX Listener 做准备**

1. 以 `myapexhost.example.com` 身份登录到 `root`。

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

   ```
   useradd -d /home/apexuser apexuser
   ```

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

   ```
   passwd apexuser;
   ```

1. 以 `apexuser` 身份登录 `myapexhost.example.com`，并从 Oracle 将 Oracle APEX 安装文件下载到您的 `/home/apexuser` 目录：
   + [http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html](http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html) 
   + [Oracle Application Express 早期版本存档](http://www.oracle.com/technetwork/developer-tools/apex/downloads/all-archives-099381.html) 

1. 在 `/home/apexuser` 目录中解压缩该文件。

   ```
   unzip apex_<version>.zip                
   ```

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

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

#### 安装和配置 Oracle APEX Listener
<a name="Appendix.Oracle.Options.APEX.Listener.installing"></a>

在使用 Oracle 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
   ```

1. 运行以下代码。

   ```
   java -Dapex.home=./apex -Dapex.images=/home/apexuser/apex/images -Dapex.erase -jar ./apex.war
   ```

1. 输入该程序提示的以下信息：
   + 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
   ```

1. 让 Oracle APEX Listener 保持运行，以便您可以使用 Oracle Application Express。完成此配置过程后，可在后台运行侦听器。

1. 从 Web 浏览器中转到 Oracle APEX Listener 程序提供的 URL。显示 Oracle Application Express Listener 管理窗口。输入以下信息：
   + **用户名** – `APEX_PUBLIC_USER`
   + **密码** – *APEX\$1PUBLIC\$1USER* 的密码。这是您先前配置 Oracle APEX 存储库时指定的密码。有关更多信息，请参阅 [解锁数据库实例上的公有用户账户](#Appendix.Oracle.Options.APEX.PublicUser)。
   + **连接类型** – 基本 
   + **主机名** – 您的 Amazon RDS 数据库实例的端点，例如 `mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com`。
   + **端口** – 1521
   + **SID** – Amazon RDS 实例上的数据库名称，例如，`mydb`​。

1. 选择 **Apply**。此时会显示 Oracle APEX 管理窗口。

1. 为 Oracle APEX `admin` 用户设置密码。为此，请使用 SQL\$1Plus 以主用户身份连接到数据库实例，然后运行以下命令。

   ```
   1. EXEC rdsadmin.rdsadmin_util.grant_apex_admin_role;
   2. grant APEX_ADMINISTRATOR_ROLE to master;
   3. @/home/apexuser/apex/apxchpwd.sql
   ```

   使用主用户名替换 `master`。在 `apxchpwd.sql` 脚本提示您时，输入新的 `admin` 密码。

1. 返回浏览器中的 Oracle APEX 管理窗口，然后选择**管理**。接下来选择 **Application Express Internal Administration**。在提示您输入凭证时，请输入以下信息：
   + **用户名** – `admin` 
   + **密码** – 使用 `apxchpwd.sql` 脚本设置的密码 

   选择 **Login**，然后设置 `admin` 用户的新密码。

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