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

用于管理 RDS for Db2 数据库的存储过程

本主题中介绍的内置存储过程可管理 Amazon RDS for Db2 数据库。要运行这些过程,主用户必须先连接到 rdsadmin 数据库。

这些存储过程可用于执行各种任务。此列表并不详尽。

请参阅以下内置存储过程,了解其语法、参数、用法说明和示例。

rdsadmin.create_database

创建一个数据库。

语法

db2 "call rdsadmin.create_database('database_name')"

参数

注意

此存储过程不验证所需参数的组合。当您调用 rdsadmin.get_task_status 时,由于 database_codesetdatabase_territorydatabase_collation 的组合无效,用户定义函数可能会返回错误。有关更多信息,请参阅 IBM Db2 文档中的 Choosing the code page, territory, and collation for your database

以下参数是必需参数:

database_name

要创建的数据库的名称。数据类型为 varchar

以下参数可选:

database_page_size

数据库的默认页面大小。有效值:409681921638432768。数据类型为 integer。默认值为 8192

重要

Amazon RDS 支持 4KiB、8KiB 和 16KiB 页面的写入原子性。相比之下,32KiB 页面可能面临写入数据受到损坏 或部分数据写入桌面的风险。如果使用 32KiB 页面,我们建议启用时间点故障恢复和自动备份。否则,您将面临无法从损坏的页面中恢复的风险。有关更多信息,请参阅备份简介将 Amazon RDS 的数据库实例还原到指定时间

database_code_set

数据库的代码集。数据类型为 varchar。默认值为 UTF-8

database_territory

数据库的两个字母的国家/地区代码。数据类型为 varchar。默认值为 US

database_collation

排序规则序列,用于确定如何对存储在数据库中的字符串进行排序和比较。数据类型为 varchar

有效值:

  • COMPATIBILITY – IBM Db2 版本 2 排序规则序列。

  • EBCDIC_819_037 – ISO 拉丁语代码页,排序规则;CCSID 037(EBCDIC 美国英语)。

  • EBCDIC_819_500 – ISO 拉丁语代码页,排序规则;CCSID 500(EBCDIC 国际)。

  • EBCDIC_850_037 – ASCII 拉丁语代码页,排序规则;CCSID 037(EBCDIC 美国英语)。

  • EBCDIC_850_500 – ASCII 拉丁语代码页,排序规则;CCSID 500(EBCDIC 国际)。

  • EBCDIC_932_5026 – ASCII 日语代码页,排序规则;CCSID 037(EBCDIC 美国英语)。

  • EBCDIC_932_5035 – ASCII 日语代码页,排序规则;CCSID 500(EBCDIC 国际)。

  • EBCDIC_1252_037 – Windows 拉丁语代码页,排序规则;CCSID 037(EBCDIC 美国英语)。

  • EBCDIC_1252_500 – Windows 拉丁语代码页,排序规则;CCSID 500(EBCDIC 国际)。

  • IDENTITY – 默认排序规则。对字符串进行逐字节比较。

  • IDENTITY_16BIT – UTF-16 的兼容性编码方案:8 位(CESU-8)排序规则序列。有关更多信息,请参阅 Unicode Consortium 网站上的 Unicode Technical Report #26

  • NLSCHAR – 仅适用于泰语代码页(CP874)。

  • SYSTEM – 如果您使用 SYSTEM,则数据库会自动将排序规则序列用于 database_codesetdatabase_territory

默认值为 IDENTITY

此外,RDS for Db2 还支持以下排序规则组:language-aware-collationlocale-sensitive-collation。有关更多信息,请参阅 IBM Db2 文档中的 Choosing a collation for a Unicode database

database_autoconfigure_str

AUTOCONFIGURE 命令语法,例如 'AUTOCONFIGURE APPLY DB'。数据类型为 varchar。默认值是空字符串或 Null。

有关更多信息,请参阅 IBM Db2 文档中的 AUTOCONFIGURE 命令

使用说明

