使用客户可见的事件跟踪适用于 Oracle 的 Amazon RDS 中的引擎版本升级

亚马逊关系数据库服务 (Amazon RD S) 中,RDS 事件 表示环境发生了变化。这些事件将实时传输到 亚马逊 CloudWatch 和亚马逊 Ev entB ridge。 RDS 事件是由 Amazon RDS 中的特定数据库事件触发的通知。这些事件可能包括自动备份、安全更新、维护时段以及对数据库实例的其他更改。您可以使用 RDS 事件来监控数据库实例,并在某些事件发生时接收通知。

Amazon RDS 会在不同类别下生成不同类型的事件。最近,亚马逊推出了一些新事件,以跟踪 适用于 Oracle 的 Amazon RDS 中的数据库引擎版本升级 。在这篇文章中,我们将向您介绍在升级 RDS for Oracle 引擎版本时可以使用的这些事件。

亚马逊 RDS

Amazon RDS 使您可以更轻松地在云中设置、操作和扩展关系数据库。您可以直接访问数据库,无需担心基础设施配置、软件维护或常见的数据库管理任务。

甲骨文版亚马逊 RDS

适用于 Oracle 的 Amazon RDS 提供了多项功能,其中之一是可以选择手动或自动执行引擎版本升级,无需深入了解 Oracle 数据库。引擎升级的过程是不透明的,显然需要提高对发动机版本升级进度的可见性。适用于 Oracle 的 Amazon RDS 引入了新活动,以改善引擎版本升级期间的整体客户体验。这可以提高整个升级工作流程的透明度,从而可以根据事件类型做出明智的决策。

适用于 Oracle 的 Amazon RDS 提供支持的数据库引擎的更新版本,使您可以使数据库实例保持最新状态。这些较新的版本通常包括重要的改进,例如错误修复和安全增强。每当 Amazon RDS 支持新版本的数据库引擎时,您都可以灵活地选择何时以及如何升级数据库实例。

适用于 Oracle 的 Amazon RDS 的升级有两种形式:主要版本升级和次要版本升级。下表比较了这些类型的升级。

Major Version Upgrade Minor version upgrade
Has the potential to introduce changes or features that may not be compatible with existing applications. Generally, only includes changes that are backward-compatible with existing applications.
To upgrade, you must manually initiate the process via the 亚马逊云科技 Management Console, 亚马逊云科技 CLI, or Amazon RDS API. You have the option to upgrade your RDS for Oracle instances manually or automatically by enabling auto minor version upgrades.
An example would be upgrading the engine from version 12c to version 19c. An example of an update for an existing RDS for Oracle instance would be applying a quarterly patch.
Can be time-consuming, taking between 1–2 hours, as it requires running the catctl.pl script to upgrade the catalog. Usually not time-consuming and can typically be completed in 25–30 minutes.

适用于 Oracle 的亚马逊 RDS 如何进行主要版本升级

下图说明了适用于 Oracle 的 Amazon RDS 主要版本升级的工作流程。

使用 亚马逊云科技 管理控制台 、亚马逊云科技 命令行接口 ( 亚马逊云科技 CLI) 或 Amazon RDS API 调用主要版本升级时,自动化会完成以下步骤:

  1. 拍摄升级前的快照(如果已配置为备份)。如果需要,您可以使用此快照回滚到以前的引擎版本。
  2. 关闭实例并为升级做好准备。
  3. 运行 Oracle 升级脚本,例如 catctl.pl/catcon.pl/ datapatch
  4. 拍摄升级后的快照。

适用于甲骨文的亚马逊 RDS 事件通知

适用于 Oracle 的 Amazon RDS 通过客户可见事件 (CVE) 提供引擎升级更新,这些更新可以通过控制台订阅。通过使用 亚马逊简单通知服务 (Amazon SNS),可以简化 Amazon RDS 事件的通知,该服务 支持 亚马逊云科技 地区的各种通知表单,例如电子邮件、短信或对 HTTP 终端节点的调用。

以前,在引擎版本升级期间只有两个事件通知:在数据库实例因计划升级而关闭大约 10 分钟前发送的 CVE 通知,以及在修补数据库实例后发送的 CVE 通知。

这种有限的通知系统几乎无法看到引擎升级的进度,这带来了一些不便,特别是对于可能需要几个小时才能完成的主要版本升级而言。

适用于 Oracle 的 Amazon RDS 在维护类别中引入了以下新事件,以在引擎版本升级期间提供更多可见性。

Event ID Event Description
RDS-EVENT-0264 The pre-check started for the DB engine version upgrade.
RDS-EVENT-0265 The pre-check finished for the DB engine version upgrade.
RDS-EVENT-0266 The downtime started for the DB instance.
RDS-EVENT-0267 The engine version upgrade started.
RDS-EVENT-0268 The engine version upgrade finished.
RDS-EVENT-0269 The post-upgrade tasks are in progress.
RDS-EVENT-0270 The DB engine version upgrade failed. The engine version upgrade rollback succeeded.

全新 RDS for Oracle 活动的好处

以下是适用于 Oracle 引擎版本升级的 Amazon RDS 新事件的好处:

  • 更频繁和更详细的更新。
  • 按设定的间隔发出通知,防止在主要版本升级期间长时间通信中断。
  • 在升级过程中提高了可见性。
  • 在升级过程中提供更多信息。
  • 通过 RDS 事件订阅进行订阅和通知。

