初期接続属性の変更

db.iniファイルを変更していない場合は、「db.iniファイルの手動編集」に進みます。ここでは、スタンバイ・ポッドを削除してから、アクティブ・ポッドを削除する必要があります。TimesTenを実行しているコンテナを収容するポッドを削除すると、オペレータは削除したポッドを置き換えるために新しいポッドを作成します。この新しいポッドには、/ttconfigディレクトリにあるdb.iniファイルの内容から作成された新しいsys.odbc.iniファイルが収容されます。

次のステップを実行して、スタンバイ・データベースを削除します。

  1. kubectl getコマンドを使用して、どのポッドがsample TimesTenClassicオブジェクトのスタンバイ・ポッドであるかを確認します。アクティブ・ポッドは、ACTIVE列に示されるポッドです。スタンバイ・ポッドは、それ以外のポッド(ACTIVE列に示されないもの)です。そのため、sample TimesTenClassicオブジェクトの場合、アクティブ・ポッドはsample-0 (boldで表示)で、スタンバイ・ポッドはsample-1です。
    % kubectl get ttc sample
    NAME     STATE    ACTIVE     AGE
    sample   Normal   sample-0   47h
    
  2. スタンバイ・ポッド(この例ではsample-1)を削除します。この結果として、オペレータは削除されたポッドを置き換えるための新しいスタンバイ・ポッドを作成します。新しいスタンバイ・ポッドが作成されるときに、そのポッドは新しく変更されたsample ConfigMapを使用するようになります。(このConfigMapは、「db.iniファイルの手動編集」で変更したものです。)
    % kubectl delete pod sample-1
    pod "sample-1" deleted
    
  3. kubectl getコマンドを使用して、スタンバイ・ポッドが稼働中であり、状態がNormalになっていることを確認します。

    状態はStandbyDown (boldで表示)になっている点に注目してください。

    % kubectl get ttc sample
    NAME     STATE         ACTIVE     AGE
    sample   StandbyDown   sample-0   47h
    

    数分間待機してから、コマンドを再実行します。状態がNormal (boldで表示)に変化した点に注目してください。

    % kubectl get ttc sample
    NAME     STATE    ACTIVE     AGE
    sample   Normal   sample-0   47h
    
  4. kubectl exec -itコマンドを使用して、スタンバイ・ポッド(この例ではsample-1)のシェルを呼び出します。その次に、ttIsqlユーティリティを実行してsampleデータベースに接続します。この接続の出力では、新しいPermSize値の600と、新しいTempSize値の300に注目してください(boldで表示)。
    % kubectl exec -it sample-1 -c tt -- /bin/bash
    % ttIsql sample 
    Copyright (c) 1996, 2024, Oracle and/or its affiliates. All rights reserved. 
    Type ? or "help" for help, type "exit" to quit ttIsql. 
    connect "DSN=sample"; 
    Connection successful:  
    DSN=sample;UID=timesten;DataStore=/tt/home/timesten/datastore/sample;
    DatabaseCharacterSet=AL32UTF8;ConnectionCharacterSet=AL32UTF8;
    AutoCreate=0;PermSize=600;TempSize=300;DDLReplicationLevel=3;
    ForceDisconnectEnabled=1; 
    (Default setting AutoCommit=1)
    
  5. アクティブ・ポッドからスタンバイ・ポッドにフェイルオーバーします。フェイルオーバー・プロセスの詳細は、「フェイルオーバー」を参照してください。このステップを開始する前に、アクティブ・データベースで実行されていたすべてのトランザクションがスタンバイ・データベースにレプリケートされるように、アプリケーションを静止し、ttRepAdmin -waitコマンドを使用してレプリケーションの遅れが回復されるまで待機します。スタンバイの遅れが回復されたら、アクティブ・ポッドを削除して、アクティブ・データベースからスタンバイにフェイルオーバーします。アクティブ・ポッドを削除すると、オペレータは自動的に障害を検出して、スタンバイ・データベースをアクティブに昇格させます。

    アクティブ・ポッド(この例ではsample-0)を削除します。

    % kubectl delete pod sample-0
    pod "sample-0" deleted
    
  6. 数分間待機してから、kubectl getコマンドを使用して、sample TimesTenClassicオブジェクトのアクティブ・ポッドがsample-1で、状態がNormalになっていることを確認します(boldで表示)。
    % kubectl get ttc sample
    NAME     STATE    ACTIVE     AGE
    sample   Normal   sample-1   47h
    
  7. kubectl exec -itコマンドを使用して、アクティブ・ポッド(この例ではsample-1)のシェルを呼び出します。その次に、ttIsqlユーティリティを実行してsampleデータベースに接続します。この接続の出力では、新しいPermSize値の600と、新しいTempSize値の300に注目してください(boldで表示)。
    % kubectl exec -it sample-1 -c tt -- /bin/bash
    Last login: Fri Apr 08 15:50:29 UTC 2024 on pts/0
    [timesten@sample-1 ~]$ ttIsql sample
     
    Copyright (c) 1996, 2024, Oracle and/or its affiliates. All rights reserved.
    Type ? or "help" for help, type "exit" to quit ttIsql.
     
     
     
    connect "DSN=sample";
    Connection successful: 
    DSN=sample;UID=timesten;DataStore=/tt/home/timesten/datastore/sample;
    DatabaseCharacterSet=AL32UTF8;ConnectionCharacterSet=AL32UTF8;
    AutoCreate=0;PermSize=600;TempSize=300;DDLReplicationLevel=3;
    ForceDisconnectEnabled=1;
    (Default setting AutoCommit=1)
    
  8. kubectl exec -itコマンドを使用して、スタンバイ・ポッド(この例ではsample-0)のシェルを呼び出します。その次に、ttIsqlユーティリティを実行してsampleデータベースに接続します。この接続の出力では、新しいPermSize値の600と、新しいTempSize値の300に注目してください(boldで表示)。
    % kubectl exec -it sample-0 -c tt -- /bin/bash
    % ttIsql sample
     
    Copyright (c) 1996, 2024, Oracle and/or its affiliates. All rights reserved.
    Type ? or "help" for help, type "exit" to quit ttIsql.
     
     
     
    connect "DSN=sample";
    Connection successful: 
    DSN=sample;UID=timesten;DataStore=/tt/home/timesten/datastore/sample;
    DatabaseCharacterSet=AL32UTF8;ConnectionCharacterSet=AL32UTF8;
    AutoCreate=0;PermSize=600;TempSize=300;DDLReplicationLevel=3;
    ForceDisconnectEnabled=1;
    (Default setting AutoCommit=1)

初期接続属性のPermSizeTempSizeの変更が正常に完了しました。