如果您打算修改 db2_compatibility_vector 参数,请在创建数据库之前进行修改。有关更多信息,请参阅 设置 db2_compatibility_vector 参数

特殊注意事项:

  • 发送到 Db2 实例的 CREATE DATABASE 命令使用 RESTRICTIVE 选项。

  • RDS for Db2 仅使用 AUTOMATIC STORAGE 表空间。

  • RDS for Db2 使用 NUMSEGSDFT_EXTENT_SZ 的默认值。

  • RDS for Db2 使用存储加密,但不支持数据库加密。

有关这些注意事项的更多信息,请参阅 IBM Db2 文档中的 CREATE DATABASE command

在调用 rdsadmin.create_database 之前,必须连接到 rdsadmin 数据库。在以下示例中,将 master_usernamemaster_password 替换为 RDS for Db2 数据库实例信息:

db2 connect to rdsadmin user master_username using master_password

有关检查创建数据库的状态的信息,请参阅rdsadmin.get_task_status

要查看调用 rdsadmin.create_database 时返回的错误消息,请参阅排查存储过程中的错误

示例

以下示例创建一个名为 TESTJP 的数据库,该数据库具有适用于日本的 database_code_setdatabase_territorydatabase_collation 参数的正确组合:

db2 "call rdsadmin.create_database('TESTJP', 4096, 'IBM-437', 'JP', 'SYSTEM')"

rdsadmin.deactivate_database

停用数据库。

语法

db2 "call rdsadmin.deactivate_database( ?, 'database_name')"

参数

以下输出参数是必需参数:

?

输出错误消息的参数标记。此参数仅接受 ?

以下输入参数是必需参数:

database_name

要停用的数据库的名称。数据类型为 varchar

使用说明

您可以停用数据库以节省内存资源或进行其它数据库配置更改。要使已停用的数据库恢复联机,请调用 rdsadmin.activate_database 存储过程。

有关如何检查数据库停用状态的信息,请参阅rdsadmin.get_task_status

要查看调用 rdsadmin.deactivate_database 时返回的错误消息,请参阅排查存储过程中的错误

示例

以下示例停用名为 TESTDB 的数据库。

db2 "call rdsadmin.deactivate_database(?, 'TESTDB')"

rdsadmin.activate_database

激活数据库。

有关 rdsadmin.reactivate_databaserdsadmin.activate_database 的差异的更多信息,请参阅 使用说明

语法

db2 "call rdsadmin.activate_database( ?, 'database_name')"

参数

以下输出参数是必需参数:

?

输出错误消息的参数标记。此参数仅接受 ?

以下输入参数是必需参数:

database_name

要激活的数据库的名称。数据类型为 varchar

使用说明

默认情况下,所有数据库在创建后都处于激活状态。如果停用独立数据库实例上的数据库以节省内存资源或进行其它数据库配置更改,请调用 rdsadmin.activate_database 存储过程以再次激活数据库。

有关如何检查数据库激活状态的信息,请参阅rdsadmin.get_task_status

要查看调用 rdsadmin.activate_database 时返回的错误消息,请参阅排查存储过程中的错误

示例

以下示例激活名为 TESTDB 的数据库。

db2 "call rdsadmin.activate_database(?, 'TESTDB')"

rdsadmin.reactivate_database

重新激活数据库。

有关 rdsadmin.activate_databaserdsadmin.reactivate_database 之间差异的更多信息,请参阅使用说明

语法

db2 "call rdsadmin.reactivate_database( ?, 'database_name')"

参数

以下输出参数是必需参数:

?

输出错误消息的参数标记。此参数仅接受 ?

以下输入参数是必需参数:

database_name

要重新激活的数据库的名称。数据类型为 varchar

使用说明

调用 rdsadmin.reactivate_database 存储过程时,该存储过程首先通过调用 rdsadmin.deactivate_database 存储过程来停用数据库,然后通过调用 rdsadmin.activate_database 存储过程来激活数据库。

更改数据库配置后,您可能需要在 RDS for Db2 数据库实例上重新激活数据库。要确定是否需要重新激活数据库,请连接到该数据库并运行 db2 get db cfg show detail

