Upgrade the TimesTen Databases

Assuming you used the Helm charts included in the TimesTen container image to create the TimesTen databases, you can use the Helm charts from a newer version of the TimesTen container image to upgrade the TimesTen databases.

The procedure to upgrade the TimesTen databases slightly differs depending if the databases are in a replicated or non-replicated scheme.

Upgrade Replicated TimesTen Databases

Before upgrading replicated TimesTen databases, verify that their state is Normal.

$ kubectl get ttc -n <namespace>
NAME          STATE    ACTIVE          AGE
timesten-db   Normal   timesten-db-0   6h

If the state of the TimesTenClassic object differs from Normal, see About the High Level State of TimesTenClassic Objects in Oracle TimesTen In-Memory Database Kubernetes Operator User's Guide for more information.

To upgrade replicated TimesTen databases, do the following:
  1. On your development host, go to the directory where you stored the newer version of the Helm charts, see Obtain the Helm Charts for Upgrade.
  2. Create a YAML file where you specify the TimesTen container image from Oracle Container Registry to be used by the TimesTen databases for the upgrade.
    image:
      repository: container-registry.oracle.com/timesten/timesten
      tag: "22.1.1.36.0"

    Note:

    This example assumes that the current version of TimesTen used by the release of the ttclassic chart is 22.1.1.35.0 and the version for the upgrade is 22.1.1.36.0.

  3. Confirm the release for the ttclassic Helm chart.
    helm list -n <namespace>

    Output should be similar to:

    NAME         NAMESPACE    REVISION  UPDATED         STATUS    CHART                   APP VERSION
    timesten-db  <namespace>  1         2025-06-05 ...  deployed  ttclassic-2211350.1.0   22.1.1.35.0
    ttcrd        <namespace>  2         2025-06-05 ...  deployed  ttcrd-2211360.1.0       22.1.1.36.0
    ttoper       <namespace>  2         2025-06-05 ...  deployed  ttoperator-2211360.1.0  22.1.1.36.0

    Note:

    In this example, the name of the release for the ttclassic chart is timesten-db. Your own setup should reflect the name you assigned to the release, since it is an user-defined name.

  4. Upgrade the release for the ttclassic chart.
    Ensure that you include the --reuse-values option, so that the values from the current release for the ttclassic chart are used for the upgrade and only the values from the YAML file you just created are overridden.
    helm upgrade timesten-db -n <namespace> -f <upgrade-file>.yaml helm/ttclassic --reuse-values

    Output should be similar to:

    Release "timesten-db" has been upgraded. Happy Helming!
    NAME: timesten-db
    LAST DEPLOYED: Thu Jun  5 19:14:22 2025
    NAMESPACE: <namespace>
    STATUS: deployed
    REVISION: 2
    NOTES:
    Version 2211360.1.0 of the ttclassic chart has been installed.
    
    This release is named "timesten-db".
    
    To learn more about the release, try:
    
      $ helm status timesten-db
      $ helm get all timesten-db
      $ helm history timesten-db
      
    To rollback to a previous version of the chart, run:
    
      $ helm rollback timesten-db <REVISION>
        - run 'helm history timesten-db' for a list of revisions.

    The operator automatically upgrades the TimesTen databases in the active standby pair replication scheme. This operation is asynchronous. To monitor its progress, use the kubectl get events -w -n <namespace> command. The upgrade is complete once the TimesTenClassic object is back to Normal state.

  5. Verify the state of the TimesTenClassic object.
    kubectl get ttc -n <namespace>

    Output should be similar to:

    NAME          STATE    ACTIVE          AGE
    timesten-db   Normal   timesten-db-1   6h

    Note:

    Due to the upgrade, which TimesTen database is the active and which is the standby changed. In this example, previous to the upgrade, the active was timesten-db-0 and the standby was timesten-db-1. After the upgrade, timesten-db-1 is now the active and timesten-db-0 is the standby.

  6. Verify that TimesTen container image has been upgraded for the TimesTenClassic object.
    kubectl describe ttc timesten-db -n <namespace> | grep Image:

    Output should be similar to:

      Image:  container-registry.oracle.com/timesten/timesten:22.1.1.36.0
    ...