订阅亚马逊 RDS 以获取 Oracle 事件通知

要创建亚马逊 RDS 事件通知订阅,您可以使用亚马逊 RDS 控制台、亚马逊云科技 CLI 或 API。

Amazon RDS 使用 SNS 主题的 ARN(亚马逊资源名称)来识别每个订阅。创建订阅时,Amazon RDS 控制台会自动为您创建 ARN。或者,您可以使用亚马逊 SNS 控制台(参见以下屏幕截图)、亚马逊云科技 CLI 或亚马逊 SNS API 创建 ARN。

以下步骤显示如何使用控制台进行订阅:

  1. 在 Amazon RDS 控制台上, 在导航窗格中选择 事件订阅
  2. 选择 新活动订阅

  1. 提供您的 ARN、源实例和源事件类别。
  2. 选择 “ 创建 ” 。

在您提交订阅后,Amazon RDS 会向您提供的地址发送批准电子邮件或短信。要确认您的订阅,请选择您收到的通知消息中提供的链接。

确认您的订阅后,Amazon RDS 控制台将使用您的 订阅状态更新 “ 我的活动 订阅 ” 部分。然后,Amazon RDS 将开始向您在订阅创建过程中提供的电子邮件或短信地址发送通知。

要了解使用 Amazon SNS 时的身份和访问管理,请参阅 Amaz on S NS 中的 身份和访问管理

数据库实例事件示例

以下屏幕截图显示了通过电子邮件收到的引擎版本升级事件通知的示例。在此屏幕截图中,事件按 “时间” 列从最早到最晚排序。

以下是 JSON 格式的数据库实例事件的示例:

{

	"Type" : "Notification",
	"MessageId" : "77cbe294-d2ab-5e67-9555-beebd2adb8ae",
	"TopicArn" : "arn:aws:sns:us-east-1:123456789012:rds-oracle-upgrade-events",
	"Subject" : "RDS Notification Message",
	"Message" : "{\"Event Source\":\"db-instance\",\"Event Time\":\"2023-03-05 	20:38:28.949\",\"Identifier Link\":\"https://console.aws.amazon.com/rds/home?region=us-east-1#dbinstance:id=rds-oracle-testdb\",\"Source ID\":\"rds-oracle-testdb\",\"Source ARN\":\"arn:aws:rds:us-east-1:123456789012:db:rds-oracle-testdb\",\"Event ID\":\"http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html#RDS-EVENT-0264\",\"Event Message\":\"<RDS Event Description>\"}",
	"Timestamp" : "2023-03-05T20:38:30.089Z",
	"SignatureVersion" : "1",
	"Signature" : "<Signature>",
	"SigningCertURL" : "<SigningCertURL>",
	"UnsubscribeURL" : "<UnsubscribeURL>",
	"MessageAttributes" : 
	{
		"Resource" : {"Type":"String","Value":"arn:aws:rds:us-east-1:123456789012:db:rds-oracle-testdb"},
		"EventID" : {"Type":"String","Value":"<RDS-EVENT-####>"}
	}
}

结论

您可以按照上述 “订阅 Amazon RDS 获取 Oracle 事件通知” 部分中提到的步骤订阅这些新的 Amazon RDS 事件,以获取升级过程不同阶段的通知。

在这篇文章中,我们探讨了 Amazon RDS for Oracle 引入的新的客户可见事件,这些事件旨在改善客户体验并更好地了解升级工作流程。随着这些新事件的推出,您现在可以访问关键信息,这些信息可以帮助您根据事件类型做出明智的决策。通过使用这些新事件,您可以优化 RDS for Oracle 实例并提高其性能。通过提高对升级工作流程的可见性,您可以更好地管理数据库,并确信数据库正在以最高效率运行。


作者简介

贾维德·穆罕默德 是亚马逊网络服务的数据库专家解决方案架构师。他与 亚马逊云科技 RDS 团队合作,专注于像 Oracle 这样的商用数据库引擎。他喜欢与客户合作,帮助设计、部署和优化 亚马逊云科技 云上的关系数据库工作负载。

维沙尔·帕蒂尔 是亚马逊网络服务的高级数据库专家解决方案架构师。他是 亚马逊云科技 RDS 团队的一员,该团队专注于管理服务,使在云中设置、操作和扩展数据库变得容易。他喜欢倾听客户的需求,帮助他们在 亚马逊云科技 中迁移和以最佳方式运行 Oracle 工作负载。

Keerthi Maryada 在亚马逊网络 服务公共部门 Proserve 团队中担任交付业务经理。她的主要职责包括与客户密切合作,为数据和分析项目提供技术监督和指导,帮助他们在使用 亚马逊云科技 时优化解决方案。除了工作之外,她还喜欢将空闲时间花在长跑、旅行、阅读和美好的家庭时光等活动上。

Prathap Thoguru 是 亚马逊云科技 的技术负责人和企业解决方案架构师。他是九个领域的 亚马逊云科技 认证专业人士,专门研究数据和分析。他帮助客户入门并将其本地工作负载迁移到 亚马逊云科技 Cloud。他拥有澳大利亚纽卡斯尔大学的信息技术硕士学位。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。