对于独立数据库实例上的数据库,您可以使用 rdsadmin.reactivate_database 存储过程来重新激活该数据库。或者,如果您已经调用了 rdsadmin.deactivate_database 存储过程,则可以改为调用 rdsadmin.activate_database 存储过程。

有关检查重新激活数据库的状态的信息,请参阅 rdsadmin.get_task_status

要查看调用 rdsadmin.reactivate_database 时返回的错误消息,请参阅排查存储过程中的错误

示例

以下示例重新激活名为 TESTDB 的数据库。

db2 "call rdsadmin.reactivate_database(?, 'TESTDB')"

rdsadmin.drop_database

删除数据库。

语法

db2 "call rdsadmin.drop_database('database_name')"

参数

以下参数是必需参数:

database_name

要删除的数据库的名称。数据类型为 varchar

使用说明

仅当满足以下条件时,才可以通过调用 rdsadmin.drop_database 来删除数据库:

  • 您在使用 Amazon RDS 控制台或 Amazon CLI 创建 RDS for Db2 数据库实例时未指定数据库的名称。有关更多信息,请参阅 创建数据库实例

  • 您通过调用 rdsadmin.create_database 存储过程创建了数据库。

  • 您通过调用 rdsadmin.restore_database 存储过程从脱机或备份的映像中还原了数据库。

在调用 rdsadmin.drop_database 之前,必须连接到 rdsadmin 数据库。在以下示例中,将 master_usernamemaster_password 替换为 RDS for Db2 数据库实例信息:

db2 connect to rdsadmin user master_username using master_password

有关如何检查数据库删除状态的信息,请参阅rdsadmin.get_task_status

要查看调用 rdsadmin.drop_database 时返回的错误消息,请参阅排查存储过程中的错误

示例

以下示例删除名为 TESTDB 的数据库:

db2 "call rdsadmin.drop_database('TESTDB')"

rdsadmin.update_db_param

更新数据库参数。

语法

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

参数

以下参数为必需参数:

database_name

要运行其任务的数据库的名称。数据类型为 varchar

parameter_to_modify

要修改的参数的名称。数据类型为 varchar。有关更多信息,请参阅 Amazon RDS for Db2 参数

changed_value

要将参数值更改为的值。数据类型为 varchar

使用说明

有关如何检查数据库参数更新状态的信息,请参阅rdsadmin.get_task_status

要查看调用 rdsadmin.update_db_param 时返回的错误消息,请参阅排查存储过程中的错误

示例

示例 1:更新参数

以下示例将名为 TESTDB 的数据库的 archretrydelay 参数更新为 100

db2 "call rdsadmin.update_db_param( 'TESTDB', 'archretrydelay', '100')"

示例 2:延迟对象验证

以下示例推迟了对在名为 TESTDB 的数据库上创建的对象的验证,以避免依赖性检查:

db2 "call rdsadmin.update_db_param( 'TESTDB', 'auto_reval', 'deferred_force')"

rdsadmin.set_configuration

配置数据库的特定设置。

语法

db2 "call rdsadmin.set_configuration( 'name', 'value')"

参数

以下参数为必需参数:

name

配置设置的名称。数据类型为 varchar

配置设置的值。数据类型为 varchar

使用说明

下表显示了您可以使用 rdsadmin.set_configuration 控制的配置设置。

名称 描述

RESTORE_DATABASE_NUM_BUFFERS

还原操作期间要创建的缓冲区数量。此值必须小于数据库实例类的总内存大小。如果未配置此设置,则 Db2 会确定在还原操作期间要使用的值。有关更多信息,请参阅 IBM Db2 文档

RESTORE_DATABASE_PARALLELISM

在还原操作期间要创建的缓冲区操纵器的数量。此值必须小于数据库实例的 vCPU 数量的两倍。如果未配置此设置,则 Db2 会确定在还原操作期间要使用的值。有关更多信息,请参阅 IBM Db2 文档

示例

示例 1:指定要创建的缓冲区操纵符的数量