You have successfully upgraded the replicated TimesTen databases.

Upgrade Non-Replicated TimesTen Databases

Before upgrading non-replicated TimesTen databases, verify that their state is AllReplicasReady.

$ kubectl get ttc -n <namespace>
NAME          STATE              ACTIVE   AGE
timesten-db   AllReplicasReady   N/A      1h

If the state of the TimesTenClassic object differs from AllReplicasReady, see About the High Level State of TimesTenClassic Objects in Oracle TimesTen In-Memory Database Kubernetes Operator User's Guide for more information.

To upgrade non-replicated TimesTen databases, do the following:
  1. On your development host, go to the directory where you stored the newer version of the Helm charts, see Obtain the Helm Charts for Upgrade.
  2. Create a YAML file where you specify the TimesTen container image from Oracle Container Registry to be used by the TimesTen databases for the upgrade.
    Use the rollingUpdatePartition variable to determine which Pods of the non-replicated TimesTen databases to upgrade. The default value is0, which upgrades all Pods. See The ttclassic Chart in Oracle TimesTen In-Memory Database Kubernetes Operator User's Guide.
    image:
      repository: container-registry.oracle.com/timesten/timesten
      tag: "22.1.1.36.0"
    rollingUpdatePartition: 0

    Note:

    This example assumes that the current version of TimesTen used by the release of the ttclassic Helm chart is 22.1.1.35.0 and the version for the upgrade is 22.1.1.36.0.

  3. Confirm the release for the ttclassic Helm chart.
    helm list -n <namespace>

    Output should be similar to:

    NAME         NAMESPACE    REVISION  UPDATED         STATUS    CHART                   APP VERSION
    timesten-db  <namespace>  1         2025-06-05 ...  deployed  ttclassic-2211350.1.0   22.1.1.35.0
    ttcrd        <namespace>  2         2025-06-05 ...  deployed  ttcrd-2211360.1.0       22.1.1.36.0
    ttoper       <namespace>  2         2025-06-05 ...  deployed  ttoperator-2211360.1.0  22.1.1.36.0

    Note:

    In this example, the name of the release for the ttclassic chart is timesten-db. Your own setup should reflect the name you assigned to the release, since it is an user-defined name.

  4. Upgrade the release for the ttclassic chart.
    Ensure that you include the --reuse-values option, so that the values from the current release for the ttclassic chart are used for the upgrade and only the values from the YAML file you just created are overridden.
    helm updated timesten-db -n <namespace> -f <upgrade-file>.yaml helm/ttclassic --reuse-values

    Output should be similar to:

    Release "timesten-db" has been upgraded. Happy Helming!
    NAME: timesten-db
    LAST DEPLOYED: Thu Jun  5 19:45:03 2025
    NAMESPACE: <namespace>
    STATUS: deployed
    REVISION: 2
    NOTES:
    Version 2211360.1.0 of the ttclassic chart has been installed.
    
    This release is named "timesten-db".
    
    To learn more about the release, try:
    
      $ helm status timesten-db
      $ helm get all timesten-db
      $ helm history timesten-db
      
    To rollback to a previous version of the chart, run:
    
      $ helm rollback timesten-db <REVISION>
        - run 'helm history timesten-db' for a list of revisions.

    The operator automatically upgrades the TimesTen databases in the Pods specified by the rollingUpdatePartition variable. This operation is asynchronous. To monitor its progress, use the kubectl get events -w -n <namespace> command. The upgrade is complete once the TimesTenClassic object is back to AllReplicasReady state.

  5. Verify the state of the TimesTenClassic object.
    kubectl get ttc -n <namespace>

    Output should be similar to:

    NAME          STATE              ACTIVE   AGE
    timesten-db   AllReplicasReady   N/A      1h
  6. Verify that TimesTen container image has been upgraded for the TimesTenClassic object.
    kubectl describe ttc timesten-db -n <namespace> | grep Image:

    Output should be similar to:

        Image:  container-registry.oracle.com/timesten/timesten:22.1.1.36.0
    ...
You have successfully upgraded the non-replicated TimesTen databases.