Perform a Manual Upgrade
This section describes the process for performing a manual upgrade of your TimesTenClassic objects and includes the following subsections:
Modify a TimesTenClassic Object: Manual Upgrade
The manual
upgrade process requires you to modify the .spec.ttspec.image
datum of a TimesTenClassic object to reference the new TimesTen container image. After you modify the TimesTenClassic object to reference the new TimesTen image, the Operator notices the change and modifies the StatefulSet that it created.
Let's modify the TimesTenClassic sample2
object to reference the new TimesTen image. Let's assume the sample2
object's .spec.ttspec.imageUpgradeStrategy
is Manual
.
You successfully modified the sample2
TimesTenClassic object to use the new TimesTen container image. Let's continue the manual upgrade by upgrading the standby database.
Upgrade the Standby Database
Perform these steps to upgrade the standby database.
Note:
Even though you are upgrading the standby database, depending on your replication configuration, this may result in disruption on your active database. This may impact your applications. Perform the upgrade at the appropriate time.
You have successfully upgraded the standby database. You are now ready to fail over from the active database to the standby.
Fail Over
You must now fail over from the active database to the standby.
Note:
When you fail over, your active database will be taken down, and failed over immediately. Do not perform this procedure at the busiest time of your production day.
Before failing over, quiesce your applications on the active database. (You can also use the ttAdmin
-close
and the ttAdmin
-disconnect
commands. See Opening and Closing the Database for User Connections and Disconnecting from a Database in the Oracle TimesTen In-Memory Database Operations
Guide.
To avoid potential data loss, use the ttRepAdmin
-wait
command to wait until replication is caught up, such that all transactions that were executed on the active database have been replicated to the standby database. See ttRepAdmin in the Oracle TimesTen In-Memory Database
Reference.
Once the standby is caught up, fail over from the active database to the standby by deleting the active Pod. When you delete the active Pod, the Operator automatically detects the failure and promotes the standby database to be the active. Client/server applications that are using the active database (sample2-0
, in this example) are automatically reconnected to the new active database (sample2-1
, in this example). Transactions in flight are rolled back. Prepared SQL statements will need to be re-prepared by the applications. See About Handling Failover and Recovery for more information about client/server failover.
Kubernetes automatically creates a new sample2-0
Pod to replace the deleted Pod. The Operator will configure the new Pod as the standby Pod. This new Pod will run the newly created TimesTen image.
Note:
You may want to perform this operation during a scheduled production outage.
You successfully upgraded to a new release of TimesTen. The active and the standby Pods are running the new TimesTen image, which contains the new TimesTen release.
In this example, the sample
and the sample2
TimesTenClassic objects are now upgraded. The upgrade process is complete. Let's verify the active and the standby databases are running the new release of TimesTen.