以下示例将 RESTORE_DATABASE_PARALLELISM 配置设置为 8

db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_PARALLELISM', '8')"

示例 2:指定要创建的缓冲区数量

以下示例将 RESTORE_DATABASE_NUM_BUFFERS 配置设置为 150

db2 "call rdsadmin.set_configuration( 'RESTORE_DATABASE_NUM_BUFFERS', '150')"

rdsadmin.show_configuration

返回可使用存储过程 rdsadmin.set_configuration 进行设置的当前设置。

语法

db2 "call rdsadmin.show_configuration( 'name')"

参数

以下参数为可选参数:

name

要返回其相关信息的配置设置的名称。数据类型为 varchar

以下配置名称有效:

  • RESTORE_DATABASE_NUM_BUFFERS – 在还原操作期间要创建的缓冲区数量。

  • RESTORE_DATABASE_PARALLELISM – 在还原操作期间要创建的缓冲区操纵器的数量。

使用说明

如果您未指定配置设置的名称,则 rdsadmin.show_configuration 返回您可以使用存储过程 rdsadmin.set_configuration 进行设置的所有配置设置的信息。

示例

以下示例返回有关当前 RESTORE_DATABASE_PARALLELISM 配置的信息。

db2 "call rdsadmin.show_configuration( 'RESTORE_DATABASE_PARALLELISM')"

rdsadmin.restore_database

从 Amazon S3 存储桶还原到 RDS for Db2 数据库实例。

语法

db2 "call rdsadmin.restore_database( ?, 'database_name', 's3_bucket_name', 's3_prefix', restore_timestamp, 'backup_type')"

参数

以下输出参数是必需参数:

?

输出错误消息的参数标记。此参数仅接受 ?

以下输入参数是必需参数:

database_name

要在 RDS for Db2 中恢复的目标数据库的名称。数据类型为 varchar

例如,如果源数据库名称为 TESTDB,而您将 database_name 设置为 NEWDB,则 Amazon RDS 将恢复 NEWDB 作为源数据库。

s3_bucket_name

备份所在的 Amazon S3 存储桶的名称。数据类型为 varchar

s3_prefix

下载期间用于文件匹配的前缀。数据类型为 varchar

如果此参数为空,则将下载 Amazon S3 存储桶中的所有文件。以下是示例前缀:

backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101
restore_timestamp

数据库备份映像的时间戳。数据类型为 varchar

时间戳包含在备份文件名中。例如,20230615010101 是文件名 SAMPLE.0.rdsdb.DBPART000.20230615010101.001 的时间戳。

backup_type

备份的类型。数据类型为 varchar。有效值:OFFLINEONLINE

使用 ONLINE 进行停机时间接近零的迁移。有关更多信息,请参阅 针对 Amazon RDS for Db2 从 Linux 迁移到 Linux,停机时间接近零

使用说明

您可以使用此存储过程将 Db2 数据库迁移到 RDS for Db2 数据库实例。有关更多信息,请参阅 使用 Amazon 服务将数据从 Db2 迁移到 Amazon RDS for Db2。您也可以使用此存储过程创建同一数据库的多个副本但使用不同的数据库名称,这些副本使用相同的还原映像。

在调用存储过程之前,请查看以下注意事项:

  • 在还原数据库之前,您必须为 RDS for Db2 数据库实例预调配存储空间,其大小等于或大于磁盘上备份和原始 Db2 数据库的大小之和。有关更多信息,请参阅 Insufficient disk space

  • 还原备份时,Amazon RDS 会在您的 RDS for Db2 数据库实例上提取备份文件。每个备份文件不得超过 5TB。如果备份文件超过 5 TB,则必须将备份文件拆分为较小的文件。

  • 要使用 rdsadmin.restore_database 存储过程还原所有文件,请勿在文件名中的时间戳后加上文件号后缀。例如,s3_prefix backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101 还原以下文件:

    SAMPLE.0.rdsdb.DBPART000.20230615010101.001 SAMPLE.0.rdsdb.DBPART000.20230615010101.002 SAMPLE.0.rdsdb.DBPART000.20230615010101.003 SAMPLE.0.rdsdb.DBPART000.20230615010101.004 SAMPLE.0.rdsdb.DBPART000.20230615010101.005
  • RDS for Db2 不支持非自动存储。有关更多信息,请参阅 Tablespaces not restored

  • RDS for Db2 不支持非防护例程。有关更多信息,请参阅 Non-fenced routines not allowed

  • 要提高数据库还原操作的性能,您可以配置供 RDS 使用的缓冲区和缓冲区操纵器的数量。要检查当前配置,请使用 rdsadmin.show_configuration。要更改配置,请使用 rdsadmin.set_configuration

