

# Amazon RDS for Db2 参数
<a name="db2-supported-parameters"></a>

Amazon RDS for Db2 使用三种类型的参数：数据库管理器配置参数、注册表变量和数据库配置参数。可以通过参数组管理前两种类型，并通过 [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param) 存储过程管理最后一种类型。

默认情况下，RDS for Db2 数据库实例使用特定于 Db2 数据库和数据库实例的数据库参数组。此参数组包含 IBM Db2 数据库引擎的参数，特别是数据库管理器配置参数和注册表变量。有关使用参数的更多信息，请参阅[Amazon RDS 的参数组](USER_WorkingWithParamGroups.md)。

RDS for Db2 数据库配置参数设置为您已选择的存储引擎的默认值。有关 Db2 参数的更多信息，请参阅 IBM Db2 文档中的 [Db2 database configuration parameters](https://www.ibm.com/docs/en/db2/11.5?topic=parameters-database-configuration)。

**Topics**
+ [查看参数组中的参数](#db2-viewing-parameter-group-parameters)
+ [使用 Db2 命令查看所有参数](#db2-viewing-parameters-db2-commands)
+ [修改参数组中的参数](#db2-modifying-parameter-group-parameters)
+ [使用 Db2 命令修改数据库配置参数](#db2-modifying-parameters-db2-commands)

## 查看参数组中的参数
<a name="db2-viewing-parameter-group-parameters"></a>

数据库管理器配置参数和注册表变量在参数组中设置。可以通过使用 AWS 管理控制台、AWS CLI 或 RDS API，来查看特定 Db2 版本的数据库管理器配置参数和注册表变量。

### 控制台
<a name="db2-viewing-parameter-group-parameters-console"></a>

**查看数据库参数组的参数值**

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

1. 在导航窗格中，选择**参数组**。

   数据库参数组将显示在列表中。

1. 选择参数组名称以查看其参数列表。

### AWS CLI
<a name="db2-viewing-parameter-group-parameters-cli"></a>

可以通过运行 [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-engine-default-parameters.html) 命令，来查看 Db2 版本的数据库管理器配置参数和注册表变量。为 `--db-parameter-group-family` 选项指定下列值之一：
+ `db2-ae-11.5`
+ `db2-se-11.5`

例如，要查看 Db2 Standard Edition 11.5 的参数，请运行以下命令：

```
aws rds describe-engine-default-parameters --db-parameter-group-family db2-se-11.5
```

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



```
{
    "EngineDefaults": {
        "Parameters": [
            {
                "ParameterName": "agent_stack_sz",
                "ParameterValue": "1024",
                "Description": "You can use this parameter to determine the amount of memory that is allocated by Db2 for each agent thread stack.",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "integer",
                "AllowedValues": "256-32768",
                "IsModifiable": false
            },
            {
                "ParameterName": "agentpri",
                "ParameterValue": "-1",
                "Description": "This parameter controls the priority given to all agents and to other database manager instance processes and threads by the operating system scheduler. This priority determines how CPU time is allocated to the database manager processes, agents, and threads relative to other processes and threads running on the machine.",
                "Source": "engine-default",
                "ApplyType": "static",
                "DataType": "integer",
                "AllowedValues": "1-99",
                "IsModifiable": false
            },
            ...
        ]
    }
}
```

要仅列出 Db2 Standard Edition 11.5 的可修改参数，请运行以下命令：

对于 Linux、macOS 或 Unix：

```
aws rds describe-engine-default-parameters \
    --db-parameter-group-family db2-se-11.5 \
    --query 'EngineDefaults.Parameters[?IsModifiable==`true`].{ParameterName:ParameterName, DefaultValue:ParameterValue}'
```

对于：Windows

```
aws rds describe-engine-default-parameters ^
    --db-parameter-group-family db2-se-11.5 ^
    --query 'EngineDefaults.Parameters[?IsModifiable==`true`].{ParameterName:ParameterName, DefaultValue:ParameterValue}'
```

### RDS API
<a name="db2-viewing-parameter-group-parameters-api"></a>

要查看数据库参数组的参数值，可执行带下列必需参数的 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html) 操作。
+ `DBParameterGroupName`

## 使用 Db2 命令查看所有参数
<a name="db2-viewing-parameters-db2-commands"></a>

可以通过使用 Db2 命令来查看数据库管理器配置参数、数据库配置参数和注册表变量的设置。

**查看设置**

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

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

1. 查找支持的 Db2 版本。

   ```
   db2 "select service_level, fixpack_num from table(sysproc.env_get_inst_info()) as instanceinfo"
   ```

1. 查看特定 Db2 版本的参数。
   + 通过运行以下命令，来查看数据库管理器配置参数：

     ```
     db2 "select cast(substr(name,1,24) as varchar(24)) as name, case 
         when value_flags = 'NONE' then '' else value_flags end flags, 
         cast(substr(value,1,64) as varchar(64)) as current_value
         from sysibmadm.dbmcfg
         order by name asc with UR"
     ```
   + 通过运行以下命令，来查看所有数据库配置参数：

     ```
     db2 "select cast(substr(name,1,24) as varchar(24)) as name, case 
         when value_flags = 'NONE' then '' else value_flags end flags, 
         cast(substr(value,1,64) as varchar(64)) as current_value 
         from table(db_get_cfg(null)) order by name asc, member asc with UR"
     ```
   + 通过运行以下命令，来查看当前设置的注册表变量：

     ```
     db2 "select cast(substr(reg_var_name,1,50) as varchar(50)) as reg_var_name, 
         cast(substr(reg_var_value,1,50) as varchar(50)) as reg_var_value, 
         level from table(env_get_reg_variables(null)) 
         order by reg_var_name,member with UR"
     ```

## 修改参数组中的参数
<a name="db2-modifying-parameter-group-parameters"></a>

可以通过使用 AWS 管理控制台、AWS CLI 或 RDS API，来修改自定义参数组中的数据库管理器配置参数和注册表变量。有关更多信息，请参阅 [Amazon RDS 数据库实例的数据库参数组](USER_WorkingWithDBInstanceParamGroups.md)。

### 控制台
<a name="db2-modifying-parameter-group-parameters-console"></a>

**修改数据库管理器配置参数和注册表变量**

1. 创建自定义参数组。有关创建数据库参数组的详细信息，请参阅 [在 Amazon RDS 中创建数据库参数组](USER_WorkingWithParamGroups.Creating.md)。

1. 修改该自定义参数组中的参数。有关修改参数组的更多信息，请参阅[在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)。

### AWS CLI
<a name="db2-modifying-parameter-group-parameters-cli"></a>

**修改数据库管理器配置参数和注册表变量**

1. 通过运行 [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html) 命令创建自定义参数组。

   包括以下必需选项：
   + `--db-parameter-group-name` - 您正在创建的参数组的名称。
   + `--db-parameter-group-family` – Db2 引擎版本和主要版本。有效值：`db2-se-11.5`、`db2-ae-11.5`。
   + `--description` – 此参数组的描述。

   有关创建数据库参数组的详细信息，请参阅 [在 Amazon RDS 中创建数据库参数组](USER_WorkingWithParamGroups.Creating.md)。

1. 通过运行 [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) 命令修改您创建的自定义参数组中的参数。

   包括以下必需选项：
   + `--db-parameter-group-name` – 您创建的参数组的名称。
   + `--parameters` – 参数名称、值和参数更新应用方法的数组。

   有关修改参数组的更多信息，请参阅[在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)。

### RDS API
<a name="db2-modifying-parameter-group-parameters-api"></a>

**修改数据库管理器配置参数和注册表变量**

1. 使用 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html) 操作创建自定义数据库参数组。

   包括以下必需参数：
   + `DBParameterGroupName`
   + `DBParameterGroupFamily`
   + `Description`

   有关创建数据库参数组的详细信息，请参阅 [在 Amazon RDS 中创建数据库参数组](USER_WorkingWithParamGroups.Creating.md)。

1. 使用 [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html) 操作修改您创建的自定义参数组中的参数。

   包括以下必需参数：
   + `DBParameterGroupName`
   + `Parameters`

   有关修改参数组的更多信息，请参阅[在 Amazon RDS 中修改数据库参数组中的参数](USER_WorkingWithParamGroups.Modifying.md)。

## 使用 Db2 命令修改数据库配置参数
<a name="db2-modifying-parameters-db2-commands"></a>

可以使用 Db2 命令修改数据库配置参数。

**修改数据库配置参数**

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

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

1. 通过调用 `rdsadmin.update_db_param` 存储过程来更改数据库配置参数。有关更多信息，请参阅 [rdsadmin.update\$1db\$1param](db2-sp-managing-databases.md#db2-sp-update-db-param)。

   ```
   db2 "call rdsadmin.update_db_param(
       'database_name', 
       'parameter_to_modify', 
       'changed_value',
       'restart_database')"
   ```