AWS Database Blog

Track engine version upgrades in Amazon RDS for Oracle using the customer visible events

In Amazon Relational Database Service (Amazon RDS), an RDS event indicates a change in the environment. These events are delivered in real-time to Amazon CloudWatch and Amazon EventBridge. RDS events are notifications that are triggered by specific database events in Amazon RDS. These events can include automated backups, security updates, maintenance windows, and other changes to your database instance. You can use RDS events to monitor your database instances and receive notifications when certain events occur.

Amazon RDS generates different types of events under various categories. Recently Amazon introduced a few new events to track the database engine version upgrades in Amazon RDS for Oracle. In this post, we walk you through these events that can be used while upgrading the engine version of RDS for Oracle.

Amazon RDS

Amazon RDS makes it simpler for you to set up, operate, and scale a relational database in the cloud. You get direct database access without needing to worry about infrastructure provisioning, software maintenance, or common database management tasks.

Amazon RDS for Oracle

Amazon RDS for Oracle offers several features, one of which is the option to perform engine version upgrades, either manually or automatically, without requiring in-depth knowledge of the Oracle database. The process of engine upgrades is opaque, and there is a definite need for increased visibility into the progress of engine version upgrades. Amazon RDS for Oracle introduced new events to increase the overall customer experience during engine version upgrades. This can provide greater transparency into the entire upgrade workflow, enabling well-informed decisions to be made depending on the type of event.

Amazon RDS for Oracle offers updated versions of supported database engines, allowing you to keep your DB instances current. These newer versions often include important improvements such as bug fixes and security enhancements. You have the flexibility to choose when and how to upgrade your database DB instances whenever Amazon RDS supports a new version of a database engine.

Upgrades for Amazon RDS for Oracle come in two forms: major version upgrades and minor version upgrades. The following table compares these types of upgrades.

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 AWS Management Console, AWS 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.

How Amazon RDS for Oracle performs a major version upgrade

The following diagram illustrates the workflow of an Amazon RDS for Oracle major version upgrade.

When a major version upgrade is invoked using AWS Management Console, AWS Command Line Interface (AWS CLI) or Amazon RDS API, the automation completes the following steps:

  1. Takes a pre-upgrade snapshot (if configured for backups). You can use this snapshot to roll back to the previous engine version if needed.
  2. Shuts down the instance and prepares it for the upgrade.
  3. Runs Oracle upgrade scripts such as catctl.pl/catcon.pl/datapatch.
  4. Takes a post-upgrade snapshot.

Amazon RDS for Oracle event notification

Amazon RDS for Oracle provides updates for engine upgrades via Customer Visible Events (CVEs), which can be subscribed to via the console. Notification of Amazon RDS events is facilitated through the use of Amazon Simple Notification Service (Amazon SNS), which supports a variety of notification forms for an AWS Region, such as email, text messages, or calls to an HTTP endpoint.

Previously, there were only two event notifications during an engine version upgrade: a CVE notification sent approximately 10 minutes before the DB instance shut down for a scheduled upgrade, and a CVE notification sent after the database instance was patched.

This limited notification system provided little visibility into the progress of your engine upgrades, which posed some inconvenience, especially for the major version upgrades that can take several hours to complete.

Amazon RDS for Oracle introduced the following new events in the maintenance category to provide more visibility during engine version upgrades.

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.

Benefits of new RDS for Oracle events

The following are benefits of the new events introduced for Amazon RDS for Oracle engine version upgrades:

  • More frequent and detailed updates.
  • Notifications at set intervals, preventing prolonged communication downtime during major version upgrades.
  • Increased visibility during the upgrade process.
  • Provision of more information during the upgrade process.
  • Subscription and notification through RDS event subscription.

Subscribe to Amazon RDS for Oracle event notifications

To create an Amazon RDS event notification subscription, you can use the Amazon RDS console, AWS CLI, or API.

Amazon RDS uses the ARN (Amazon Resource Name) of an SNS topic to identify each subscription. When creating the subscription, the Amazon RDS console automatically creates the ARN for you. Alternatively, you can create the ARN using the Amazon SNS console (see the following screenshot), AWS CLI, or Amazon SNS API.

The following steps show how to subscribe using the console:

  1. On the Amazon RDS console, choose Event subscriptions in the navigation pane.
  2. Choose New event subscription.

  1. Provide your ARN, source instance, and source event category.
  2. Choose Create.

After you submit your subscription, Amazon RDS sends an approval email or SMS message to the addresses you provided. To confirm your subscription, choose the link provided in the notification message you received.

After your subscription is confirmed, the Amazon RDS console will update the My Event Subscriptions section with the status of your subscription. Amazon RDS will then start sending notifications to the email or SMS address that you provided during the subscription creation process.

To learn about identity and access management when using Amazon SNS, see Identity and access management in Amazon SNS.

Example of DB instance events

The following screenshot shows examples of event notifications received via email for an engine version upgrade. In this screenshot the events are sorted by the “Time” column from earliest to latest.

The following is an illustration of a DB instance event in JSON format:

{

	"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-####>"}
	}
}

Conclusion

You can subscribe to these new Amazon RDS events by following the steps mentioned in the “Subscribe to Amazon RDS for Oracle Event Notifications” Section above to get notified for different stages in the upgrade process.

In this post, we explored the new customer-visible events that Amazon RDS for Oracle has introduced to improve the customer experience and provide better visibility into the upgrade workflow. With the introduction of these new events, you now have access to critical information that can help you make well-informed decisions depending on the type of event. By using these new events, you can optimize your RDS for Oracle instance and improve its performance. With improved visibility into the upgrade workflow, you can better manage your database and have confidence that it is running at peak efficiency.


About the Authors

Javeed Mohammed is a Database Specialist Solutions Architect with Amazon Web Services. He works with the AWS RDS team, focusing on commercial database engines like Oracle. He enjoys working with customers to help design, deploy, and optimize relational database workloads on AWS Cloud.

Vishal Patil is a Senior Database Specialist Solutions Architect with Amazon Web Services. He is a part of AWS RDS team, which focuses on managed services that makes it simple to set up, operate, and scale databases in the cloud. He enjoys listening to customer requirements and helps them migrate and optimally run Oracle workloads in AWS.

Keerthi Maryada serves as a Delivery Practice Manager within the Public Sector Proserve team at Amazon Web Services. Her primary responsibilities involve working closely with customers to offer technical oversight and guidance on data and analytics projects, helping to optimize their solutions when utilizing AWS. Beyond work, she enjoys spending her free time engaged in activities such as long runs, travel, reading, and quality family time.

Prathap Thoguru is a Technical Leader and an Enterprise Solutions Architect at AWS. He’s an AWS certified professional in nine areas and specializes in data and analytics. He helps customers get started on and migrate their on-premises workloads to the AWS Cloud. He holds a Master’s degree in Information Technology from the University of Newcastle, Australia.