要在还原数据库后使数据库联机并应用其他事务日志,请参阅rdsadmin.rollforward_database

要了解数据库的还原状态,请参阅rdsadmin.get_task_status

要查看调用 rdsadmin.restore_database 时返回的错误消息,请参阅排查存储过程中的错误

示例

以下示例使用带有 s3_prefix backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101 的单个文件或多个文件还原脱机备份:

db2 "call rdsadmin.restore_database( ?, 'SAMPLE', 'amzn-s3-demo-bucket', 'backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101', 20230615010101, 'OFFLINE')"

rdsadmin.rollforward_database

通过调用 rdsadmin.restore_database 还原数据库后,使数据库联机并应用其他事务日志。

语法

db2 "call rdsadmin.rollforward_database( ?, 'database_name', 's3_bucket_name', s3_prefix, 'rollforward_to_option', 'complete_rollforward')"

参数

以下输出参数是必需参数:

?

输出错误消息的参数标记。此参数仅接受 ?

以下输入参数是必需参数:

database_name

要对其执行操作的数据库的名称。数据类型为 varchar

s3_bucket_name

备份所在的 Amazon S3 存储桶的名称。数据类型为 varchar

s3_prefix

下载期间用于文件匹配的前缀。数据类型为 varchar

如果此参数为空,则将下载 S3 存储桶中的所有文件。以下示例是示例前缀:

backupfolder/SAMPLE.0.rdsdb.DBPART000.20230615010101

以下输入参数为可选参数:

rollforward_to_option

您想要向前滚动到的点。数据类型为 varchar。有效值:END_OF_LOGSEND_OF_BACKUP。默认值为 END OF LOGS

complete_rollforward

指定是否完成向前滚动过程。数据类型为 varchar。默认值为 TRUE

如果为 TRUE,则在完成后,数据库处于联机状态并且可以访问。如果为 FALSE,则数据库将保持 ROLL-FORWARD PENDING 状态。

使用说明

调用 rdsadmin.restore_database 后,必须调用 rollforward_database 以应用来自 S3 存储桶的归档日志。您还可以在调用 rdsadmin.restore_database 后使用此存储过程来还原其他事务日志。

如果将 complete_rollforward 设置为 FALSE,则您的数据库处于 ROLL-FORWARD PENDING 状态并处于脱机状态。要使数据库联机,您必须调用 rdsadmin.complete_rollforward

有关如何检查数据库向前滚动状态的信息,请参阅rdsadmin.get_task_status

示例

示例 1:使包含事务日志的数据库联机

以下示例向前滚动到包含事务日志的数据库的联机备份,然后使数据库联机:

db2 "call rdsadmin.rollforward_database( ?, null, null, 'END_OF_LOGS', 'TRUE')"

示例 2:使不包含事务日志的数据库联机

以下示例向前滚动到不包含事务日志的数据库的联机备份,然后使数据库联机:

db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'amzn-s3-demo-bucket', 'logsfolder/, 'END_OF_BACKUP', 'TRUE')"

示例 3:不让包含事务日志的数据库联机

以下示例向前滚动到包含事务日志的数据库的联机备份,但不会使数据库联机:

db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', null, 'onlinebackup/TESTDB', 'END_OF_LOGS', 'FALSE')"

示例 4:不让包含其他事务日志的数据库联机

