RDS for Db2 参数 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

RDS for Db2 参数

RDS for Db2 支持通过参数组修改数据库管理器(实例级)参数和 Db2 注册表参数。数据库参数只能通过 rdsadmin.update_db_param 存储过程进行修改。

默认情况下,RDS for Db2 数据库实例使用特定于 Db2 数据库和数据库实例的数据库参数组。此参数组包含 IBM Db2 数据库引擎的参数。有关使用参数组和设置参数的信息,请参阅使用参数组

RDS for Db2 参数设置为您已选择的存储引擎的默认值。有关 Db2 参数的更多信息,请参阅 IBM Db2 文档中的 Db2 database configuration parameters

您可以使用 Amazon Web Services Management Console或 Amazon Command Line Interface(Amazon CLI)查看特定 Db2 版本可用的参数。有关在控制台中查看 Db2 参数组中参数的信息,请参阅查看数据库参数组的参数值

使用 Amazon CLI,您可以通过运行 describe-engine-default-parameters 命令查看 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}'

确定哪些参数是可修改的

要确定可以修改哪些数据库管理器、数据库和注册表参数,请运行以下命令。

  1. 连接到 Db2 数据库。在以下示例中,用您自己的信息替换 database_namemaster_usernamemaster_password

    db2 "connect to database_name user master_username using master_password"
  2. 查找支持的 Db2 版本。

    db2 "select service_level, fixpack_num from table(sysproc.env_get_inst_info()) as instanceinfo"
  3. 查看特定 Db2 版本的参数。

    • 查看数据库管理器配置参数。使用 Amazon Web Services Management Console或运行以下命令来检查附加到数据库实例的参数组:

      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"
    • 查看所有支持的注册表变量的列表。

      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,1)) order by reg_var_name,member with UR"

修改参数

您可以修改自定义参数组中的数据库管理器和注册表参数。首先创建自定义参数组,然后修改该自定义参数组中的参数。有关更多信息,请参阅使用数据库实例中的数据库参数组

要更改数据库参数,请运行以下命令。

  1. 连接到 rdsadmin 数据库。在以下示例中,用您的信息替换 master_usernamemaster_password

    db2 "connect to rdsadmin user master_username using master_password"
  2. 通过调用 rdsadmin.update_db_param 存储过程来更改数据库参数。有关更多信息,请参阅 rdsadmin.update_db_param

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