This chapter describes the TimesTenClassic object type. You create objects of this type in order to create active standby pairs of TimesTen databases.
Topics:
The installation of the TimesTen Operator adds a new type of object to the Kubernetes cluster. You can create as many TimesTenClassic objects as you like. Each such object creates a pair of TimesTen databases, each running in a container, inside a Pod. Both Pods operate under the control of a StatefulSet.
The definition of the TimesTenClassic object type uses the same basic format as the formal Kubernetes documentation uses to define objects that are built-in to Kubernetes. Note that the facilities available in any given Kubernetes cluster depend on what release of Kubernetes the cluster is using. For information on the Kubernetes API documentation, see:
https://kubernetes.io/docs/reference/kubernetes-api/
The Kuberenetes API reference documentation refers to a number of built-in Kubernetes types used in the definition of the TimesTenClassic object type, in particular the StatefulSet. In addition, since TimesTenClassic is basically a wrapper around a StatefulSet, its definition is particularly relevant. In particular, StatefulSetSpec is used as is. It describes the spec for the StatefulSet. It is how creators of StatefulSets express what they want the StatefulSet to look like. For more information, see:
https://kubernetes.io/docs/reference/kubernetes-api/
Note:
All metadata is passed from the TimesTenClassic object to the StatefulSet.The TimesTenClassic object type is defined using the following object definitions. These definitions are represented in table format. The first column includes the name of the field and the type. The second column provides a description.
You create an object of type TimesTenClassic in order to create your active standby pair of TimesTen databases.
Table 11-1, "TimesTenClassic" shows the syntax for TimesTenClassic.
Field | Description |
---|---|
|
The value must be |
|
|
|
|
|
|
|
|
TimesTenClassicSpec appears in TimesTenClassic. See Table 11-1, "TimesTenClassic" for information.
Table 11-2, "TimesTenClassicSpec" shows the syntax for TimesTenClassicSpec.
Table 11-2 TimesTenClassicSpec
Field | Description |
---|---|
|
|
|
|
|
TimesTen automatically provisions PersistentVolumeClaims (PVCs) for |
TimesTenClassicSpecSpec appears in TimesTenClassicSpec. See Table 11-2, "TimesTenClassicSpec" for information.
Table 11-3, "TimesTenClassicSpecSpec" shows the syntax for TimesTenClassicSpecSpec.
Table 11-3 TimesTenClassicSpecSpec
Field | Description |
---|---|
|
The default is |
|
The default is |
|
The default is |
|
The default is |
|
If the TimesTenClassic object enters the |
|
Valid values:
See "Cleaning up the cache metadata on the Oracle Database" in this book for details. Also, see "Dropping Oracle Database objects used by autorefresh cache groups" in the Oracle TimesTen Application-Tier Database Cache User's Guide. |
|
Valid values:
|
|
|
|
|
|
There is no default. You must specify the name of the |
|
Valid values:
Note: Values are case sensitive. |
|
There is no default. You must specify the name of the image pull secret. |
|
Valid values:
Values are case sensitive. See Chapter 10, "Performing Upgrades" for information. |
|
|
|
When choosing to use a persistent volume to store the TimesTen transaction logs, the primary determinant of what volumes to use is the
|
|
The default is |
|
This value interacts with The value must be a positive integer (greater than 0). The default is |
|
When a TimesTenClassic object is in the |
|
The The Example of using the apiVersion: timesten.oracle.com/v1 kind: TimesTenClassic metadata: name: sample spec: ttspec: repCreateStatement: | create active standby pair "{{tt-name}}" on "{{tt-node-0}}", "{{tt-name}}" on "{{tt-node-1}}" RETURN TWOSAFE store "{{tt-name}}" on "{{tt-node-0}}" PORT {{tt-rep-port}} FAILTHRESHOLD 10 TIMEOUT 5 DISABLE RETURN ALL 10 store "{{tt-name}}" on "{{tt-node-1}}" PORT {{tt-rep-port}} FAILTHRESHOLD 10 TIMEOUT 5 DISABLE RETURN ALL 10 The Operator does the substitutions for you.
When you use the Restrictions on the configuration:
See "CREATE ACTIVE STANDBY PAIR" in the Oracle TimesTen In-Memory Database SQL Reference and "Defining an active standby pair replication scheme" in the Oracle TimesTen In-Memory Database Replication Guide for information. |
|
You can specify either one of these values or both:
See "About using certificates with TimesTen" in the Oracle TimesTen In-Memory Database Security Guide for more information. |
|
Valid values:
This value is only examined if See "About using certificates with TimesTen" in the Oracle TimesTen In-Memory Database Security Guide for more information. |
|
|
|
You can use the If you do not specify the See "CREATE ACTIVE STANDBY PAIR" in the Oracle TimesTen In-Memory Database SQL Reference and "Defining an active standby pair replication scheme" in the Oracle TimesTen In-Memory Database Replication Guide for information on the |
|
You can use the If you do not specify the If you specify the See "CREATE ACTIVE STANDBY PAIR" in the Oracle TimesTen In-Memory Database SQL Reference and "Defining an active standby pair replication scheme" in the Oracle TimesTen In-Memory Database Replication Guide for information on the |
|
If you change the value of |
|
There is no default. You must specify the name of the storage class. |
|
When choosing to use a persistent volume to store a TimesTen database, the primary determinant of what volumes to use is the
|
|
The default is |
|
This value interacts with The value must be a positive integer (greater than 0). The default is |
|
During an automated upgrade of TimesTen, the Operator deletes Pods. After deleting a Pod, the Operator waits up to the value of The value is expressed in seconds. The default is A value of 0 indicates no timeout. The TimesTenClassic object waits forever and does not enter the See Chapter 10, "Performing Upgrades" for more information on the upgrade process. |
|
This setting specifies the maximum amount of seconds that the TimesTenClassic object remains in the The default is See "Monitoring the health of the active standby pair of databases" for information on the |
TimesTenClassicStatus appears in TimesTenClassic. See "TimesTenClassic" for information. This object type is a standard part of any CRD. The Operator stores various persistent information in TimesTenClassicStatus.
The status is displayed as part of the output of the kubectl
get
and kubectl
describe
commands.
Information in TimesTenClassicStatus includes:
awtBehindMb
: This field is only present if AWT (Asynchronous WriteThrough) is in use. The field represents how many megabytes of log is present in TimesTen that has not yet been pushed to Oracle Database. See "Overview of cache groups" in the Oracle TimesTen Application-Tier Database Cache User's Guide for more information on AWT cache groups.
High Level State of the Active Standby Pair: This is a string that describes the high level state of the active standby pair.
Detailed state of TimesTen in each Pod, including:
Is the TimesTen agent running?
Is the TimesTen main daemon running?
Is the TimesTen replication agent running?
Is the TimesTen cache agent running?
Is there a database in the instance?
Is the database loaded?
Is the database updatable or read only?
Is there a replication scheme in the database?
What is the replication state of this database?
What does this database think the replication state of its peer is?
What is the role for TimesTen in this Pod (active or standby)?
What is the high level state of the Pod?
Note:
Unknown values can occur if, for example, the agent is not running or a Pod is unavailable.