以下示例向前滚动到包含其他事务日志的数据库的联机备份,但不会使数据库联机:

db2 "call rdsadmin.rollforward_database( ?, 'TESTDB', 'amzn-s3-demo-bucket', 'logsfolder/S0000155.LOG', 'END_OF_LOGS', 'FALSE')"

rdsadmin.complete_rollforward

ROLL-FORWARD PENDING 状态使数据库联机。

语法

db2 "call rdsadmin.complete_rollforward( ?, 'database_name')"

参数

以下输出参数是必需参数:

?

输出错误消息的参数标记。此参数仅接受 ?

以下输入参数是必需参数:

database_name

要实现联机的数据库的名称。数据类型为 varchar

使用说明

如果您在 complete_rollforward 设置为 FALSE 的情况下调用了 rdsadmin.rollforward_database,则您的数据库处于 ROLL-FORWARD PENDING 状态并处于脱机状态。要完成向前滚动过程并使数据库联机,请调用 rdsadmin.complete_rollforward

有关检查完成向前滚动过程的状态的信息,请参阅rdsadmin.get_task_status

示例

以下示例使 TESTDB 数据库联机:

db2 "call rdsadmin.complete_rollforward( ?, 'TESTDB')"

rdsadmin.db2pd_command

收集有关 RDS for Db2 数据库的信息。

语法

db2 "call rdsadmin.db2pd_command('db2pd_cmd')"

参数

以下输入参数是必需参数:

db2pd_cmd

要运行的 db2pd 命令的名称。数据类型为 varchar

参数必须以连字符开头。有关参数列表,请参阅 IBM Db2 文档中的 db2pd - Monitor and troubleshoot Db2 database command

不支持以下选项:

  • -addnode

  • -alldatabases

  • -alldbp

  • -alldbs

  • -allmembers

  • -alm_in_memory

  • -cfinfo

  • -cfpool

  • -command

  • -dbpartitionnum

  • -debug

  • -dump

  • -everything

  • -file | -o

  • -ha

  • -interactive

  • -member

  • -pages

    注意

    支持-pages summary

  • -pdcollection

  • -repeat

  • -stack

  • -totalmem

不支持 file 子选项,例如 db2pd -db testdb -tcbstats file=tcbstat.out

不支持使用 stacks 选项,如 db2pd -edus interval=5 top=10 stacks

使用说明

此存储过程收集的信息有助于监控 RDS for Db2 数据库并对其进行故障排除。

该存储过程使用 IBM db2pd 实用程序运行各种命令。db2pd 实用程序需要 SYSADM 授权,而 RDS for Db2 主用户却没有此授权。但是,使用 Amazon RDS 存储过程,主用户可以使用该实用程序运行各种命令。有关该实用程序的更多信息,请参阅 IBM Db2 文档中的 db2pd - Monitor and troubleshoot Db2 database command

输出限制为最大 2 GB。

有关检查收集关于数据库的信息的状态的信息,请参阅 rdsadmin.get_task_status

示例

示例 1:返回数据库实例的正常运行时间

以下示例返回 RDS for Db2 数据库实例的正常运行时间:

db2 "call rdsadmin.db2pd_command('-')"

示例 2:返回数据库的正常运行时间

以下示例返回名为 TESTDB 的数据库的正常运行时间:

db2 "call rdsadmin.db2pd_command('-db TESTDB -')"

示例 3:返回数据库实例的内存使用情况

以下示例返回 RDS for Db2 数据库实例的内存使用情况:

db2 "call rdsadmin.db2pd_command('-dbptnmem')"

示例 4:返回数据库实例和数据库的内存集

以下示例返回 RDS for Db2 数据库实例和名为 TESTDB 的数据库的内存集:

db2 "call rdsadmin.db2pd_command('-inst -db TESTDB -memsets')"

rdsadmin.force_application

强制应用程序退出 RDS for Db2 数据库。

语法

db2 "call rdsadmin.force_application( ?, 'applications')"

参数

以下输出参数是必需参数:

?

