

# Oracle Enterprise Manager Database Express
<a name="Appendix.Oracle.Options.OEM_DBControl"></a>

Amazon RDS 可通过使用 OEM 选项支持 Oracle Enterprise Manager Database Express（EM Express）。Amazon RDS 支持使用 CDB 或非 CDB 架构的 EM Express for Oracle Database 19c。

EM Express 是数据库中包含的基于 Web 的数据库管理工具，仅在打开时才可用。该工具支持关键性能管理和基本数据库管理功能。有关更多信息，请参阅 Oracle 数据库文档中的 [Introduction to Oracle Enterprise Manager Database Express](https://docs.oracle.com/en/database/oracle/oracle-database/19/admqs/getting-started-with-database-administration.html#GUID-BA75AD46-D22E-4914-A31E-C395CD6A2BBA)。

**注意**  
db.t3.small 数据库实例类不支持 EM Express。有关数据库实例类的更多信息，请参阅[RDS for Oracle 数据库实例类](Oracle.Concepts.InstanceClasses.md)。

## OEM 选项设置
<a name="Appendix.Oracle.Options.OEM_DBControl.Options"></a>

Amazon RDS 支持 OEM 选项的以下设置。


****  

| 选项设置 | 有效值 | 描述 | 
| --- | --- | --- | 
| **端口** | 一个整数值 |  RDS for Oracle 数据库实例上负责侦听 EM Express 的端口。默认端口为 5500。  | 
| **安全组** | — |  对 **Port** 具有访问权限的安全组。  | 

## 步骤 1：添加 OEM 选项
<a name="Appendix.Oracle.Options.OEM_DBControl.Add"></a>

将 OEM 选项添加到数据库实例的一般过程如下所示：

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

1. 将 选项添加到该选项组。

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

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

**将 OEM 选项添加到数据库实例**

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

   1. 对于**引擎**，请选择适用于您的数据库实例的 Oracle 版本。

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

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

1. 将 OEM 选项添加到选项组中，然后配置选项设置。有关添加选项的更多信息，请参阅 [将选项添加到选项组](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption)。有关各项设置的更多信息，请参阅[OEM 选项设置](#Appendix.Oracle.Options.OEM_DBControl.Options)。
**注意**  
如果在已附加到一个或多个数据库实例的现有选项组中添加 OEM 选项，所有数据库实例自动重新启动时都会发生短暂中断。

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

**注意**  
您还可以使用 Amazon CLI 添加 OEM 选项。有关示例，请参阅 [将选项添加到选项组](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.AddOption)。

## 步骤 2：（仅限 CDB）解锁 DBSNMP 用户账户
<a name="Appendix.Oracle.Options.OEM_DBControl.DBSNMP"></a>

如果数据库实例使用 CDB 架构，您必须以 `DBSNMP` 身份登录 EM Express。在 CDB 中，`DBSNMP` 是普通用户。默认情况下，此账户处于锁定状态。如果数据库实例不使用 CDB 架构，请跳过此步骤。

**解锁 CDB 实例中的 DBSNMP 用户账户**

1. 在 SQL\$1Plus 或其他 Oracle SQL 应用程序中，以主用户身份登录到数据库实例。

1. 运行以下存储过程来解锁 `DBSNMP` 账户：

   ```
   1. EXEC rdsadmin.rdsadmin_util.reset_oem_agent_password('new_password');
   ```

   如果您收到错误消息，指出该过程不存在，请重启 CDB 实例来自动安装它。有关更多信息，请参阅 [重启数据库实例](USER_RebootInstance.md)。

## 步骤 3：通过浏览器访问 EM Express
<a name="Appendix.Oracle.Options.OEM_DBControl.Using"></a>

当您从 Web 浏览器访问 EM Express 时，将显示一个登录窗口，提示您输入用户名和密码。

**通过浏览器访问 EM Express**

1. 确定 Amazon RDS 数据库实例的端点和 EM Express 端口。有关查找 Amazon RDS 数据库实例的端点的信息，请参阅 [查找 RDS for Oracle 数据库实例的端点](USER_Endpoint.md)。

1. 使用以下格式在浏览器定位器栏中输入 URL。

   ```
   https://endpoint.rds.amazonaws.com:port/em
   ```

   例如，如果 Amazon RDS 数据库实例的端点为 `mydb.a1bcde234fgh.us-east-1.rds.amazonaws.com`，而 EM Express 端口为 `1158`，则使用以下 URL 访问 EM Express。

   ```
   1. https://mydb.f9rbfa893tft.us-east-1.rds.amazonaws.com:1158/em
   ```

1. 当系统提示您输入登录详细信息时，根据数据库架构，执行以下操作之一：  
**数据库为非 CDB。**  
键入数据库实例的主用户名和主密码。  
**数据库为 CDB。**  
对于用户输入 `DBSNMP`，并输入 `DBSNMP` 密码。将 `Container` 字段留空。

## 修改 OEM Database 设置
<a name="Appendix.Oracle.Options.OEM_DBControl.ModifySettings"></a>

启用 OEM Database 后，可以修改该选项的安全组设置。

将选项组与数据库实例相关联后，将无法修改 OEM 端口号。要更改数据库实例的 OEM 端口号，可执行以下操作：

1. 创建新的选项组。

1. 将具有新端口号的 OEM 选项添加到新选项组。

1. 删除数据库实例的现有选项组。

1. 将新选项组添加到数据库实例。

有关如何修改选项设置的更多信息，请参阅 [修改选项设置](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.ModifyOption)。有关各项设置的更多信息，请参阅[OEM 选项设置](#Appendix.Oracle.Options.OEM_DBControl.Options)。

## 运行 OEM Database Express 任务
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks"></a>

您可以使用 Amazon RDS 过程运行某些 OEM Database Express 任务。通过运行这些过程，您可以执行下面列出的任务。

**注意**  
OEM Database Express 任务异步运行。

**Topics**
+ [

### 将 OEM Database Express 的网站前端切换到 Adobe Flash
](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash)
+ [

### 将 OEM Database Express 的网站前端切换到 Oracle JET
](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET)

### 将 OEM Database Express 的网站前端切换到 Adobe Flash
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash"></a>

**注意**  
此任务仅适用于 Oracle Database 19c 非 CDB。

从 Oracle Database 19c 开始，Oracle 已弃用以前的 OEM Database Express 用户界面，该界面是基于 Adobe Flash 的。相反，OEM Database Express 现在使用通过 Oracle JET 构建的界面。如果您在使用新界面时遇到困难，可以切换回已弃用的基于 Flash 的界面。可能遇到的困难包括登录 OEM Database Express 后卡在 `Loading` 屏幕上。您可能还会失去基于 Flash 的 OEM Database Express 版本中存在的某些功能。

要将 OEM Database Express 网站前端切换到 Adobe Flash，请运行 Amazon RDS 过程 `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash`。该过程相当于 `execemx emx` SQL 命令。

安全最佳实践不鼓励使用 Adobe Flash。虽然您可以恢复到基于 Flash 的 OEM Database Express，但我们建议您尽可能使用基于 JET 的 OEM Database Express 网站。如果您恢复使用 Adobe Flash 并希望切换回使用 Oracle JET，请使用 `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet` 过程。Oracle 数据库升级后，较新版本的 Oracle JET 可能会解决 OEM Database Express 中与 JET 相关的问题。有关切换到 Oracle JET 的更多信息，请参阅[将 OEM Database Express 的网站前端切换到 Oracle JET](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET)。

**注意**  
从只读副本的源数据库实例运行此任务也会导致只读副本将其 OEM Database Express 网站前端切换到 Adobe Flash。

以下过程调用将创建一个任务，以将 OEM Database Express 网站切换到 Adobe Flash，并返回任务的 ID。

```
SELECT rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash() as TASK_ID from DUAL;
```

您可以通过显示任务的输出文件来查看结果。

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

将 *`task-id`* 替换为由此过程返回的任务 ID。有关 Amazon RDS 过程 `rdsadmin.rds_file_util.read_text_file` 的更多信息，请参阅[读取数据库实例目录中的文件](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles)。

您还可以通过在 **Logs & events (日志和事件)** 部分中搜索 Amazon Web Services 管理控制台 的相关日志条目，查看 `task-id` 中的任务输出文件的内容。

### 将 OEM Database Express 的网站前端切换到 Oracle JET
<a name="Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToOracleJET"></a>

**注意**  
此任务仅适用于 Oracle Database 19c 非 CDB。

要将 OEM Database Express 网站前端切换到 Oracle JET，请运行 Amazon RDS 过程 `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet`。该过程相当于 `execemx omx` SQL 命令。

默认情况下，运行 19c 或更高版本的 Oracle 数据库实例的 OEM Database Express 网站使用 Oracle JET。如果您使用了 `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_flash` 过程将 OEM Database Express 网站前端切换到 Adobe Flash，则可以切换回 Oracle JET。要执行此操作，请使用 `rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet` 过程。有关切换到 Adobe Flash 的更多信息，请参阅[将 OEM Database Express 的网站前端切换到 Adobe Flash](#Appendix.Oracle.Options.OEM_DBControl.DBTasks.FrontEndToFlash)。

**注意**  
从只读副本的源数据库实例运行此任务也会导致只读副本将其 OEM Database Express 网站前端切换到 Oracle JET。

以下过程调用将创建一个任务以将 OEM Database Express 网站切换到 Oracle JET，并返回任务的 ID。

```
SELECT rdsadmin.rdsadmin_oem_tasks.em_express_frontend_to_jet() as TASK_ID from DUAL;
```

您可以通过显示任务的输出文件来查看结果。

```
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-task-id.log'));
```

将 *`task-id`* 替换为由此过程返回的任务 ID。有关 Amazon RDS 过程 `rdsadmin.rds_file_util.read_text_file` 的更多信息，请参阅[读取数据库实例目录中的文件](Appendix.Oracle.CommonDBATasks.Misc.md#Appendix.Oracle.CommonDBATasks.ReadingFiles)。

您还可以通过在 **Logs & events (日志和事件)** 部分中搜索 Amazon Web Services 管理控制台 的相关日志条目，查看 `task-id` 中的任务输出文件的内容。

## 删除 OEM Database 选项
<a name="Appendix.Oracle.Options.OEM_DBControl.Remove"></a>

可以从数据库实例中删除 OEM 选项。如果删除 OEM 选项，实例在自动重新启动时会出现短暂中断。因此，在删除 OEM 选项后，不需要重新启动数据库实例。

要从数据库实例中删除 OEM 选项，请执行下列操作之一：
+ 从“OEM ”选项所属的选项组中删除该选项。此更改会影响使用该选项组的所有数据库实例。有关更多信息，请参阅“[从选项组中删除选项](USER_WorkingWithOptionGroups.md#USER_WorkingWithOptionGroups.RemoveOption)”。
+ 修改数据库实例，并指定不包含“OEM ”选项的另一个选项组。此更改会影响单个数据库实例。您可以指定默认 (空) 选项组，或指定其他自定义选项组。有关更多信息，请参阅“[修改 Amazon RDS 数据库实例](Overview.DBInstance.Modifying.md)”。