Amazon RDS for Db2 的已知问题和限制 - Amazon Relational Database Service

Amazon RDS for Db2 的已知问题和限制

下面各项是有关使用 Amazon RDS for Db2 的已知问题和限制:

身份验证限制

Amazon RDS 将 db2auth 默认设置为 JCC_ENFORCE_SECMEC。但是,如果您不想通过网络强制使用用户 ID 和密码加密,可以通过将参数组中的 CLEAR_TEXT 参数更改为 db2auth 来覆盖此设置。有关更多信息,请参阅 在 Amazon RDS 中修改数据库参数组中的参数

非防护例程

RDS for Db2 不支持创建非防护例程,也不支持通过备份和还原数据来迁移这些例程。要检查您的数据库是否包含任何非防护例程,请运行以下 SQL 命令:

SELECT 'COUNT:' || count(*) FROM SYSCAT.ROUTINES where fenced='N' and routineschema not in ('SQLJ','SYSCAT','SYSFUN','SYSIBM','SYSIBMADM','SYSPROC','SYSTOOLS')

迁移期间的非自动存储表空间

RDS for Db2 不支持创建新的非自动存储表空间。当您使用原生还原对数据库进行一次性迁移时,RDS for Db2 会自动将您的非自动存储表空间转换为自动存储表空间,然后将您的数据库还原到 RDS for Db2。有关一次性迁移的信息,请参阅针对 Amazon RDS for Db2 从 Linux 迁移到 Linux针对 Amazon RDS for Db2 从 AIX 或 Windows 迁移到 Linux

设置 db2_compatibility_vector 参数

使用 Amazon RDS,您可以在创建数据库实例时创建初始数据库,然后修改关联参数组中的参数。但是,对于 Db2,如果您要在参数组中设置 db2_compatibility_vector 参数,则必须先在自定义参数组中修改此参数,在没有数据库的情况下创建数据库实例,然后使用 rdsadmin.create_database 存储过程创建数据库。

设置 db2_compatibility_vector 参数
  1. 创建自定义参数组。(您无法修改默认参数组中的参数。)

  2. 修改参数

  3. 创建数据库实例

  4. 使用 rdsadmin.create_database 存储过程创建数据库

  5. 将参数组与包含数据库的数据库实例相关联

迁移包含无效包的数据库

如果您使用 RESTORE 命令,将包含 INVALID 包的 Db2 数据库迁移到 RDS for Db2,则在开始使用数据库时可能会遇到问题。由于数据库实例用户 rdsdb 的授权设置以及删除了从 PUBLIC 授权,INVALID 包可能会导致问题。INVALID 包会导致以下命令失败:

  • db2updv115

  • db2 "call SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"

在使用 RESTORE 命令迁移数据库之前,请运行以下命令来确保数据库中不包含 INVALID 包:

db2 "select count(*) from sysibm.sysroutines where valid = 'N'"

如果命令返回的计数大于零,则调用以下命令:

db2 "call SYSPROC.ADMIN_REVALIDATE_DB_OBJECTS()"

然后,调用前面的命令以确认您的数据库中不再包含 INVALID 包。

db2 "select count(*) from sysibm.sysroutines where valid = 'N'"

现在,您已做好准备,可以备份数据库并将其还原到 RDS for Db2 数据库实例。