Amazon RDS Custom for Oracle 的已知问题
使用 RDS Custom for Oracle 时,请注意数据库实例存在的以下问题。
-
不支持调整根卷或 dbbin 卷的大小。
警告
强烈建议您不要手动调整根卷或 dbbin 卷的大小。建议您将所有配置存储在修补后仍然存在的数据卷中,并且仅使用 RDS 扩展存储 API 调整卷的大小。
-
当数据库实例位于较旧的 AMI(比如使用 Oracle Linux 7 的 AMI)上时,某些 RDS API 可能会被阻止。要解决此问题,请使用操作系统修补功能将数据库实例修补到最新的 AMI。有关更多信息,请参阅 CEV 升级选项。
-
在执行 RDS 操作之前,请确保您的 Amazon Web Services 账户中有足够的计算和存储配额。
-
如果数据库处于创建状态,并且您主动登录该数据库或 Amazon EC2 主机并运行命令,则数据库创建可能无法完成。
-
由于只读副本问题,目前不支持控制文件多路复用。在创建只读副本之前,请确保在源数据库上的
CONTROL_FILES
初始化参数中仅指定一个文件名。 -
您无法将数据库模式从
PHYSICAL STANDBY
(已装载或只读)更改为SNAPSHOT STANDBY
(转换为读/写)。 -
如果 Amazon Web Services 账户是具有服务控制策略(SCP)的 Amazon Organization 的一部分,并且 SCP 包含条件键,则可能无法创建 RDS Custom for Oracle 数据库实例,并会显示以下错误:
You can't create the DB instance because of incompatible resources. The IAM instance profile role [AWSRDSCustomInstanceRole1-us-east-1] is missing the following permissions: EFFECT [Allow] on ACTION(S) [ssm:DescribeAssociation, ssm:DescribeDocument, ssm:GetConnectionStatus, ssm:GetDeployablePatchSnapshotForInstance, ssmmessages:OpenControlChannel, ssm:GetParameters, ssm:ListInstanceAssociations, ssm:PutConfigurePackageResult, ssmmessages:CreateControlChannel, ssm:GetParameter, ssm:UpdateAssociationStatus, ssm:GetManifest, ssmmessages:CreateDataChannel, ssm:PutInventory, ssm:UpdateInstanceInformation, ssm:DescribeInstanceInformation, ssmmessages:OpenDataChannel, ssm:GetDocument, ssm:ListAssociations, ssm:PutComplianceItems, ssm:UpdateInstanceAssociationStatus] for RESOURCE(S) [], EFFECT [Allow] on ACTION(S) [ec2messages:DeleteMessage, ec2messages:FailMessage, ec2messages:GetEndpoint, ec2messages:AcknowledgeMessage, ec2messages:GetMessages, ec2messages:SendReply] for RESOURCE(S) [], EFFECT [Allow] on ACTION(S) [logs:CreateLogStream, logs:DescribeLogStreams, logs:PutRetentionPolicy, logs:PutLogEvents]
要解决此问题,请向 Amazon Web Services 支持 创建支持工单。
数据库用户帐户存在的已知问题
请注意以下问题:
-
不要删除以字符串
RDS
开头的数据库用户账户,例如RDSADMIN
和RDS_DATAGUARD
。RDS Custom for Oracle 使用RDS
账户执行自动化操作。如果删除此用户帐户,RDS Custom 会将实例移至不受支持的配置状态。 -
不能使用
ModifyDBInstance
API 更改 RDS Custom for Oracle 数据库实例的主用户名。 -
RDS Custom for Oracle 会轮换所有数据库实例的用户账户凭证。有关更多信息,请参阅 轮换 RDS Custom for Oracle 凭证以遵循合规性计划。如果使用本地主/备用配置,则凭证轮换可能会影响以下资源:
-
手动创建的备用 RDS Custom for Oracle 实例
要解决此问题,请删除手动创建的备用数据库,然后使用 API 调用创建 Oracle 只读副本。手动管理手动创建的备用数据库的密钥,使其与源数据库实例相匹配。
-
手动创建的跨区域只读副本
要解决此问题,请手动保存密钥,使其与主数据库实例相匹配。
-
参数和配置文件存在的已知问题
-
在执行扩展计算、操作系统升级以及 RDS Custom 替换根卷的其他操作之后,必须配置
crontab
文件。强烈建议您保留crontab
的备份。 -
配置
listener.ora
文件时,请注意以下准则:-
确保该文件中的每个条目都位于一行中。这种方法可以避免在创建实例期间出现缩进问题。
-
确保
GLOBAL_DBNAME
等于SID_NAME
的值。 -
确保
LISTENER
的值遵循命名约定L_
。dbname
_001 -
确保
listener.ora
文件保持与数据库名称的联系。RDS Custom 使用此联系来验证数据库的启动。如果您错误地修改此文件,则诸如扩展计算或修补之类的操作可能会失败。以下示例显示正确配置的
listener.ora
参数。ADR_BASE_L_ORCL_001=/rdsdbdata/log/ USE_SID_AS_SERVICE_L_ORCL_001=ON SID_LIST_L_ORCL_001=(SID_LIST = (SID_DESC = (SID_NAME = ORCL)(GLOBAL_DBNAME = ORCL) (ORACLE_HOME = /rdsdbbin/oracle.19.custom.r1.EE.1))) SUBSCRIBE_FOR_NODE_DOWN_EVENT_L_ORCL_001=OFF L_ORCL_001=(DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(PORT = XXXX)(HOST = x.x.x.x))) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(PORT = XXXX)(HOST = 127.0.0.1))))
-
-
在服务器参数文件或初始化参数文件中不支持注释。
-
您必须在服务器参数文件(
/rdsdbdata/config/oracle_pfile
)中声明以下初始化参数:-
MEMORY_MAX_TARGET
-
MEMORY_TARGET
-
PGA_AGGREGATE_TARGET
-
PROCESSES
-
SGA_TARGET
-
USE_LARGE_PAGES
如果未在
/rdsdbdata/config/oracle_pfile
中声明上述参数,则只读副本创建和扩展计算可能会失败。 -
-
您无法删除配置文件(例如服务器参数文件、审计文件、
listener.ora
、tnsnames.ora
或sqlnet.ora
)的符号链接。也无法修改这些文件的目录结构。RDS Custom 自动化要求这些文件存在于特定的目录结构中。要从初始化参数文件创建服务器参数文件,请使用以下语法。
CREATE SPFILE='/rdsdbdata/admin/$ORACLE_SID/pfile/spfile$ORACLE_SID.ora' FROM PFILE='/rdsdbdata/config/oracle_pfile';