输出错误消息的参数标记。此参数仅接受 ?

以下输入参数是必需参数:

applications

您要强制退出 RDS for Db2 数据库的应用程序。数据类型为 varchar。有效值:ALLapplication_handle

用逗号分隔多个应用程序的名称。示例:“application_handle_1, application_handle_2”。

使用说明

此存储过程会强制所有应用程序退出数据库,以便您可以执行维护。

此存储过程使用 IBM FORCE APPLICATION 命令。FORCE APPLICATION 命令需要 SYSADMSYSMAINTSYSCTRL 授权,而 RDS for Db2 主用户却没有此类授权。但是,使用 Amazon RDS 存储过程,主用户可以使用该命令。有关更多信息,请参阅 IBM Db2 文档中的 FORCE APPLICATION command

有关检查强制应用程序退出数据库的状态的信息,请参阅 rdsadmin.get_task_status

示例

示例 1:指定所有应用程序

以下示例强制所有应用程序退出 RDS for Db2 数据库:

db2 "call rdsadmin.force_application( ?, 'ALL')"

示例 2:指定多个应用程序

以下示例强制应用程序句柄 999188911192 退出 RDS for Db2 数据库:

db2 "call rdsadmin.force_application( ?, '9991, 8891, 1192')"

rdsadmin.set_archive_log_retention

配置为指定的 RDS for Db2 数据库保留归档日志文件的时间量(以小时为单位)。

语法

db2 "call rdsadmin.set_archive_log_retention( ?, 'database_name', 'archive_log_retention_hours')"

参数

以下输出参数是必需参数:

?

输出错误消息的参数标记。此参数仅接受 ?

以下输入参数是必需参数:

database_name

要配置其归档日志保留期的数据库的名称。数据类型为 varchar

archive_log_retention_hours

要保留归档日志文件的小时数。数据类型为 smallint。默认值为 0,最大值为 168(7 天)。

如果值为 0,则 Amazon RDS 不会保留归档日志文件。

使用说明

默认情况下,RDS for Db2 会将日志保留 5 分钟。如果您使用诸如 Amazon DMS [用于进行更改数据捕获(CDC)] 或 IBM Q Replication 之类的复制工具,建议您在这些工具中将日志保留期设置为 5 分钟以上。

您可以通过调用 rdsadmin.show_archive_log_retention 来查看当前的归档日志保留期设置。

您无法在 rdsadmin 数据库上配置归档日志保留期设置。

示例

示例 1:设置保留时间

以下示例将名为 TESTDB 的数据库的归档日志保留时间设置为 24 小时。

db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '24')"

示例 2:禁用保留时间

以下示例禁用名为 TESTDB 的数据库的归档日志保留期。

db2 "call rdsadmin.set_archive_log_retention( ?, 'TESTDB', '0')"

rdsadmin.show_archive_log_retention

返回指定数据库的当前归档日志保留期设置。

语法

db2 "call rdsadmin.show_archive_log_retention( ?, 'database_name')"

参数

以下输出参数是必需参数:

?

输出错误消息的参数标记。此参数仅接受 ?

以下输入参数是必需参数:

database_name

要显示其归档日志保留期设置的数据库的名称。数据类型为 varchar

示例

以下示例显示名为 TESTDB 的数据库的归档日志保留期设置。

db2 "call rdsadmin.show_archive_log_retention( ? 'TESTDB')"

rdsadmin.list_archive_log_information

返回有关归档日志文件的详细信息,例如指定数据库的各个日志文件的大小、创建日期和时间以及名称。它还返回数据库中日志文件使用的总存储量。

语法

db2 "call rdsadmin.list_archive_log_information( ?, 'database_name')"

参数

以下输出参数是必需参数:

?

输出错误消息的参数标记。此参数仅接受 ?

以下输入参数是必需参数:

database_name

要列出其归档日志信息的数据库的名称。数据类型为 varchar

示例

以下示例返回名为 TESTDB 的数据库的归档日志信息。

db2 "call rdsadmin.list_archive_log_information( ? 'TESTDB')"