

# 连接到 Db2 数据库实例
<a name="USER_ConnectToDb2DBInstance"></a>

在 Amazon RDS 预调配 Amazon RDS for Db2 数据库实例后，您可以使用任何标准 SQL 客户端应用程序连接到该数据库实例。由于 Amazon RDS 是一项托管式服务，因此您无法以 `SYSADM`、`SYSCTRL`、`SECADM` 或 `SYSMAINT` 身份登录。

您可以使用 IBM Db2 CLP、IBM CLPPlus、DBeaver 或 IBM Db2 Data Management Console 连接到运行 IBM Db2 数据库引擎的数据库实例。

**注意**  
如果您的 RDS for Db2 数据库实例内存不足，则与 Db2 数据库的连接可能会失败。有关更多信息，请参阅 [数据库连接错误](db2-troubleshooting.md#db2-database-connection-error)。

**Topics**
+ [查找 Amazon RDS for Db2 数据库实例的端点](db2-finding-instance-endpoint.md)
+ [使用 IBM Db2 CLP 连接到 Amazon RDS for Db2 数据库实例](db2-connecting-with-clp-client.md)
+ [使用 IBM CLPPlus 连接到 Amazon RDS for Db2 数据库实例](db2-connecting-with-ibm-clpplus-client.md)
+ [使用 DBeaver 连接到 Amazon RDS for Db2 数据库实例](db2-connecting-with-dbeaver.md)
+ [使用 IBM Db2 Data Management Console 连接到 Amazon RDS for Db2 数据库实例](db2-connecting-with-ibm-data-management-console.md)
+ [与 Amazon RDS for Db2 有关的安全组的注意事项](db2-security-groups-considerations.md)

# 查找 Amazon RDS for Db2 数据库实例的端点
<a name="db2-finding-instance-endpoint"></a>

每个 Amazon RDS 数据库实例都有一个终端节点，每个终端节点都包含数据库实例的 DNS 名称和端口号。要使用 SQL 客户端应用程序连接到 Amazon RDS for Db2 数据库实例，您需要该数据库实例的 DNS 名称和端口号。

可以使用 AWS 管理控制台或 AWS CLI 查找数据库实例的端点。

## 控制台
<a name="db2-finding-instance-endpoint-console"></a>

**查找 RDS for Db2 数据库实例的端点**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1.  在控制台的右上角，选择数据库实例的 AWS 区域。

1. 找到 RDS for Db2 数据库实例的 DNS 名称和端口号。

   1. 选择 **Databases (数据库)** 以显示您的数据库实例的列表。

   1. 选择 RDS for Db2 数据库实例名称以显示实例详细信息。

   1. 在**连接和安全性**选项卡上，复制端点。另请注意端口号。您需要端点和端口号才能连接到数据库实例。  
![\[数据库实例的连接和安全选项卡，显示了端点和端口。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/db2-connectivity-security.png)

## AWS CLI
<a name="db2-finding-instance-endpoint-cli"></a>

要查找 RDS for Db2 数据库实例的端点，请运行 [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) 命令。在以下示例中，将 *database-1* 替换为数据库实例的名称。

对于 Linux、macOS 或 Unix：

```
aws rds describe-db-instances \
    --db-instance-identifier database-1 \
    --query 'DBInstances[].{DBInstanceIdentifier:DBInstanceIdentifier,DBName:DBName,Endpoint:Endpoint}' \
    --output json
```

对于：Windows

```
aws rds describe-db-instances ^
    --db-instance-identifier database-1 ^
    --query 'DBInstances[].{DBInstanceIdentifier:DBInstanceIdentifier,DBName:DBName,Endpoint:Endpoint}' ^
    --output json
```

此命令生成类似于以下示例的输出。输出中的 `Address` 行包含 DNS 名称。

```
[
    {
        "DBInstanceIdentifier": "database-1",
        "DBName": "DB2DB",
        "Endpoint": {
            "Address": "database-1.123456789012.us-east-2.amazonaws.com",
            "Port": 50000,
            "HostedZoneId": "Z2OC4A7DETW6VH"
        }
    }
]
```

# 使用 IBM Db2 CLP 连接到 Amazon RDS for Db2 数据库实例
<a name="db2-connecting-with-clp-client"></a><a name="db2-downloading-package"></a>

您可以使用命令行实用程序（如 IBM Db2 CLP）连接到 Amazon RDS for Db2 数据库实例。此实用程序是 IBM Data Server Runtime Client 的一部分。要从 IBM Fix Central 中下载客户端****，请参阅 IBM 支持中的 [IBM Data Server Client Packages Version 11.5 Mod 8 Fix Pack 0](https://www.ibm.com/support/pages/node/6830885)。

**Topics**
+ [术语](#db2-connecting-ibm-clp-terms)
+ [安装客户端](#db2-connecting-ibm-clp-install-client)
+ [连接数据库实例](#db2-connecting-ibm-clp-connect-db-instance)
+ [排除与 RDS for Db2 数据库实例的连接故障](#db2-troubleshooting-connections-clp)

## 术语
<a name="db2-connecting-ibm-clp-terms"></a>

以下术语有助于解释[连接到 RDS for Db2 数据库实例](#db2-connecting-ibm-clp-connect-db-instance)时使用的命令。

**catalog tcpip node**  
此命令将远程数据库节点注册到本地 Db2 客户端，这样客户端应用程序就可以访问该节点。要对节点进行编目，您需要提供诸如服务器的主机名、端口号和通信协议之类的信息。然后，编目的节点表示一个或多个远程数据库所在的目标服务器。有关更多信息，请参阅 IBM Db2 文档中的 [CATALOG TCPIP/TCPIP4/TCPIP6 NODE 命令](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-tcpip-node)。

**catalog database**  
此命令将远程数据库注册到本地 Db2 客户端，这样客户端应用程序就可以访问该数据库。要对数据库进行编目，您需要提供诸如数据库别名、数据库所在的节点以及连接数据库所需的身份验证类型之类的信息。有关更多信息，请参阅 IBM Db2 文档中的 [CATALOG DATABASE 命令](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-database)。

## 安装客户端
<a name="db2-connecting-ibm-clp-install-client"></a>

[downloading the package for Linux](#db2-downloading-package)之后，使用根或管理员权限安装客户端。

**注意**  
要在 AIX 或 Windows 上安装客户端，请按照相同的步骤操作，但要修改适用于您的操作系统的命令。

**在 Linux 上安装客户端**

1. 运行 **`./db2_install -f sysreq`** 并选择 **`yes`** 以接受许可证。

1. 选择安装客户端的位置。

1. 运行 **`clientInstallDir/instance/db2icrt -s client` *instance\$1name***。将 *instance\$1name* 替换为 Linux 上有效的操作系统用户。在 Linux 中，Db2 数据库实例名称与操作系统的用户名相关联。

   此命令在 Linux 上指定用户的主目录中创建 **`sqllib`** 目录。

## 连接数据库实例
<a name="db2-connecting-ibm-clp-connect-db-instance"></a>

要连接到 RDS for Db2 数据库实例，您需要该实例的 DNS 名称和端口号。有关查找它们的信息，请参阅[查找终端节点](db2-finding-instance-endpoint.md)。您还需要知道您在创建 RDS for Db2 数据库实例时定义的数据库名称、主用户名和主密码。有关查找它们的更多信息，请参阅[创建数据库实例](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)。

**使用 IBM Db2 CLP 连接到 RDS for Db2 数据库实例**

1. 使用您在 IBM Db2 CLP 客户端安装期间指定的用户名登录。

1. 对 RDS for Db2 数据库实例进行编目。在以下示例中，将 *node\$1name*、*dns\$1name* 和 *port* 替换为本地目录中节点的名称、数据库实例的 DNS 名称以及端口号。

   ```
   1. db2 catalog TCPIP node node_name remote dns_name server port
   ```

   **示例**

   ```
   db2 catalog TCPIP node remnode remote database-1.123456789012.us-east-1.amazonaws.com server 50000
   ```

1. 对 `rdsadmin` 数据库和您的数据库进行编目。这将允许您连接到 `rdsadmin` 数据库以使用 Amazon RDS 存储过程执行一些管理任务。有关更多信息，请参阅 [管理您的 RDS for Db2 数据库实例](db2-administering-db-instance.md)。

   在以下示例中，将 *database\$1alias*、*node\$1name* 和 *database\$1name* 替换为该数据库的别名、在上一步中定义的节点的名称以及数据库的名称。`server_encrypt` 通过网络加密您的用户名和密码。

   ```
   db2 catalog database rdsadmin [ as database_alias ] at node node_name authentication server_encrypt
       
   db2 catalog database database_name [ as database_alias ] at node node_name authentication server_encrypt
   ```

   **示例**

   ```
   db2 catalog database rdsadmin at node remnode authentication server_encrypt
       
   db2 catalog database testdb as rdsdb2 at node remnode authentication server_encrypt
   ```

1. 连接到您的 RDS for Db2 数据库。在以下示例中，将 *rds\$1database\$1alias*、*master\$1username* 和 *master\$1password* 替换为 RDS for Db2 数据库实例的数据库名称、主用户名和主密码。

   ```
   db2 connect to rds_database_alias user master_username using master_password
   ```

   此命令生成类似于以下示例的输出：

   ```
   Database Connection Information
       
       Database server        = DB2/LINUXX8664 11.5.9.0
       SQL authorization ID   = ADMIN
       Local database alias   = TESTDB
   ```

1. 运行查询并查看结果。以下示例显示了一条 SQL 语句，该语句选择了您创建的数据库。

   ```
   db2 "select current server from sysibm.dual"
   ```

   此命令生成类似于以下示例的输出：

   ```
   1
       ------------------
       TESTDB
       
       1 record(s) selected.
   ```

## 排除与 RDS for Db2 数据库实例的连接故障
<a name="db2-troubleshooting-connections-clp"></a>

如果您收到以下 `NULLID` 错误，则通常表示您的客户端和 RDS for Db2 服务器版本不匹配。有关支持的 Db2 客户端版本，请参阅 IBM Db2 文档中的 [Supported combinations of clients, drivers and server levels](https://www.ibm.com/docs/en/db2/11.5?topic=communications-supported-combinations-clients-drivers-server-levels)。

```
db2 "select * from syscat.tables"
SQL0805N Package "NULLID.SQLC2O29 0X4141414141454A69" was not found.
SQLSTATE=51002
```

收到此错误后，必须将旧版 Db2 客户端中的软件包绑定到 RDS for Db2 支持的 Db2 服务器版本。

**将旧版 Db2 客户端中的软件包绑定到较新的 Db2 服务器**

1. 在客户端计算机上找到绑定文件。通常，这些文件位于 Db2 客户端安装路径的 **bnd** 目录中，扩展名为 **.bnd**。

1. 连接到 Db2 服务器。在以下示例中，将 *database\$1name* 替换为 Db2 服务器的名称。用您的信息替换 *master\$1username* 和 *master\$1password*。此用户拥有 `DBADM` 权限。

   ```
   db2 connect to database_name user master_username using master_password
   ```

1. 运行 `bind` 命令以绑定这些软件包。

   1. 导航到客户端计算机上存在绑定文件的目录。

   1. 对每个文件运行 `bind` 命令。

      以下选项为必填：
      + `blocking all` – 在单个数据库请求中绑定该绑定文件中的所有软件包。
      + `grant public` – 授予 `public` 执行软件包的权限。
      + `sqlerror continue` – 指定即使发生错误，`bind` 过程仍会继续。

      有关 `bind` 命令的更多信息，请参阅 IBM Db2 文档中的 [BIND 命令](https://www.ibm.com/docs/en/db2/11.5?topic=commands-bind)。

1. 通过查询 `syscat.package` 目录视图或检查 `bind` 命令后返回的消息，验证绑定是否成功。

有关更多信息，请参阅 IBM 支持中的 [DB2 v11.5 Bind File and Package Name List](https://www.ibm.com/support/pages/node/6190455)。

# 使用 IBM CLPPlus 连接到 Amazon RDS for Db2 数据库实例
<a name="db2-connecting-with-ibm-clpplus-client"></a>

您可以使用诸如 IBM CLPPlus 之类的实用程序连接到 Amazon RDS for Db2 数据库实例。此实用程序是 IBM Data Server Runtime Client 的一部分。要从 IBM Fix Central 中下载客户端****，请参阅 IBM 支持中的 [IBM Data Server Client Packages Version 11.5 Mod 8 Fix Pack 0](https://www.ibm.com/support/pages/node/6830885)。

**重要**  
我们建议您在支持图形用户界面以及桌面的操作系统上运行 IBM CLPPlus，例如 macOS、Windows 或 Linux。如果运行无头 Linux，请将开关 **-nw** 与 CLPPlus 命令结合使用。

**Topics**
+ [安装客户端](#db2-connecting-ibm-clpplus-install-client)
+ [连接数据库实例](#db2-connecting-ibm-clpplus-connect-db-instance)
+ [从 DB2 存储过程检索 CLOB 数据](#db2-connecting-ibm-clpplus-retrieve-clob-data)

## 安装客户端
<a name="db2-connecting-ibm-clpplus-install-client"></a>

下载 Linux 的软件包后，安装客户端。

**注意**  
要在 AIX 或 Windows 上安装客户端，请按照相同的步骤操作，但要修改适用于您的操作系统的命令。

**在 Linux 上安装客户端**

1. 运行 **`./db2_install`**。

1. 运行 **`clientInstallDir/instance/db2icrt -s client` *instance\$1name***。将 *instance\$1name* 替换为 Linux 上有效的操作系统用户。在 Linux 中，Db2 数据库实例名称与操作系统的用户名相关联。

   此命令在 Linux 上指定用户的主目录中创建 **`sqllib`** 目录。

## 连接数据库实例
<a name="db2-connecting-ibm-clpplus-connect-db-instance"></a>

要连接到 RDS for Db2 数据库实例，您需要该实例的 DNS 名称和端口号。有关查找它们的信息，请参阅[查找终端节点](db2-finding-instance-endpoint.md)。您还需要知道您在创建 RDS for Db2 数据库实例时定义的数据库名称、主用户名和主密码。有关查找它们的更多信息，请参阅[创建数据库实例](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)。

**使用 IBM CLPPlus 连接到 RDS for Db2 数据库实例**

1. 查看命令语法。在以下示例中，将 *clientDir* 替换为安装客户端的位置。

   ```
   cd clientDir/bin
       ./clpplus -h
   ```

1. 配置您的 Db2 服务器。在以下示例中，将 *dsn\$1name*、*database\$1name*、*endpoint* 和 *port* 替换为 RDS for Db2 数据库实例的 DSN 名称、数据库名称、端点和端口。有关更多信息，请参阅 [查找 Amazon RDS for Db2 数据库实例的端点](db2-finding-instance-endpoint.md)。

   ```
   db2cli writecfg add -dsn dsn_name -database database_name -host endpoint -port port -parameter "Authentication=SERVER_ENCRYPT"
   ```

1. 连接到 RDS for Db2 数据库实例。在以下示例中，将 *master\$1username* 和 *dsn\$1name* 替换为主用户名和 DSN 名称。

   ```
   ./clpplus -nw master_username@dsn_name
   ```

1. 此时会打开一个 Java Shell 窗口。输入 RDS for Db2 数据库实例的主密码。
**注意**  
如果 Java Shell 窗口未打开，请运行 `./clpplus -nw` 以使用相同的命令行窗口。

   ```
   Enter password: *********
   ```

   此时会建立连接并生成类似于以下示例的输出：

   ```
   Database Connection Information :
   ---------------------------------
   Hostname = database-1.abcdefghij.us-east-1.rds.amazonaws.com
   Database server = DB2/LINUXX8664  SQL110590
   SQL authorization ID = admin
   Local database alias = DB2DB
   Port = 50000
   ```

1. 运行查询并查看结果。以下示例显示了一条 SQL 语句，该语句选择了您创建的数据库。

   ```
   SQL > select current server from sysibm.dual;
   ```

   此命令生成类似于以下示例的输出：

   ```
   1
       --------------------
       DB2DB
       SQL>
   ```

## 从 DB2 存储过程检索 CLOB 数据
<a name="db2-connecting-ibm-clpplus-retrieve-clob-data"></a>

像 rdsadmin.db2pd\$1command 这样的存储过程以 CLOB 列返回结果，这些列最多支持 2 GB 的数据。但是，DB2 CLP 将 CLOB 输出限制为 8 KB（8192 字节），同时截断任何超过此阈值的数据。要检索完整的输出，请改用 CLPPLUS。

1. 获取任务 ID（task\$1id） 

   ```
   db2 "select task_id, task_type, database_name, lifecycle, varchar(bson_to_json(task_input_params), 500) as task_params,
   cast(task_output as varchar(500)) as task_output, CREATED_AT, LAST_UPDATED_AT from table(rdsadmin.get_task_status(null,null,null))"
   ```

1. 执行 CLPPLUS 命令

   获取 task\$1id 后，从 Unix 提示符处执行以下命令（将 TASK\$1ID 替换为实际的数字任务 ID）：

   ```
   $ (echo "select task_output from table(rdsadmin.get_task_status(task_id,null,null));" ; echo "disconnect;" ; echo "exit;") | clpplus -nw -silent masteruser/MasterUserPassword@hostname:port_num/rdsadmin
   ```

# 使用 DBeaver 连接到 Amazon RDS for Db2 数据库实例
<a name="db2-connecting-with-dbeaver"></a>

您可以使用第三方工具（例如 DBeaver）连接到 Amazon RDS for Db2 数据库实例。要下载此实用程序，请参阅 [DBeaver 社区](https://dbeaver.io/)。

要连接到 RDS for Db2 数据库实例，您需要该实例的 DNS 名称和端口号。有关查找它们的信息，请参阅[查找终端节点](db2-finding-instance-endpoint.md)。您还需要知道您在创建 RDS for Db2 数据库实例时定义的数据库名称、主用户名和主密码。有关查找它们的更多信息，请参阅[创建数据库实例](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)。

**使用 DBeaver 连接到 RDS for Db2 数据库实例**

1. 启动 **DBeaver**。

1. 在工具栏中选择**新建连接**图标，然后选择 **Db2 for LUW**。  
![\[DBeaver 中列出引擎类型的菜单。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/dbeaver-add-connection.png)

1. 在**连接到数据库**窗口中，提供 RDS for Db2 数据库实例的信息。

   1.  输入以下信息：
      + 对于**主机**，输入数据库实例的 DNS 名称。
      + 对于**端口**，输入数据库实例的端口号。
      + 对于**数据库**，输入数据库的名称。
      + 对于 **Username (用户名)**，输入数据库实例的数据库管理员的名称。
      + 对于**密码**，输入数据库实例的数据库管理员的密码。

   1. 选择**保存密码**。

   1. 选择**驱动程序设置**。  
![\[DBeaver 中的连接到数据库窗口，其中填充了各种连接设置。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/dbeaver-connect-database.png)

1. 在**编辑驱动程序**窗口中，指定其它安全属性。

   1. 选择**驱动程序属性**选项卡。

   1. 添加两个**用户属性**。

      1. 打开上下文（右键单击）菜单，然后选择**添加新属性**。

      1. 对于**属性名称**，添加 **encryptionAlgorithm**，然后选择**确定**。

      1. 选择 **encryptionAlgorithm** 行后，选择**值**列并添加 **2**。

      1. 打开上下文（右键单击）菜单，然后选择**添加新属性**。

      1. 对于**属性名称**，添加 **securityMechanism**，然后选择**确定**。

      1. 选择 **securityMechanism** 行后，选择**值**列并添加 **7**。

   1. 选择**确定**。  
![\[DBeaver 中编辑驱动程序窗口的驱动程序属性选项卡。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/dbeaver-driver-properties-tab.png)

1. 在**连接到数据库**窗口中，选择**测试连接**。如果您的计算机上没有安装 DB2 JBDC 驱动程序，则该驱动程序会自动下载。

1. 选择**确定**。

1. 选择**结束**。

1. 在**数据库导航**选项卡中，选择数据库的名称。您现在可以探索对象。

您现在可以运行 SQL 命令了。

**运行 SQL 命令并查看结果**

1. 在顶部菜单中，选择 **SQL**。这将打开 SQL 脚本面板。

1. 在**脚本**面板中，输入 SQL 命令。

1. 要运行该命令，请选择**执行 SQL 查询**按钮。

1. 在 SQL 结果面板中，查看 SQL 查询的结果。  
![\[显示如何在 DBeaver 中运行 SQL 命令并查看结果的窗口。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/dbeaver-sql-run-example.png)

# 使用 IBM Db2 Data Management Console 连接到 Amazon RDS for Db2 数据库实例
<a name="db2-connecting-with-ibm-data-management-console"></a>

您可以使用 IBM Db2 Data Management Console 连接到 Amazon RDS for Db2 数据库实例。IBM Db2 Data Management Console 可以管理和监控多个 RDS for Db2 数据库实例。

**注意**  
您拥有的 Amazon EC2 Linux 或 Windows 计算机必须与 RDS for Db2 数据库实例位于同一 VPC 和安全组上。VPC 和安全组通过内部网络控制与数据库实例的连接。

IBM Db2 Data Management Console 需要存储库 Db2 数据库来存储元数据和性能指标，但无法自动为 RDS for Db2 创建存储库数据库。相反，必须先创建一个存储库数据库来监控一个或多个 RDS for Db2 数据库实例。然后，可以安装 IBM Db2 Data Management Console 并使用 IBM Db2 Data Management Console 连接到 RDS for Db2 数据库实例。

**Topics**
+ [步骤 1：创建存储库数据库来监控数据库实例](#db2-creating-repo-db-monitoring-dmc)
+ [步骤 2：安装和设置 IBM Db2 Data Management Console](#db2-install-setup-dmc)
+ [步骤 3：配置存储库数据库并连接到 RDS for Db2 数据库实例](#db2-connecting-db-instances-with-dmc)
+ [使用 IBM Db2 Data Management Console](#db2-using-dmc)

## 步骤 1：创建存储库数据库来监控数据库实例
<a name="db2-creating-repo-db-monitoring-dmc"></a>

您可以使用现有大小合适的 RDS for Db2 数据库实例作为 IBM Db2 Data Management Console 的存储库，以监控其它 RDS for Db2 数据库实例。但是，由于管理员用户没有创建缓冲池和表空间的 `SYSCTRL` 权限，因此，使用 IBM Db2 Data Management Console 存储库创建操作来创建存储库数据库会失败。相反，必须创建一个存储库数据库。此存储库数据库监控 RDS for Db2 数据库实例。

可以通过两种不同的方式创建存储库数据库。可以创建 RDS for Db2 数据库，然后手动创建缓冲池、用户表空间和系统临时表空间。或者，可以创建一个单独的 Amazon EC2 实例来托管 IBM Db2 Data Management Console 存储库数据库。

**Topics**
+ [手动创建缓冲池、用户表空间和系统临时表空间](#db2-manually-creating-dmc)
+ [创建 Amazon EC2 实例来托管 IBM Db2 Data Management Console 存储库](#db2-creating-ec2-dmc)

### 手动创建缓冲池、用户表空间和系统临时表空间
<a name="db2-manually-creating-dmc"></a>

**创建缓冲池、用户表空间和系统临时表空间**

1. 连接到 `rdsadmin` 数据库。在以下示例中，用您自己的信息替换 *master\$1username* 和 *master\$1password*。

   ```
   db2 connect to rdsadmin user master_username using master_password  
   ```

1. 为 IBM Db2 Data Management Console 创建缓冲池。在以下示例中，将 *database\$1name* 替换为您为 IBM Db2 Data Management Console 创建的用于监控 RDS for Db2 数据库实例的存储库名称。

   ```
   db2 "call rdsadmin.create_bufferpool('database_name', 
        'BP4CONSOLE', 1000, 'Y', 'Y', 32768)"
   ```

1. 为 IBM Db2 Data Management Console 创建用户表空间。在以下示例中，将 *database\$1name* 替换为您为 IBM Db2 Data Management Console 创建的用于监控 RDS for Db2 数据库实例的存储库名称。

   ```
   db2 "call rdsadmin.create_tablespace('database_name', 
        'TS4CONSOLE', 'BP4CONSOLE', 32768)"
   ```

1. 为 IBM Db2 Data Management Console 创建系统临时表空间。在以下示例中，将 *database\$1name* 替换为您为 IBM Db2 Data Management Console 创建的用于监控 RDS for Db2 数据库实例的存储库名称。

   ```
   db2 "call rdsadmin.create_tablespace('database_name',
       'TS4CONSOLE_TEMP', 'BP4CONSOLE', 32768, 0, 0, 'S')"
   ```

现在您已准备就绪，可以安装 IBM Db2 Data Management Console 了。有关设置和安装的更多信息，请参阅[步骤 2：安装和设置 IBM Db2 Data Management Console](#db2-install-setup-dmc)。

### 创建 Amazon EC2 实例来托管 IBM Db2 Data Management Console 存储库
<a name="db2-creating-ec2-dmc"></a>

您可以创建 Amazon Elastic Compute Cloud（Amazon EC2）实例来托管 IBM Db2 Data Management Console 存储库。有关创建 Amazon EC2 实例的信息，请参阅《Amazon EC2 用户指南》**中的[教程：Amazon EC2 Linux 实例入门](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html)。

## 步骤 2：安装和设置 IBM Db2 Data Management Console
<a name="db2-install-setup-dmc"></a>

创建缓冲池、用户表空间和系统临时表空间后，您已准备就绪，可以安装和设置 IBM Db2 Data Management Console 了。

**重要**  
您拥有的 Amazon EC2 Linux 或 Windows 计算机必须与 RDS for Db2 数据库实例位于同一 VPC 和安全组上。VPC 和安全组通过内部网络控制与数据库实例的连接。此外，您必须已经为 IBM Db2 Data Management Console [创建了存储库数据库](#db2-creating-repo-db-monitoring-dmc)。

**安装和设置 IBM Db2 Data Management Console**

1. 在 IBM 支持网站上，从 [IBM Db2 Data Management Console Version 3.1x releases](https://www.ibm.com/support/pages/ibm-db2-data-management-console-version-31x-releases-new-features-and-enhancements) 下载 IBM Db2 Data Management Console。

1. 安装 IBM Db2 Data Management Console。

1. 打开 IBM Db2 Data Management Console，并使用 Amazon EC2 计算机的 IP 地址，以及用于与 Amazon EC2 实例进行 HTTP 或 HTTPS 连接的端口号。例如，使用 `http://xx.xx.xx.xx:11080` 或 `https://xx.xx.xx.xx.11081`。将 `xx.xx.xx.xx` 替换为 Amazon EC2 计算机的 IP 地址。`11080` 和 `11081` 是用于 HTTP 和 HTTPS 连接的默认端口。

1. （可选）如果您想在 Amazon EC2 实例上使用端口 80 或 443，可以使用 Apache httpd 或 Nginx HTTP 服务器将 IBM Db2 Data Management Console 端口代理到端口 80 或 443。有关更多信息，请参阅 [Apache HTTP Server Project](https://httpd.apache.org) 和 [the nginx website](https://nginx.org/en/)。

   要支持连接到 IBM Db2 Data Management Console，必须编辑安全组中的入站规则。如果您使用代理，请更改 TCP/IP 端口 80 或 443 以重定向到 IBM Db2 Data Management Console 端口。如果您未使用代理，请将 TCP/IP 端口 80 或 443 更改为默认端口 11080（HTTP）或 11081（HTTPS）。

现在，您已准备就绪，可以登录 IBM Db2 Data Management Console 来配置存储库数据库并连接到 RDS for Db2 数据库实例。有关更多信息，请参阅 [配置存储库数据库并连接到数据库实例](#db2-connecting-db-instances-with-dmc)。

## 步骤 3：配置存储库数据库并连接到 RDS for Db2 数据库实例
<a name="db2-connecting-db-instances-with-dmc"></a>

当您首次连接到存储库数据库时，IBM Db2 Data Management Console 会自动配置存储库。配置存储库数据库后，可以向 IBM Db2 Data Management Console 添加数据库连接。

要连接到 RDS for Db2 数据库实例，您需要该实例的 DNS 名称和端口号。有关查找它们的信息，请参阅[查找终端节点](db2-finding-instance-endpoint.md)。您还需要知道您在创建 RDS for Db2 数据库实例时定义的数据库名称、主用户名和主密码。有关查找它们的更多信息，请参阅[创建数据库实例](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)。如果您通过互联网进行连接，请允许流量进入数据库端口。有关更多信息，请参阅 [创建数据库实例](USER_CreateDBInstance.md#USER_CreateDBInstance.Creating)。

**使用 IBM Db2 Data Management Console 连接到 RDS for Db2 数据库实例**

1. 使用您在安装期间设置的凭证登录 IBM Db2 Data Management Console。

1. 配置存储库。

   1. 在**连接和数据库**部分，输入您的 RDS for Db2 数据库实例的以下信息：
      + 对于**主机**，输入数据库实例的 DNS 名称。
      + 对于**端口**，输入数据库实例的端口号。
      + 对于**数据库**，输入数据库的名称。  
![\[IBM Db2 Data Management Console 中的连接和数据库部分，具有主机、端口和数据库字段。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/ibm-dmc-connection-database.png)

   1. 在**安全和凭证**部分，输入您的 RDS for Db2 数据库实例的以下信息：
      + 对于**安全类型**，选择**加密的用户和密码**。
      + 对于 **Username (用户名)**，输入数据库实例的数据库管理员的名称。
      + 对于**密码**，输入数据库实例的数据库管理员的密码。

   1. 选择 **Test connection (测试连接)**。
**注意**  
如果连接不成功，请通过安全组中的入站规则确认数据库端口处于打开状态。有关更多信息，请参阅 [与 Amazon RDS for Db2 有关的安全组的注意事项](db2-security-groups-considerations.md)。

      如果您没有在 RDS for Db2 中[手动创建缓冲池、用户表空间和系统临时表空间](#db2-manually-creating-dmc)，则可能会看到以下错误消息：  
![\[有关无权执行操作的错误消息。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/ibm-dmc-error-message.png)

      确保为 IBM Db2 Data Management Console 存储库创建了缓冲区表、表空间和对象，以监控 RDS for Db2 数据库实例。或者，可以使用 Amazon EC2 Db2 数据库实例来托管 IBM Db2 Data Management Console 存储库，以监控 RDS for Db2 数据库实例。有关更多信息，请参阅 [步骤 1：创建存储库数据库来监控数据库实例](#db2-creating-repo-db-monitoring-dmc)。

   1. 成功测试连接后，选择**下一步**。  
![\[IBM Db2 Data Management Console 中的安全和凭证部分。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/ibm-dmc-security-credential.png)

   如果 IBM Db2 Data Management Console 在 RDS for Db2 数据库实例中找到了缓冲池、用户表空间和系统临时表空间，则 IBM Db2 Data Management Console 会自动配置存储库数据库。如果您将 Amazon EC2 实例上的 Db2 实例用作存储库数据库，则 IBM Db2 Data Management Console 会自动创建缓冲池和其它对象。

1. 在**设置统计数据事件监视器选择加入**窗口中，选择**下一步**。

1. （可选）添加新连接。如果您想使用不同的 RDS for Db2 数据库实例进行管理和监控，请添加与非存储库 RDS for Db2 数据库实例的连接。

   1. 在**连接和数据库**部分，输入用于进行管理和监控的 RDS for Db2 数据库实例的以下信息：
      + 对于**连接名称**，输入 Db2 数据库标识符。
      + 对于**主机**，输入数据库实例的 DNS 名称。
      + 对于**端口**，输入数据库实例的端口号。
      + 对于**数据库**，输入数据库的名称。  
![\[IBM Db2 Data Management Console 中新连接的连接和数据库部分，具有主机、端口和数据库字段。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/ibm-dmc-new-connection-database.png)

   1. 在**安全和凭证******部分，选择**启用监控数据收集**。

   1. 输入 RDS for Db2 数据库实例的以下信息：
      + 对于 **Username (用户名)**，输入数据库实例的数据库管理员的名称。
      + 对于**密码**，输入数据库实例的数据库管理员的密码。

   1. 选择 **Test connection (测试连接)**。

   1. 成功测试连接后，选择**保存**。  
![\[IBM Db2 Data Management Console 中新连接的安全和凭证部分。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/ibm-dmc-new-security-credential.png)

   添加连接后，将出现一个类似于以下内容的窗口。此窗口表示您的数据库已成功配置。  
![\[此窗口表示已成功在 IBM Db2 Data Management Console 中配置您的数据库。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/ibm-dmc-configuration-success.png)

1. 选择**转到数据库**。将显示类似以下内容的“数据库”窗口。此窗口是一个显示指标、状态和连接的控制面板。  
![\[IBM Db2 Data Management Console 中的数据库概述窗口。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/ibm-dmc-database-view.png)

现在您就可以开始使用 IBM Db2 Data Management Console。

## 使用 IBM Db2 Data Management Console
<a name="db2-using-dmc"></a>

可以使用 IBM Db2 Data Management Console 执行以下类型的任务：
+ 管理多个 RDS for Db2 数据库实例。
+ 运行 SQL 命令。
+ 浏览、创建或更改数据和数据库对象。
+ 在 SQL 中创建 `EXPLAIN PLAN` 语句。
+ 优化查询。

**运行 SQL 命令并查看结果**

1. 在左侧导航栏中，选择 **SQL**。

1. 输入 SQL 命令。

1. 选择**全部运行**。

1. 要查看结果，请选择**结果**选项卡。

![\[数据库窗口，显示如何在 IBM Db2 Data Management Console 中运行 SQL 命令并查看结果。\]](http://docs.aws.amazon.com/zh_cn/AmazonRDS/latest/UserGuide/images/ibm-dmc-sql-run-example.png)


# 与 Amazon RDS for Db2 有关的安全组的注意事项
<a name="db2-security-groups-considerations"></a>

要连接到 Amazon RDS for Db2 数据库实例，它必须与包含必要的 IP 地址和网络配置的安全组关联。您的 RDS for Db2 数据库实例可能使用默认安全组。如果在创建 RDS for Db2 数据库实例时分配了默认的未配置安全组，则防火墙将阻止互联网连接。有关创建新安全组的信息，请参阅 [使用安全组控制访问权限](Overview.RDSSecurityGroups.md)。

在创建新安全组后，您应修改数据库实例以使其与该安全组关联。有关更多信息，请参阅“[修改 Amazon RDS 数据库实例](Overview.DBInstance.Modifying.md)”。

可通过使用 SSL 加密与数据库实例的连接来增强安全性。有关更多信息，请参阅 [对 Amazon RDS for Db2 数据库实例使用 SSL/TLS](Db2.Concepts.SSL.md)。