この章では、新しいリリースのTimesTen Classicにアップグレードする手順について説明します。TimesTen Scaleoutのアップグレード手順の詳細は、Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイドのグリッドのアップグレードおよびデータの移行、バックアップおよびリストアを参照してください。
この章で説明しているアップグレード手順を完了する前に、前の章のインストール手順を確認してください。
内容は次のとおりです。
TimesTenリリースにはリリース採番スキームがあります。このスキームはアップグレードについて説明する際に関連してきます。たとえば、特定のリリースa
.b
.c
.d
.e
の場合は、次のことを意味します。
a
は、メジャー・リリースの最初の部分を示します。
b
は、メジャー・リリースの2番目の部分を示します。
c
は、パッチ・セットを示します。
d
は、パッチ・セット内のパッチ・レベルを示します。
e
は予約されています。
重要な考慮事項:
同じメジャー・リリース(a
.b
)内の各リリースには、バイナリ互換性があります。リリースがバイナリ互換の場合、アップグレード(またはダウングレード)のためにデータベースを再作成する必要はありません。
メジャー・リリースが異なるリリースはバイナリ互換ではありません。この場合は、データベースを再作成する必要があります。詳細は、「データベースの移行」を参照してください。
たとえば、18.1.4.1.0
リリースの場合は次のようになります。
5つの部分を持つリリース番号の最初の2つの番号(18.1
)は、メジャー・リリースを示します。
5つの部分を持つリリース番号の3番目の番号(4
)は、パッチ・セットを示します。たとえば、18.1.4.1.0
は、最初の2つの番号(18
および1
)が同じであるため、18.1.3.5.0
とバイナリ互換性があります。
5つの部分を持つリリース番号の4番目の番号(1
)は、パッチ・セット内のパッチ・レベルを示します。18.1.4.1.0
は、パッチ・セット4内の最初のパッチ・レベルです。
5つの部分を持つリリース番号の5番目の番号(0
)は予約されています。
ノート: 11.2.1.w.x および11.2.2.y.z リリースでは、最初の3桁はメジャー・リリースを示していました。したがって、11.2.1 は11.2.2 のようにメジャー・リリースとみなされます。 |
TimesTen Classicでは、次の2種類のアップグレードがサポートされています。
オフライン・アップグレードでは、すべてのアプリケーションをTimesTenから切断し、すべてのデータベースをメモリーからアンロードする必要があります。オフライン・アップグレードは、要件に応じて2つの異なる状況で行われます。
必要に応じて、次のことを行います。
パッチ・セットまたはパッチ・セット内のパッチ・レベルを適用:
ttInstanceModify
ユーティリティを-install
オプションを指定して実行し、インスタンスをアップグレードします。これは、パッチおよびパッチ・セットのアップグレードに適した方法です。詳細は、「オフライン・アップグレード: 別のパッチまたはパッチ・セットへの移動: ttInstanceModify」を参照してください。
ttBackup
およびttRestore
ユーティリティを実行して、パッチおよびパッチ・セットをアップグレードすることもできますが、これは適切なメソッドではありません。詳細は、オフライン・アップグレード: 別のパッチまたはパッチ・セットへの移動: ttBackupを参照してください。
別のメジャー・リリースに移動: ttMigrate
ユーティリティを実行してデータベースをフラット・ファイルにエクスポートした後、ttMigrate
を再度使用してデータを新しいデータベースにインポートする必要があります。これは、メジャー・リリース間の移動を伴うオフライン・アップグレードを実行する唯一の方法です。詳細は、「オフライン・アップグレード: 別のメジャー・リリースへの移動」を参照してください。
オンライン・アップグレードでは、レプリケートされたデータベースのペアを使用して、各データベースのオフライン・アップグレードを順に実行します。詳細は、「オンライン・アップグレード: TimesTenレプリケーションの使用」を参照してください。
パッチ・セット間またはパッチ・レベル間で移行する推奨のオフライン・アップグレード方法では、新しい場所に新しいインストール環境を作成し、-install
オプションを指定したttInstanceModify
ユーティリティを使用して、そのインスタンスが新しいインストール環境を指すようにします。このオフライン・アップグレードでは、インスタンス管理者はすべてのデータベースをユーザー接続に対してクローズし、すべてのデータベースからすべてのアプリケーションを切断して、すべてのデータベースをメモリーからアンロードする必要があります。
アップグレードを実行するには、次のステップに従います。
新しい場所に新しいインストール環境を作成します。たとえば、fullinstall_new
インストール・ディレクトリを作成します。次に、新しいパッチ・リリースのzipファイルをそのディレクトリに解凍します。(たとえば、timesten181410.server.linux8664.zip
をfullinstall_new
ディレクトリに解凍します)。
% mkdir fullinstall_new
% cd fullinstall_new
% unzip /swdir/TimesTen/ttinstallers/timesten181410.server.linux8664.zip
[...UNZIP OUTPUT...]
詳細は、「TimesTenのインストール」を参照してください。
すべてのデータベースをアンロードします。詳細は、メモリーからのデータベースのアンロードを参照してください。
TimesTenデーモンを停止します。
% ttDaemonAdmin -stop TimesTen Daemon (PID: 24224, port: 6324) stopped.
新しいインストール環境を指すようにインスタンスを変更します。この例では、swdir/TimesTen/ttinstallations/ttinstalllatest/tt18.1.4.1.0
にあるインストール環境をインスタンスが指し示すようにします。
% $TIMESTEN_HOME
/bin/ttInstanceModify -install
/swdir/TimesTen/ttinstallations/ttinstalllatest/tt18.1.4.1.0
Instance Info (UPDATED)
-----------------------
Name: ttuserinstance
Version: 18.1.4.1.0
Location: /swdir/TimesTen/ttinstances/ttuserinstance
Installation: /swdir/TimesTen/ttinstallations/ttinstalllatest/tt18.1.4.1.0
Daemon Port: 6324
Server Port: 6325
**********************************************
NOTE: The ttclasses source code may have changed since the last release.
Make sure to rebuild the ttclasses library in
/swdir/TimesTen/ttinstances/ttuserinstance/ttclasses.
The instance ttuserinstance now points to the installation in
/swdir/TimesTen/ttinstallations/ttinstalllatest/tt18.1.4.1.0
デーモンを再起動します。
% ttDaemonAdmin -start TimesTen Daemon (PID: 31202, port: 6324) startup OK.
データベースをロードします。詳細は、「メモリーへのデータベースの再ロード」を参照してください。
オプション: データベースに接続できることを確認します。
% ttIsql database1 Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved. Type ? or "help" for help, type "exit" to quit ttIsql. ... Command> SELECT * FROM dual; < X > 1 row found.
オプション: 前のパッチ・リリース・インストールを削除します。
% chmod -R 750installation_dir
/tt18.1.3.5.0 % rm -rfinstallation_dir
/tt18.1.3.5.0
メモリーからデータベースをアンロードするには、次のステップを実行します。
18.1.3.1.0
以降のリリースでは、データベースをクローズします。これにより、今後データベースに接続できなくなります。18.1.3.1.0
より前のリリースでは、このステップは無視してください。
% ttAdmin -close database1 RAM Residence Policy : manual Manually Loaded In RAM : True Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False Database State : Closed
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のユーザー接続のためのデータベースのオープンおよびクローズに関する項を参照してください。
データベースに接続している場合は、すべてのアプリケーションをデータベースから切断します。手動で実行するか、切断を実行するようにTimesTenに指示できます。後者の場合は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータベースからの切断に関する項および『Oracle TimesTen In-Memory Databaseリファレンス』のForceDisconnectEnabledに関する項を参照してください。
RAMポリシーがmanual
またはinUse
に設定されていることを確認します。次に、データベースをメモリーからアンロードします。RAMポリシーの指定の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のRAMポリシーの指定に関する項を参照してください。
RAMポリシーがalways
に設定されている場合は、manual
に変更した後で、メモリーからデータベースをアンロードします。
% ttAdmin -ramPolicy manual -ramUnload database1 RAM Residence Policy : manual Manually Loaded In RAM : False Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False Database state : closed
RAMポリシーがmanual
に設定されている場合は、メモリーからデータベースをアンロードします。
ttAdmin -ramUnload database1 RAM Residence Policy : manual Manually Loaded In RAM : False Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False Database state : closed
RAMポリシーがinUse
に設定されており、猶予期間が設定されている場合は、猶予期間に0
(ゼロ)を設定するか、猶予期間に設定した時間が経過するまで待機します。アクティブな接続をすべてクローズすると、RAMポリシーがinUse
であるデータベースがメモリーからアンロードされます。
% ttAdmin -ramGrace 0 database1 RAM Residence Policy : inUse Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False Database state : closed
ttStatus
ユーティリティを実行して、データベースがメモリーからアンロードされていること、およびリリース18.1.3.1.0
以上の場合はデータベースがクローズされていることを確認します。詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのttStatusを参照してください。
% ttStatus TimesTen status report as of Mon Jun 29 14:11:19 2020 Daemon pid 24224 port 6324 instance ttuserinstance TimesTen server pid 22019 started on port 6325 ------------------------------------------------------------------------ Data store /scratch/databases/database1 Daemon pid 24224 port 6324 instance ttuserinstance TimesTen server pid 22019 started on port 6325 There are no connections to the data store Closed to user connections RAM residence policy: Manual Data store is manually unloaded from RAM Replication policy : Manual Cache Agent policy : Manual PL/SQL enabled. ------------------------------------------------------------------------ Accessible by group g900 End of report
次の手順に従って、データベースをメモリーにロードします。
メモリーにデータベースをロードします。この例では、RAMポリシーをmanualに設定した後、database1
データベースをメモリーにロードします。
RAMポリシーをmanualに設定します。
% ttAdmin -ramPolicy manual database1 RAM Residence Policy : manual Manually Loaded In RAM : False Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False Database state : closed
メモリーにdatabase1
データベースをロードします。
% ttAdmin -ramLoad database1 RAM Residence Policy : manual Manually Loaded In RAM : True Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False Database state : closed
RAMポリシーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のRAMポリシーの指定に関する項を参照してください。
18.1.3.1.0
以降のリリースでは、ユーザー接続用のデータベースを開きます。18.1.3.1.0
より前のリリースでは、このステップは無視してください。
% ttAdmin -open database1 RAM Residence Policy : manual Manually Loaded In RAM : True Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False Database State : Open
『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のユーザー接続のためのデータベースのオープンおよびクローズに関する項を参照してください。
ttBackup
およびttRestore
ユーティリティを実行してTimesTen Classicの新しいパッチ・リリースに移動できますが、これは適切な方法ではありません。
各データベースについて、次のステップを実行します。
旧リリースの場合:
すべてのアプリケーションをデータベースから切断します。手動で実行するか、切断を実行するようにTimesTenに指示できます。後者の場合は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータベースからの切断に関する項および『Oracle TimesTen In-Memory Databaseリファレンス』のForceDisconnectEnabledに関する項を参照してください。
データベースをバックアップします。この例では、リリース18.1.3.5.0
のdatabase1_1813
データベースをバックアップします。
ttBackup -dir /tmp/dump/backup_181350 -fname database1_1813 database1_1813 Backup started ... Backup complete
データベースをメモリーからアンロードします。この例では、RAMポリシーがmanualであることを前提としています。RAMポリシーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のRAMポリシーの指定に関する項を参照してください。
% ttAdmin -ramUnload database1_1813 RAM Residence Policy : manual Manually Loaded In RAM : False Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False
TimesTenデーモンを停止します。
% ttDaemonAdmin -stop TimesTen Daemon (PID: 2749, port: 6666) stopped.
新しいリリースの場合:
新しい場所に新しいインストール環境を作成します。たとえば、fullinstall_new
インストール・ディレクトリを作成します。次に、パッチ・リリースのzipファイルをそのディレクトリに解凍します。(たとえば、timesten181410.server.linux8664.zip
をfullinstall_new
ディレクトリに解凍します)。詳細は、「TimesTenのインストール」および「Linux/UNIXでのインストール環境の作成」を参照してください。
% mkdir fullinstall_new
% cd fullinstall_new
% unzip /swdir/TimesTen/ttinstallers/timesten181410.server.linux8664.zip
[...UNZIP OUTPUT...]
ttInstanceCreate
ユーティリティを実行してインスタンスを作成します。この例では、ttInstanceCreate
ユーティリティを対話形式で実行します。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttInstanceCreateに関する項およびこのマニュアルの「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
ユーザーの入力は太字で示されています。
%installation_dir
/tt18.1.4.1.0/bin
/ttInstanceCreate NOTE: Each TimesTen instance is identified by a unique name. The instance name must be a non-null alphanumeric string, not longer than 255 characters. Please choose an instance name for this installation? [ tt181 ] inst1814_new Instance name will be 'inst1814_new'. Is this correct? [ yes ] Where would you like to install the inst1814_new instance of TimesTen? [ /home/ttuser ] /scratch/ttuser Creating instance in /scratch/ttuser/inst1814_new ... INFO: Mapping files from the installation to /scratch/ttuser/inst1814_new/install TCP port 6624 is in use! NOTE: If you are configuring TimesTen for use with Oracle Clusterware, the daemon port number must be the same across all TimesTen installations managed within the same Oracle Clusterware cluster. ** The default daemon port (6624) is already in use or within a range of 8 ports of an existing TimesTen instance. You must assign a unique daemon port number for this instance. This installer will not allow you to assign another instance a port number within a range of 8 ports of the port you assign below. NOTE: All installations that replicate to each other must use the same daemon port number that is set at installation time. The daemon port number can be verified by running 'ttVersion'. Please enter a unique port number for the TimesTen daemon (<CR>=list)? [ ] 6324 In order to use the 'TimesTen Application-Tier Database Cache' feature in any databases created within this installation, you must set a value for the TNS_ADMIN environment variable. It can be left blank, and a value can be supplied later using <install_dir>/bin/ttInstanceModify. Please enter a value for TNS_ADMIN (s=skip)? [ ] s What is the TCP/IP port number that you want the TimesTen Server to listen on? [ 6325 ] Would you like to use TimesTen Replication with Oracle Clusterware? [ no ] NOTE: The TimesTen daemon startup/shutdown scripts have not been installed. The startup script is located here : '/scratch/ttuser/inst1814_new/startup/tt_inst1814_new' Run the 'setuproot' script : /scratch/ttuser/inst1814_new/bin/setuproot -install This will move the TimesTen startup script into its appropriate location. The 18.1 Release Notes are located here : '/scratch/ttuser/181410/tt18.1.4.1.0/README.html' Starting the daemon ... TimesTen Daemon (PID: 3253, port: 6324) startup OK.
データベースをリストアします。環境変数を設定し、sys.odbc.ini
ファイル(またはodbc.ini
ファイル)内の接続属性に対して必要なすべての変更を行い、データベースをリストアする前にデーモンを起動します(まだ起動していない場合)。
% ttRestore -dir /tmp/dump/backup_181350 -fname database1_1813 database1_1814 Restore started ... Restore complete
データベースが正しく構成され完全に動作すると、バックアップ・ファイル(この例では/tmp/dump/backup_181350/database1_1813
)をオプションで削除できます。
複数のメジャー・リリースをホストに同時にインストールできます。ただし、あるメジャー・リリースで作成したデータベースには、異なるメジャー・リリースのアプリケーションから直接アクセスすることはできません。たとえば、メジャー・リリース間でのデータの移行を、TimesTen 11.2.2
から18.1
に対して行う場合、ttMigrate
ユーティリティを使用して以前のリリースのデータをエクスポートし、ttMigrate
ユーティリティを使用して新しいリリースにインポートする必要があります。
あるメジャー・リリースから別のメジャー・リリースにデータベースを移行する前に、必ず古いリリースのデータベースをバックアップしてください。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttBackupに関する項とttRestoreに関する項、およびこのマニュアルの「データベースのバックアップおよびリストア」を参照してください。
アップグレードを実行するには、次のステップに従ってください。
旧リリースの場合:
すべてのアプリケーションをデータベースから切断します。手動で実行するか、切断を実行するようにTimesTenに指示できます。後者の場合は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータベースからの切断に関する項および『Oracle TimesTen In-Memory Databaseリファレンス』のForceDisconnectEnabledに関する項を参照してください。
ttMigrate
ユーティリティを使用してデータベースのコピーを保存します。この例では、database1
用にいくつかのデータベース・オブジェクトが保存されています。
% ttMigrate -c database1 /tmp/database1.data Saving user PUBLIC User successfully saved. Saving table TTUSER.COUNTRIES Saving foreign key constraint COUNTR_REG_FK Saving rows... 25/25 rows saved. Table successfully saved. Saving table TTUSER.DEPARTMENTS Saving foreign key constraint DEPT_LOC_FK Saving rows... 27/27 rows saved. Table successfully saved. Saving table TTUSER.EMPLOYEES Saving index TTUSER.TTUNIQUE_0 Saving foreign key constraint EMP_DEPT_FK Saving foreign key constraint EMP_JOB_FK 107/107 rows saved. Saving rows... Table successfully saved. Saving table TTUSER.JOBS Saving rows... 19/19 rows saved. Table successfully saved. Saving table TTUSER.JOB_HISTORY Saving foreign key constraint JHIST_DEPT_FK Saving foreign key constraint JHIST_EMP_FK Saving foreign key constraint JHIST_JOB_FK Saving rows... 10/10 rows saved. Table successfully saved. Saving table TTUSER.LOCATIONS Saving foreign key constraint LOC_C_ID_FK Saving rows... 23/23 rows saved. Table successfully saved. Saving table TTUSER.REGIONS Saving rows... 4/4 rows saved. Table successfully saved. Saving view TTUSER.EMP_DETAILS_VIEW View successfully saved. Saving sequence TTUSER.DEPARTMENTS_SEQ Sequence successfully saved. Saving sequence TTUSER.EMPLOYEES_SEQ Sequence successfully saved. Saving sequence TTUSER.LOCATIONS_SEQ Sequence successfully saved.
ttMigrate
ユーティリティの詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのttMigrateを参照してください。
データベースをメモリーからアンロードします。詳細は、メモリーからのデータベースのアンロードを参照してください。
TimesTenデーモンを停止します。
% ttDaemonAdmin -stop TimesTen Daemon (PID: 30841, port: 54496) stopped.
移行オブジェクト・ファイルを、新しいリリースのインスタンスからアクセスできるファイル・システムにコピーします。
新しいリリースの場合:
新しい場所に新しいインストール環境を作成します。たとえば、fullinstall_new
インストール・ディレクトリを作成します。次に、パッチ・リリースのzipファイルをそのディレクトリに解凍します。(たとえば、timesten181410.server.linux8664.zip
をfullinstall_new
ディレクトリに解凍します)。詳細は、「TimesTenのインストール」および「Linux/UNIXでのインストール環境の作成」を参照してください。
% mkdir fullinstall_new
% cd fullinstall_new
% unzip /swdir/TimesTen/ttinstallers/timesten181410.server.linux8664.zip
[...UNZIP OUTPUT...]
ttInstanceCreate
ユーティリティを実行してインスタンスを作成します。この例では、ttInstanceCreate
ユーティリティを対話形式で実行します。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttInstanceCreateに関する項およびこのマニュアルの「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
ユーザーの入力は太字で示されています。
%installation_dir
/tt18.1.4.1.0/bin
/ttInstanceCreate NOTE: Each TimesTen instance is identified by a unique name. The instance name must be a non-null alphanumeric string, not longer than 255 characters. Please choose an instance name for this installation? [ tt181 ] inst1814_new Instance name will be 'inst1814_new'. Is this correct? [ yes ] Where would you like to install the inst1814_new instance of TimesTen? [ /home/ttuser ] /scratch/ttuser Creating instance in /scratch/ttuser/inst1814_new ... INFO: Mapping files from the installation to /scratch/ttuser/inst1814_new/install TCP port 6624 is in use! NOTE: If you are configuring TimesTen for use with Oracle Clusterware, the daemon port number must be the same across all TimesTen installations managed within the same Oracle Clusterware cluster. ** The default daemon port (6624) is already in use or within a range of 8 ports of an existing TimesTen instance. You must assign a unique daemon port number for this instance. This installer will not allow you to assign another instance a port number within a range of 8 ports of the port you assign below. NOTE: All installations that replicate to each other must use the same daemon port number that is set at installation time. The daemon port number can be verified by running 'ttVersion'. Please enter a unique port number for the TimesTen daemon (<CR>=list)? [ ] 6324 In order to use the 'TimesTen Application-Tier Database Cache' feature in any databases created within this installation, you must set a value for the TNS_ADMIN environment variable. It can be left blank, and a value can be supplied later using <install_dir>/bin/ttInstanceModify. Please enter a value for TNS_ADMIN (s=skip)? [ ] s What is the TCP/IP port number that you want the TimesTen Server to listen on? [ 6325 ] Would you like to use TimesTen Replication with Oracle Clusterware? [ no ] NOTE: The TimesTen daemon startup/shutdown scripts have not been installed. The startup script is located here : '/scratch/ttuser/inst1814_new/startup/tt_inst1814_new' Run the 'setuproot' script : /scratch/ttuser/inst1814_new/bin/setuproot -install This will move the TimesTen startup script into its appropriate location. The 18.1 Release Notes are located here : '/scratch/ttuser/181410/tt18.1.4.1.0/README.html' Starting the daemon ... TimesTen Daemon (PID: 3253, port: 6324) startup OK.
新しいリリースのインスタンスからデータベースを作成します。環境変数を設定し、sys.odbc.ini
ファイル(またはodbc.ini
ファイル)内の接続属性に対して必要なすべての変更を行い、デーモンを起動したことを確認します(まだ起動していない場合)。
データベースを作成するには、次のコマンドを実行します。
% ttIsql -connstr "DSN=new_database1;AutoCreate=1" -e "quit" Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved. Type ? or "help" for help, type "exit" to quit ttIsql. connect "DSN=new_database1;AutoCreate=1"; Connection successful: DSN=new_database1; UID=instadmin;DataStore=/scratch/databases/new_database1; DatabaseCharacterSet=AL32UTF8;ConnectionCharacterSet=AL32UTF8; PermSize=128; (Default setting AutoCommit=1) quit; Disconnecting... Done.
この時点でデータベースは空です。
新しいリリースのインスタンスから、-r
および-relaxedUpgrade
オプションを指定してttMigrate
ユーティリティを実行し、バックアップしたデータベースを新しいリリースにリストアします。例:
% ttMigrate -r -relaxedUpgrade new_database1 /tmp/database1.data Restoring rows... Restoring table TTUSER.JOBS 19/19 rows restored. Table successfully restored. Restoring table TTUSER.REGIONS Restoring rows... 4/4 rows restored. Table successfully restored. Restoring table TTUSER.COUNTRIES Restoring rows... 25/25 rows restored. Restoring foreign key dependency COUNTR_REG_FK on TTUSER.REGIONS Table successfully restored. Restoring table TTUSER.LOCATIONS Restoring rows... 23/23 rows restored. Restoring foreign key dependency LOC_C_ID_FK on TTUSER.COUNTRIES Table successfully restored. Restoring table TTUSER.DEPARTMENTS Restoring rows... 27/27 rows restored. Restoring foreign key dependency DEPT_LOC_FK on TTUSER.LOCATIONS Table successfully restored. Restoring table TTUSER.EMPLOYEES Restoring rows... 107/107 rows restored. Restoring foreign key dependency EMP_DEPT_FK on TTUSER.DEPARTMENTS Restoring foreign key dependency EMP_JOB_FK on TTUSER.JOBS Table successfully restored. Restoring table TTUSER.JOB_HISTORY Restoring rows... 10/10 rows restored. Restoring foreign key dependency JHIST_DEPT_FK on TTUSER.DEPARTMENTS Restoring foreign key dependency JHIST_EMP_FK on TTUSER.EMPLOYEES Restoring foreign key dependency JHIST_JOB_FK on TTUSER.JOBS Table successfully restored. Restoring view TTUSER.EMP_DETAILS_VIEW View successfully restored. Restoring sequence TTUSER.DEPARTMENTS_SEQ Sequence successfully restored. Restoring sequence TTUSER.EMPLOYEES_SEQ Sequence successfully restored. Restoring sequence TTUSER.LOCATIONS_SEQ Sequence successfully restored.
データベースが新しいリリースで稼働したら、このデータベースのバックアップを作成して、データベースの有効なリストア・ポイントを作成します。データベースのバックアップを作成したら、データベースのttMigrate
コピー(この例では、/tmp/database1.data
)を削除できます。オプションで、旧リリースの場合、インスタンスを削除してインストール環境を削除できます。
TimesTen Classicの新しいリリースにアップグレードする場合、連続してアプリケーションから使用可能な状態にする必要があるミッション・クリティカルなデータベースがある場合があります。データベースが異なるリリースのTimesTenで構成されている場合でも、TimesTenレプリケーションを使用して、データベースの2つのコピーの同期をとることができます。これによって、一方のデータベースのインスタンスをアップグレードしている間に、データベースのもう一方のコピーにアプリケーションを接続したままにできます。アップグレードが完了すると、アクティブ・データベースに対して行われたすべての更新は、アップグレードされたインスタンスのデータベースに即時に送信されるため、アプリケーションは、データの損失や停止時間なしで切り替えることができます。詳細は、「クラシック・レプリケーションを使用したオンライン・アップグレードの実行」を参照してください。
オンライン・アップグレード処理は、アップグレード実行中のユーザー表の更新のみをサポートしています。レプリケートする表には、PRIMARY KEY
または一意索引(NULLを指定できない列)が含まれている必要があります。CREATE TABLE
やCREATE INDEX
などのデータ定義の変更は、DDLReplicationLevel
が2
に設定されたアクティブ・スタンバイ・ペアの場合を除き、レプリケートされません。後者の場合、CREATE
TABLE
およびCREATE
INDEX
がレプリケートされます。
アップグレードではデータベースの2つのコピー(データベースが複数ある場合はそれぞれの2つのコピー)が必要なため、アップグレードを1つのホストで実行する場合は、データベースが通常必要とする量の2倍のメモリーとディスク領域が使用可能である必要があります。
ノート:
|
この項では、TimesTenレプリケーション機能を使用して、データの継続使用が必要なアプリケーションのオンライン・アップグレードを実行する方法について説明します。
この手順は、一方向、双方向または複数方向のシナリオのクラシック・レプリケーション用です。
通常、データの高可用性が求められるアプリケーションでは、TimesTenレプリケーションを使用して、最新のデータベースのコピーを1つ以上保持しておきます。これらの2つのコピーの一方が更新中の場合にも、一方をアプリケーションで使用できるように保持することで、オンライン・アップグレードが機能します。この項で説明した手順は、Oracle TimesTen In-Memory Databaseレプリケーション・ガイドの単方向または双方向のレプリケーションの説明のとおり、双方向のレプリケーション・スキームが構成されていて、2つのデータベースに対して実行されていることを前提としています。
次の点に注意してください。
アクティブ・スタンバイ・ペアについては、「キャッシュ・グループを使用しないアクティブ・スタンバイ・ペアのオンライン・アップグレード」および「キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのオンライン・アップグレード」を参照してください。読取り専用キャッシュ・グループの場合、キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレードのみがサポートされます。かわりに、「キャッシュ・グループが構成されているアクティブ・スタンバイ・ペアのオフライン・アップグレード」を参照してください。
Oracle Clusterwareの使用については、「Oracle Clusterware使用時のTimesTenのオンライン・アップグレードの実行」を参照してください。Oracle Clusterwareによって管理されるアクティブ・スタンバイ・ペアの場合、オンライン・メジャー・アップグレードはサポートされません。
次の項では、レプリケーションを使用したオンライン・アップグレードの実行方法について説明します。
レプリケーションを使用してオンライン・アップグレードを実行する場合は、静的ポートを使用するようにレプリケーションを構成する必要があります。詳細は、Oracle TimesTen In-Memory Databaseレプリケーション・ガイドのポートの割当てを参照してください。
ttMigrate
ユーティリティを使用して作成したデータベースのバックアップ・コピーを格納するために、追加のディスク領域を割り当てる必要があります。通常、バックアップ・コピーのサイズは、使用中のデータベースのサイズとほぼ同じです。このサイズを確認するには、ttIsql
を使用してv$monitor
ビューを問い合せます。
Command> SELECT perm_in_use_size FROM v$monitor;
次のステップは、レプリケーションの実行中にオンライン・アップグレードを実行する方法を示しています。アップグレード・ホストは、データベースのアップグレードが実行されているホストで、アクティブなホストは、アプリケーションが引き続き接続されるデータベースを含むホストです。
ノート: 次のステップで、標準アップグレードを行います。接続属性ReplicationApplyOrdering が0 に設定されているTimesTen 11.2.1のデータベースや、ReplicationParallelism が<2 に設定されているTimesTen 11.2.1以上のデータベースからのアップグレードでは、リリースが同じメジャー・リリース・ラインであっても、データベースの再作成が必要です。 |
ステップ | ホストのアップグレード | アクティブなホスト |
---|---|---|
1. | 静的ポートを使用してアクティブ・ホストにレプリケートされるように、レプリケーションを構成します。 | 静的ポートを使用してアップグレード・ホストにレプリケートされるように、レプリケーションを構成します。 |
2. | 該当なし | すべてのアプリケーションをアクティブ・データベースに接続します(接続されていない場合)。 |
3. | アップグレードするデータベースからすべてのアプリケーションを切断します。 | 該当なし |
4. | 該当なし | アップグレード・ホストへのレプリケーションをPAUSE 状態に設定します。 |
5. | アクティブ・ホストに更新が伝播されるまで待機します。 | 該当なし |
6. | レプリケーションを停止します。 | 該当なし |
7. | ttMigrate -c を使用してデータベースをバックアップし、ttDestroy を実行してデータベースを破棄します。 |
該当なし |
8. | 以前のリリースのTimesTenデーモンを停止します。 | 該当なし |
9. | 新しいリリースの新しいインストール環境および新しいインスタンスを作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。 | 該当なし |
10. | 新しいリリースのアップグレード後のデータベースのDSNを作成します。DSNの並列処理オプションを調整します。 | 該当なし |
11. | ttMigrate -r を使用して、バックアップからデータベースをリストアします。 |
該当なし |
12. | ttRepAdmin -receiver -reset を使用して、アクティブ・ホストへのレプリケーションをstop に設定した後start 状態に設定し、レプリケーション・ブックマークおよびログを消去します。 |
該当なし |
13. | レプリケーションを開始します。 | 該当なし |
14. | 該当なし | アップグレード・ホストへのレプリケーションをstart 状態に設定し、レプリケーションの再開後、蓄積された更新が確実に伝播されるようにします。 |
15. | 該当なし | レプリケーションを開始します。 |
16. | 該当なし | すべての更新内容がアップグレード・ホストに伝播されるまで待機します。 |
17. | アップグレード後のデータベースにすべてのアプリケーションを再接続します。 | 該当なし |
アップグレード・ホストで前述の手順が完了した後、同じステップを使用してアクティブなホストをアップグレードできます。
この項では、双方向でレプリケートされている2つのデータベースのシナリオでオンライン・アップグレードを実行する手順について説明します。
ここでは、2つのホストを、アップグレード・ホスト(インスタンスとデータベースがアップグレードされる)およびアクティブ・ホスト(アップグレード期間中、操作可能でアプリケーションに接続される)と呼びます。手順が完了した後、同じステップを繰り返してアクティブ・ホストをアップグレードできます。ただし、アップグレードされたインスタンスを最初にテストするために、アクティブ・ホストの変換を遅延することもできます。
この例では、アップグレード・ホストは、サーバーupgradehost
上のデータベースupgrade
で構成されています。アクティブ・ホストは、サーバーactivehost
上のデータベースactive
で構成されています。
以降のステップを記載の順に実行します。
ステップ | ホストのアップグレード | アクティブなホスト |
---|---|---|
1. | データベースがリリース間で通信できるように静的レプリケーション・ポート番号を設定し、ttIsql を使用してレプリケーション・スキームrepscheme を変更します。
|
データベースがリリース間で通信できるように静的レプリケーション・ポート番号を設定し、ttIsql を使用してレプリケーション・スキームrepscheme を変更します。
|
2. | データベースに接続されているすべての本番アプリケーションを切断します。アップグレード・ホストで実行されているワークロードが、かわりにアクティブ・ホストで実行を開始する必要があります。 | ttRepAdmin ユーティリティを使用して、データベースactive からデータベースupgrade へのレプリケーションを一時停止します。
ttRepAdmin -receiver -name upgrade -state pause active このコマンドにより、データベース 詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』のサブスクライバのレプリケーション状態の設定に関する説明を参照してください。 |
3. | データベースactive に送信されるすべてのレプリケーションの更新を待機します。データベースupgrade で、更新の確認用として予約されている表に認識可能な更新を適用することで、更新がすべて送信されたことを確認できます。データベースactive に更新が適用されると、すべての以前の更新が送信されたことになります。
たとえば、 Command> call ttRepSubscriberWait (,,,,60); < 00 > 1 row found. 詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのttRepSubscriberWaitを参照してください。 |
該当なし |
4. | ttAdmin を使用して、レプリケーション・エージェントを停止します。
ttAdmin -repStop upgrade これ以降、データベース |
ttAdmin を使用して、レプリケーション・エージェントを停止します。
ttAdmin -repStop active これ以降、データベース 詳細は、Oracle TimesTen In-Memory Databaseレプリケーション・ガイドのレプリケーション・エージェントの起動および停止に関する説明を参照してください。 |
5. | ttMigrate を使用して、データベースupgrade をバックアップします。データベースが非常に大規模な場合は、このステップに長時間かかる可能性があります。/backup ファイル・ホストに十分なディスク領域の空きがある場合は、次のttMigrate コマンドを使用します。
ttMigrate -c upgrade /backup/upgrade.dat |
該当なし |
6. | ttMigrate コマンドが正常に実行された場合、データベースupgrade を破棄します。
ttDestroy upgrade |
データベースactive のレプリケーション・エージェントを再開します。
ttAdmin -repStart active |
7. | 新しいリリースの新しいインストール環境および新しいインスタンスを作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。 | レプリケーション状態をstart に設定して、active からupgrade へのレプリケーションを再開します。
ttRepAdmin -receiver -name upgrade -start start active |
8. | ttMigrate を使用して、ステップ5で作成したバックアップを新しいリリースのデータベースupgrade にロードします。
ttMigrate -r upgrade /backup/upgrade.dat ttAdmin -ramLoad upgrade ノート: このステップでは、アップグレードしている新しいリリースの |
該当なし |
.9 | ttRepAdmin を使用して、データベースactive の受信側の状態を再設定し、レプリケーションをstop 状態に設定した後start 状態に設定することで、レプリケーション・ブックマークおよびログを消去します。
ttRepAdmin -receiver -name active -reset upgrade ttRepAdmin -receiver -name active -state stop upgrade sleep 10 ttRepAdmin -receiver -name active -state start upgrade sleep 10 ノート: リソースやオペレーティング・システムによっては、状態の変更に最大で10秒かかるものもあるため、それぞれの状態が確実に有効になるように |
該当なし |
10. | ttAdmin を使用して、新しいデータベースupgrade のレプリケーション・エージェントを開始し、データベースactive への更新の送信を開始します。
ttAdmin -repStart upgrade |
該当なし |
11. | データベースupgrade がデータベースactive から更新を受信するかを確認します。データベースactive で、更新の確認用として予約されている表に認識可能な更新を適用することで、更新が送信されたことを確認できます。upgrade に更新が適用されると、レプリケーションが動作していることになります。 |
アプリケーションがデータベースactive で実行中の場合は、データベースupgrade の移行が正常に終了し、更新がactive からupgrade に正しくレプリケートされたことを確認するまで、そのまま実行しておきます。 |
12. | 該当なし | 更新が正常にレプリケートされていることを確認したら、すべてのアプリケーションをデータベースactive から切断し、データベースupgrade に再接続できます。active からの最後の更新がupgrade にレプリケートされたことを確認した後、active のインスタンスはアップグレード可能となります。
ノート: 新しいリリースのデータベース |
アクティブ・スタンバイ・ペア・レプリケーションにより、アプリケーションへのデータの可用性が向上します。アクティブ・スタンバイ・ペアでは、非同期ライトスルー・キャッシュ・グループも使用する構成で新しいメジャー・リリースへアップグレードする場合を除き、オンライン・アップグレードを実行してアップグレード中にデータの可用性を継続して維持できます。この項では、次の手順について説明します。
ノート: 非同期ライトスルーまたは読取り専用キャッシュ・グループのみがアクティブ・スタンバイ・ペアでサポートされます。 |
この項では、アクティブ・スタンバイ・ペアを使用した、キャッシュ・グループのないシナリオにおけるオンライン・アップグレードについて説明します。
概要、制限および要件については、「クラシック・レプリケーションを使用したオンライン・アップグレードの実行」も参照してください。
スタンバイ・マスター・データベースおよびサブスクライバ・データベースの新しいパッチ・リリースへのオンライン・アップグレードを実行するには、各データベースで次のタスクを実行します。この手順では、キャッシュ・グループはないものとします。
ttRepStop
組込みプロシージャまたはttAdmin
ユーティリティを使用して、データベースのレプリケーション・エージェントを停止します。たとえば、スタンバイ・データベースmaster2
のレプリケーション・エージェントを停止するには、次のようにします。
ttAdmin -repStop master2
新しいリリースの新しいインストール環境および新しいインスタンスを作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
ttRepStart
組込みプロシージャまたはttAdmin
ユーティリティを使用して、レプリケーション・エージェントを再開します。
ttAdmin -repStart master2
アクティブ・マスター・データベースの新しいパッチ・リリースへのオンライン・アップグレードを実行するには、アクティブ・マスター・データベースとスタンバイ・マスター・データベースの役割を逆にしてから、アップグレードを行う必要があります。この手順では、キャッシュ・グループはないものとします。
アクティブ・マスター・データベースで更新を生成しているすべてのアプリケーションを一時停止します。
スタンバイ・マスター・データベースのDSNおよびホストを使用して、アクティブ・マスター・データベースのttRepSubscriberWait
組込みプロシージャを実行します。(コールの結果は00
である必要があります。値が01
の場合は、値00
が返されるまでttRepSubscriberWaitを再度コールする必要があります。)たとえば、すべてのトランザクションがmaster2host
のスタンバイ・マスターmaster2
にレプリケートされるようにするには、次のようにします。
call ttRepSubscriberWait( null, null, 'master2', 'master2host', 120 );
ttRepStop
組込みプロシージャまたはttAdmin
ユーティリティを使用して、現行のアクティブ・マスター・データベースのレプリケーション・エージェントを停止します。たとえば、アクティブ・マスター・データベースmaster1
のレプリケーション・エージェントを停止するには、次のようにします。
ttAdmin -repStop master1
現行のアクティブ・マスター・データベースでttRepDeactivate
組込みプロシージャを実行します。これによって、データベースがIDLE
状態になります。
call ttRepDeactivate;
スタンバイ・マスター・データベースで、ttRepStateSet
組込みプロシージャを使用して、データベースをACTIVE
状態に設定します。このデータベースがアクティブ・スタンバイ・ペアのアクティブ・マスターになります。
call ttRepStateSet( 'ACTIVE' );
ステップ1で一時停止したアプリケーションを再開し、現在アクティブ・マスターとして動作しているデータベース(たとえば、master2
)に接続します。
ノート: この時点では、新しいアクティブ・データベースからサブスクライバ・データベースへのレプリケーションは発生しません。レプリケーションは、新しいスタンバイ・データベースがアップグレードされ、新しいスタンバイ・データベースのレプリケーション・エージェントが実行されてから再開されます。 |
前のアクティブ・マスター・データベース(今のスタンバイ・マスター・データベース)のインスタンスをアップグレードします。詳細は、「オフライン・アップグレード: 別のパッチまたはパッチ・セットへの移動: ttInstanceModify」を参照してください。
ttRepStart
組込みプロシージャまたはttAdmin
ユーティリティを使用して、アップグレードしたインスタンスのデータベースのレプリケーションを再起動します。
ttAdmin -repStart master2
新しくアップグレードしたインスタンスのデータベースを再びアクティブ・マスター・データベースにするには、Oracle TimesTen In-Memory Databaseレプリケーション・ガイドのアクティブ・データベースとスタンバイ・データベースの役割の入替えに関する説明を参照してください。
アクティブ・スタンバイ・ペアからTimesTenの新しいメジャー・リリースへのオンライン・アップグレードを実行するには、各データベースのTCP/IPポートを明示的に指定する必要があります。アクティブ・スタンバイ・ペアのレプリケーション・スキームで各データベースのPORT
属性が構成されていない場合は、アップグレードの準備として次のステップを実行する必要があります。この手順では、キャッシュ・グループはないものとします。(読取り専用キャッシュ・グループの場合、キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレードのみがサポートされます。)
ttRepStop
組込みプロシージャをコールするか、ttAdmin
ユーティリティを使用して、すべてのデータベースでレプリケーション・エージェントを停止します。たとえば、データベースmaster1
のレプリケーション・エージェントを停止するには、次のようにします。
ttAdmin -repStop master1
アクティブ・マスター・データベースで、ALTER ACTIVE STANDBY PAIR
文を使用してアクティブ・スタンバイ・ペアのすべてのデータベースのPORT
属性を指定します。たとえば、master1host
ホスト上のmaster1
データベース、master2host
ホスト上のmaster2
データベースおよびsubscriber1host
ホスト上のsubscriber1
データベースのPORT
属性を設定するには、次のようにします。
ALTER ACTIVE STANDBY PAIR ALTER STORE master1 ON "master1host" SET PORT 30000 ALTER STORE master2 ON "master2host" SET PORT 30001 ALTER STORE subscriber1 ON "subscriber1host" SET PORT 30002;
ttDestroy
ユーティリティを使用して、スタンバイ・マスター・データベースおよびすべてのサブスクライバを破棄します。たとえば、データベースsubscriber1
を破棄するには、次のようにします。
ttDestroy subscriber1
通常の手順に従ってアクティブ・スタンバイ・ペアを起動し、アクティブ・マスターからスタンバイ・データベースおよびサブスクライバ・データベースを複製します。詳細は、Oracle TimesTen In-Memory Databaseレプリケーション・ガイドのキャッシュ・グループのないアクティブ・スタンバイ・ペアの設定に関する説明を参照してください。
アクティブ・スタンバイ・ペアのインスタンスをアップグレードするには、まずスタンバイ・マスターのインスタンスをアップグレードします。このノードのアップグレード中はスタンバイ・マスター・データベースが存在しないため、アクティブ・マスター・データベースでの更新は、サブスクライバ・データベースに直接伝播されます。スタンバイ・ノードのアップグレード後に、アクティブ・ロールとスタンバイ・ロールが切り替えられ、新しいアクティブ・ロールから新しいスタンバイ・ロールが作成されます。最後に、サブスクライバ・ノードがアップグレードされます。
アクティブ・マスター・データベースでttRepStateSave
組込みプロシージャを実行して、アクティブ・マスター・データベースに、スタンバイ・マスターへの更新のレプリケートを停止するように指示ます。たとえば、ホストmaster2host
のスタンバイ・マスター・データベースmaster2
へのレプリケートを停止するには、次のようにします。
call ttRepStateSave( 'FAILED', 'master2', 'master2host' );
ttRepStop
組込みプロシージャまたはttAdmin
ユーティリティを使用して、スタンバイ・マスター・データベースのレプリケーション・エージェントを停止します。次の例では、スタンバイ・マスター・データベースmaster2
のレプリケーション・エージェントを停止します。
ttAdmin -repStop master2
ttMigrate
ユーティリティを使用してスタンバイ・マスター・データベースをバイナリ・ファイルにバックアップします。
ttMigrate -c master2 master2.bak
詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのttMigrateを参照してください。
ttDestroy
ユーティリティを使用して、アクティブ・マスター・データベースを破棄します。
ttDestroy master2
master2host
スタンバイ・マスター・ホストに新しいインストール環境および新しいインスタンスを作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
master2host
の新しいインスタンスで、ttMigrate
を使用して、前に作成したバイナリ・ファイルからスタンバイ・マスター・データベースをリストアします。(この例では、20MB分のデータがリストアされるたびにチェックポイント操作が実行されます。)
ttMigrate -r -C 20 master2 master2.bak
ttRepStart
組込みプロシージャまたはttAdmin
ユーティリティを使用してスタンバイ・マスター・データベースのレプリケーション・エージェントを開始します。
ttAdmin -repStart master2
アップグレードしたインスタンスのスタンバイ・マスター・データベースがアクティブ・マスター・データベースと同期化すると、このスタンバイ・マスター・データベースはRECOVERING
状態からSTANDBY
状態に移行します。また、このスタンバイ・マスター・データベースは、サブスクライバに更新の送信も開始します。スタンバイ・マスター・データベースがSTANDBY
状態になるタイミングは、ttRepStateGet
組込みプロシージャをコールすることで決まります。
call ttRepStateGet;
アクティブ・マスター・データベースで更新を生成しているすべてのアプリケーションを一時停止します。
スタンバイ・マスター・データベースのDSNおよびホストを使用して、アクティブ・マスター・データベースのttRepSubscriberWait
組込みプロシージャを実行します。(コールの結果は00
である必要があります。値が01
の場合は、値00
が返されるまでttRepSubscriberWaitを再度コールする必要があります。)たとえば、すべてのトランザクションがホストmaster2host
のスタンバイ・マスターmaster2
にレプリケートされるようにするには、次のようにします。
call ttRepSubscriberWait( null, null, 'master2', 'master2host', 120 );
ttRepStop
組込みプロシージャまたはttAdmin
ユーティリティを使用して、アクティブ・マスター・データベースのレプリケーション・エージェントを停止します。たとえば、アクティブ・マスター・データベースmaster1
のレプリケーション・エージェントを停止するには、次のようにします。
ttAdmin -repStop master1
スタンバイ・マスター・データベースで、ttRepStateSet
組込みプロシージャを使用して、データベースをACTIVE
状態に設定します。このデータベースがアクティブ・スタンバイ・ペアのアクティブ・マスターになります。
call ttRepStateSet( 'ACTIVE' );
アクティブ・マスター・データベースでttRepStateSave
組込みプロシージャを実行して、新しいアクティブ・マスター・データベース(この例では、master2
)に、現在のスタンバイ・マスター(master1
)への更新のレプリケートを停止するように指示します。たとえば、ホストmaster1host
のスタンバイ・マスター・データベースmaster1
へのレプリケートを停止するには、次のようにします。
call ttRepStateSave( 'FAILED', 'master1', 'master1host' );
ttDestroy
ユーティリティを次のように使用して、前のアクティブ・マスター・データベースを破棄します。
ttDestroy master1
新しいリリースの新しいインストール環境および新しいインスタンスをmaster1host
に作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
ttRepAdmin
ユーティリティを使用して、新しいスタンバイ・マスター・データベースを複製することによって、新しいスタンバイ・マスター・データベースを作成します。たとえば、master2host
ホスト上のmaster2
データベースをmaster1
データベースに複製するには、master1
データベースを含むホストで次のように実行します。
ttRepAdmin -duplicate -from master2 -host master2host -uid pat -pwd patpwd -setMasterRepStart master1
ttRepStart
組込みプロシージャまたはttAdmin
ユーティリティを使用して新しいスタンバイ・マスター・データベースのレプリケーション・エージェントを開始します。
ttAdmin -repStart master1
ttRepStop
組込みプロシージャまたはttAdmin
ユーティリティを使用して、最初のサブスクライバ・データベースのレプリケーション・エージェントを停止します。たとえば、サブスクライバ・データベースsubscriber1
のレプリケーション・エージェントを停止するには、次のコマンドを使用します。
ttAdmin -repStop subscriber1
ttDestroy
ユーティリティを使用して、サブスクライバ・データベースを破棄します。
ttDestroy subscriber1
新しいリリースの新しいインストール環境および新しいインスタンスをサブスクライバ・ホストに作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
ttRepAdmin
ユーティリティを使用して、新しいスタンバイ・マスター・データベースを複製することによってサブスクライバ・データベースを作成します。
ttRepAdmin -duplicate -from master1 -host master1host -uid pat -pwd patpwd -setMasterRepStart subscriber1
ttRepStart
組込みプロシージャまたはttAdmin
ユーティリティを使用して、複製したサブスクライバ・データベースのレプリケーション・エージェントを開始します。
ttAdmin -repStart subscriber1
この項では、アクティブ・スタンバイ・ペアおよびキャッシュ・グループを使用したシナリオにおけるオンライン・パッチ・アップグレードについて説明します。
概要、制限および要件については、「クラシック・レプリケーションを使用したオンライン・アップグレードの実行」も参照してください。
スタンバイ・マスター・データベースおよびサブスクライバ・データベースの新しいパッチ・リリースへのオンライン・アップグレードを実行するには、キャッシュ・グループを使用した構成で、各データベースで次のタスクを実行します(例外については説明を参照)。
ttRepStop
組込みプロシージャまたはttAdmin
ユーティリティを使用して、データベースのレプリケーション・エージェントを停止します。たとえば、スタンバイ・データベースmaster2
のレプリケーション・エージェントを停止するには、次のようにします。
ttAdmin -repStop master2
ttCacheStop
組込みプロシージャまたはttAdmin
ユーティリティを使用して、スタンバイ・データベースのキャッシュ・エージェントを停止します。
ttAdmin -cacheStop master2
新しいリリースの新しいインストール環境および新しいインスタンスを作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
ttCacheStart
組込みプロシージャまたはttAdmin
ユーティリティを使用して、スタンバイ・データベースのキャッシュ・エージェントを再開します。
ttAdmin -cacheStart master2
ttRepStart
組込みプロシージャまたはttAdmin
ユーティリティを使用して、レプリケーション・エージェントを再開します。
ttAdmin -repStart master2
ノート: ステップ2およびステップ4のキャッシュ・エージェントの停止および再起動は、サブスクライバ・データベースには適用できません。 |
アクティブ・マスター・データベースの新しいパッチ・リリースへのオンライン・アップグレードを実行するには、キャッシュ・グループを使用した構成で、各データベースで次のステップを実行します。最初に、アクティブ・マスター・データベースとスタンバイ・マスター・データベースの役割を逆にしてから、アップグレードを行う必要があります。
アクティブ・マスター・データベースで更新を生成しているすべてのアプリケーションを一時停止します。
ttCacheStop
組込みプロシージャまたはttAdmin
ユーティリティを使用して、現行のアクティブ・マスター・データベースのキャッシュ・エージェントを停止します。
ttAdmin -cacheStop master1
スタンバイ・マスター・データベースのDSNおよびホストを使用して、アクティブ・マスター・データベースのttRepSubscriberWait
組込みプロシージャを実行します。たとえば、すべてのトランザクションがホストmaster2host
のスタンバイ・マスターmaster2
にレプリケートされるようにするには、次のようにします。
call ttRepSubscriberWait( null, null, 'master2', 'master2host', 120 );
ttRepStop
組込みプロシージャまたはttAdmin
ユーティリティを使用して、現行のアクティブ・マスター・データベースのレプリケーション・エージェントを停止します。たとえば、アクティブ・マスター・データベースmaster1
のレプリケーション・エージェントを停止するには、次のようにします。
ttAdmin -repStop master1
現行のアクティブ・マスター・データベースでttRepDeactivate
組込みプロシージャを実行します。これによって、データベースがIDLE
状態になります。
call ttRepDeactivate;
スタンバイ・マスター・データベースで、ttRepStateSet
組込みプロシージャを使用して、データベースをACTIVE
状態に設定します。このデータベースがアクティブ・スタンバイ・ペアのアクティブ・マスターになります。
call ttRepStateSet( 'ACTIVE' );
ステップ1で一時停止したアプリケーションを再開し、現在アクティブ・マスターとして動作しているデータベース(この例では、master2
データベース)に接続します。
前のアクティブ・マスター・データベース(今のスタンバイ・マスター・データベース)のインスタンスをアップグレードします。詳細は、「オフライン・アップグレード: 別のパッチまたはパッチ・セットへの移動: ttInstanceModify」を参照してください。
ttCacheStart
組込みプロシージャまたはttAdmin
ユーティリティを使用して、アップグレード後のデータベースのキャッシュ・エージェントを再開します。
ttAdmin -cacheStart master1
ttRepStart
組込みプロシージャまたはttAdmin
ユーティリティを使用して、アップグレード後のデータベースのレプリケーションを再開します。
ttAdmin -repStart master1
アップグレード後のデータベースを再びアクティブ・マスター・データベースにするには、Oracle TimesTen In-Memory Databaseレプリケーション・ガイドのアクティブ・データベースとスタンバイ・データベースの役割の入替えに関する説明を参照してください。
読取り専用キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのシナリオで、リリース11.2.2からリリース18.1へのメジャー・アップグレードを実行するには、次のステップを実行します。
このステップでは、master1
がmaster1host
ホスト上のアクティブ・マスター・データベースであり、master2
がmaster2host
ホスト上のスタンバイ・マスター・データベースであることを想定しています。
ノート: ここで述べている組込みプロシージャおよびユーティリティの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「組込みプロシージャ」および「ユーティリティ」を参照してください。 |
アクティブ・マスター・ホストでttAdmin
ユーティリティを実行し、アクティブ・マスター・データベースのレプリケーション・エージェントを停止します。
ttAdmin -repStop master1
アクティブ・マスター・データベースでDROP ACTIVE STANDBY PAIR
文を使用し、アクティブ・スタンバイ・ペアを削除します。たとえば、ttIsql
ユーティリティから次のようにします。
Command> DROP ACTIVE STANDBY PAIR;
アクティブ・マスター・データベースでCREATE ACTIVE STANDBY PAIR
文を使用し、キャッシュ・グループを除外した新しいアクティブ・スタンバイ・ペアを作成します。各データベースのTCP/IPポートは必ず明示的に指定してください。
Command> CREATE ACTIVE STANDBY PAIR master1 ON "master1host", master2 ON "master2host" STORE master1 ON "master1host" PORT 20000 STORE master2 ON "master2host" PORT 20010 EXCLUDE CACHE GROUP cacheuser.readcache;
ノート: ttIsql ユーティリティでcachegroups コマンドを使用し、データベースに定義するキャッシュ・グループをすべて指定できます。この例では、readcache はcacheuser によって所有されている読取り専用のキャッシュ・グループです。 |
アクティブ・マスター・データベースでttRepStateSet
組込みプロシージャを呼び出し、アクティブ・マスター・データベースのレプリケーション状態をACTIVE
に設定します。
Command> call ttRepStateSet('ACTIVE');
アクティブ・マスター・データベースのレプリケーション状態がACTIVE
に設定されていることを確認するには、ttRepStateGet
組込みプロシージャを呼び出します。
Command> call ttRepStateGet(); < ACTIVE > 1 row found.
アクティブ・マスター・データベースでttRepStart
組込みプロシージャを呼び出し、レプリケーション・エージェントを起動します。
Command> call ttRepStart();
スタンバイ・マスター・ホストでttAdmin
ユーティリティを実行し、スタンバイ・マスター・データベースのレプリケーション・エージェントを停止します。
ttAdmin -repStop master2
スタンバイ・マスター・ホストでttAdmin
ユーティリティを実行し、スタンバイ・マスター・データベースのキャッシュ・エージェントを停止します。
ttAdmin -cacheStop master2
スタンバイ・マスター・ホストでttDestroy
ユーティリティを実行し、スタンバイ・マスター・データベースを破棄します。-force
オプションを追加するか、最初にすべてのキャッシュ・グループを削除する必要があります。
ttDestroy -force master2
ttRepAdmin
ユーティリティで新しいスタンバイ・マスター・データベースを複製することによって、新しいスタンバイ・マスター・データベースを作成します。たとえば、master2
データベースのmaster1host
ホスト上にあるmaster1
データベースを複製するには、master2
データベースを含むホストで次のように実行します。
ttRepAdmin -duplicate -from master1 -host master1host -UID pat -PWD patpwd -keepCG -cacheUid cacheuser -cachePwd cachepwd master2
ノート: これを複製するには、アクティブ・マスター・データベースでADMIN 権限が定義されているユーザーが必要です。この例では、patpwd パスワードで識別されるpat ユーザーが、ADMIN 権限を持っています。
キャッシュ・グループ表を維持するには、 |
新しいスタンバイ・マスター・データベースでDROP CACHE GROUP
文を使用し、キャッシュ・グループをすべて削除します。
Command> DROP CACHE GROUP cacheuser.readcache;
スタンバイ・マスター・ホストでttMigrate
ユーティリティを実行し、スタンバイ・マスター・データベースをバイナリ・ファイルにバックアップします。
ttMigrate -c master2 master2.bak
スタンバイ・マスター・ホストでttDestroy
ユーティリティを実行し、スタンバイ・マスター・データベースを破棄します。
ttDestroy master2
新しいリリースの新しいインストール環境および新しいインスタンスをスタンバイ・マスター・ホストに作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
スタンバイ・マスター・ホスト上の新しいインスタンスで、ttMigrate
ユーティリティを実行し、前の手順で作成したバイナリ・ファイルからスタンバイ・マスター・データベースをリストアします。
ttMigrate -r -C 20 master2 master2.bak
ノート: この例では、20MB分のデータがリストアされるたびにチェックポイント操作が実行されます。 |
スタンバイ・マスター・データベースでCREATE USER
文を使用し、新しいキャッシュ管理ユーザーを作成します。
Command> CREATE USER cacheuser2 IDENTIFIED BY cachepwd; Command> GRANT CREATE SESSION, CACHE_MANAGER, CREATE ANY TABLE, DROP ANY TABLE TO cacheuser2;
ノート: 新しいキャッシュ管理ユーザーはOracleデータベースに作成し、キャッシュ・グループ操作の実行に必要な最小限の権限をそのユーザーに付与する必要があります。詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のOracle Databaseでのユーザーの作成に関する説明を参照してください。 |
キャッシュ管理ユーザーとしてスタンバイ・マスター・データベースに接続し、ttCacheUidPwdSet
組込みプロシージャを呼び出して、新しいキャッシュ管理ユーザーの名前とパスワードを設定します。接続文字列内のOraclePWD
接続属性で、Oracleデータベースのキャッシュ管理ユーザーのパスワードを必ず指定してください。
ttIsql "DSN=master2;UID=cacheuser2;PWD=cachepwd;OraclePWD=oracle" Command> call ttCacheUidPwdSet('cacheuser2','oracle');
スタンバイ・マスター・データベースでttCacheStart
組込みプロシージャを呼び出し、キャッシュ・エージェントを起動します。
Command> call ttCacheStart();
スタンバイ・マスター・データベースでttRepStart
組込みプロシージャを呼び出し、レプリケーション・エージェントを起動します。
Command> call ttRepStart();
レプリケーション状態は、自動的にSTANDBY
に設定されます。ttRepStateGet
組込みプロシージャをコールしてこれを確認できます。(非同期で実行され、少し時間がかかります。)
Command> call ttRepStateGet(); < STANDBY > 1 row found.
スタンバイ・マスター・データベースでCREATE READONLY CACHE GROUP
文を使用し、読取り専用キャッシュ・グループをすべて作成します。
Command> CREATE READONLY CACHE GROUP cacheuser2.readcache AUTOREFRESH INTERVAL 10 SECONDS FROM oratt.readtbl (keyval NUMBER NOT NULL PRIMARY KEY, str VARCHAR(32));
ノート: キャッシュ管理ユーザーが、Oracleデータベースのキャッシュ・グループ表に対するSELECT 権限を持っていることを確認してください。この例でcacheuser2 ユーザーは、Oracleデータベースのoratt ユーザーによって所有されているreadtbl 表に対するSELECT 権限を持っています。詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュするOracleデータベース表の作成に関する説明を参照してください。 |
スタンバイ・マスター・データベースでLOAD CACHE GROUP
文を使用し、Oracleデータベース表からTimesTenキャッシュ・グループにデータをロードします。
Command> LOAD CACHE GROUP cacheuser2.readcache COMMIT EVERY 200 ROWS;
アクティブ・マスター・データベースで更新を生成しているすべてのアプリケーションを一時停止します。
アクティブ・マスター・データベースで、スタンバイ・マスター・データベースのDSNおよびホストを使用して、ttRepSubscriberWait
組込みプロシージャを呼び出します。たとえば、すべてのトランザクションをmaster2host
ホスト上のmaster2
データベースにレプリケートするには、次のようにします。
Command> call ttRepSubscriberWait(NULL,NULL,'master2','master2host',120);
アクティブ・マスター・データベースでttRepStop
組込みプロシージャを呼び出し、レプリケーション・エージェントを停止します。
Command> call ttRepStop();
アクティブ・マスター・データベースでttRepDeactivate
組込みプロシージャを呼び出し、アクティブ・マスター・データベースのレプリケーション状態をIDLE
に設定します。
Command> call ttRepDeactivate();
スタンバイ・マスター・データベースでttRepStateSet
組込みプロシージャを呼び出し、スタンバイ・マスター・データベースのレプリケーション状態をACTIVE
に設定します。このデータベースとそのホストが、アクティブ・スタンバイ・ペアのレプリケーション・スキームでアクティブ・マスターになります。
Command> call ttRepStateSet('ACTIVE');
ノート: この例では、master2host ホスト上のmaster2 データベースが、アクティブ・スタンバイ・ペアのレプリケーション・スキームでアクティブ・マスターになったところです。同様に、master1host ホスト上のmaster1 は、これ以降、アクティブ・スタンバイ・ペアのレプリケーション・スキームにおけるスタンバイ・マスターとみなされます。 |
新しいアクティブ・マスター・データベースでttRepStop
組込みプロシージャを呼び出し、レプリケーション・エージェントを停止します。
Command> call ttRepStop();
アクティブ・マスター・データベースでALTER CACHE GROUP
文を使用し、すべてのキャッシュ・グループのAUTOREFRESH
モードをPAUSED
に設定します。
Command> ALTER CACHE GROUP cacheuser2.readcache SET AUTOREFRESH STATE PAUSED;
アクティブ・マスター・データベースでDROP ACTIVE STANDBY PAIR
文を使用し、アクティブ・スタンバイ・ペアを削除します。
Command> DROP ACTIVE STANDBY PAIR;
アクティブ・マスター・データベースでCREATE ACTIVE STANDBY PAIR
文を使用し、キャッシュ・グループを含めた新しいアクティブ・スタンバイ・ペアを作成します。各データベースのTCP/IPポートは必ず明示的に指定してください。
Command> CREATE ACTIVE STANDBY PAIR master1 ON "master1host", master2 ON "master2host" STORE master1 ON "master1host" PORT 20000 STORE master2 ON "master2host" PORT 20010;
アクティブ・マスター・データベースでttRepStateSet
組込みプロシージャを呼び出し、アクティブ・マスター・データベースのレプリケーション状態をACTIVE
に設定します。
Command> call ttRepStateSet('ACTIVE');
アクティブ・マスター・データベースでttRepStart
組込みプロシージャを呼び出し、レプリケーション・エージェントを起動します。
Command> call ttRepStart();
ステップ21で停止したアプリケーションがあれば再開し、新しいアクティブ・マスター・データベースに接続します。
新しいスタンバイ・マスター・ホストでttDestroy
ユーティリティを実行し、新しいスタンバイ・マスター・データベースを破棄します。
ttDestroy master1
新しいリリースの新しいインストール環境および新しいインスタンスをスタンバイ・マスター・ホストに作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
ttRepAdmin
ユーティリティで新しいスタンバイ・マスター・データベースを複製することによって、新しいスタンバイ・マスター・データベースを作成します。たとえば、master2host
ホスト上のmaster2
データベースをmaster1
データベースに複製するには、master1
データベースを含むホストで次のように実行します。
ttRepAdmin -duplicate -from master2 -host master2host -UID pat -PWD patpwd -keepCG -cacheUid cacheuser2 -cachePwd cachepwd master1
スタンバイ・マスター・ホストでttAdmin
ユーティリティを実行し、スタンバイ・マスター・データベースのキャッシュ・エージェントを起動します。
ttAdmin -cacheStart master1
スタンバイ・マスター・ホストでttAdmin
ユーティリティを実行し、スタンバイ・マスター・データベースのキャッシュ・エージェントを起動します。
ttAdmin -repStart master1
非同期ライトスルー・キャッシュ・グループのあるアクティブ・スタンバイ・ペアのシナリオでメジャー・アップグレードを実行するには、オフライン・アップグレードが必要です。これについては、後の項で説明します。
キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのシナリオで、リリース11.2.2からリリース18.1へのメジャー・アップグレードを実行するには、次のステップを実行します。このアップグレードはオフラインで実行する必要があります。
このステップでは、master1
がmaster1host
ホスト上のアクティブ・マスター・データベースであり、master2がmaster2host
ホスト上のスタンバイ・マスター・データベースであることを想定しています。(説明した組込みプロシージャおよびユーティリティの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「組込みプロシージャ」および「ユーティリティ」を参照してください。)
アップグレード前に、アクティブ・データベースの更新をすべて停止します。
master1
から、ttRepSubscriberWait
組込みプロシージャをコールし、すべてのデータ更新がスタンバイ・データベースに適用されるようにします。numsec
には適切な待機時間を指定します。
call ttRepSubscriberWait(null, null, 'master2', 'master2host', numsec);
master2
から、ttRepSubscriberWait
組込みプロシージャをコールし、すべてのデータ更新がOracle Databaseに適用されるようにします。
call ttRepSubscriberWait(null, null, '_ORACLE', null, numsec);
master1host
で、ttAdmin
ユーティリティを使用してアクティブ・データベースのレプリケーション・エージェントを停止します。
ttAdmin -repStop master1
master2host
で、ttAdmin
を使用してスタンバイ・データベースのレプリケーション・エージェントを停止します。
ttAdmin -repStop master2
master1host
で、ttCacheStop
組込みプロシージャをコールするか、ttAdmin
を使用してアクティブ・データベースのキャッシュ・エージェントを停止します。
ttAdmin -cacheStop master1
master2host
で、ttCacheStop
をコールするか、ttAdmin
を使用してスタンバイ・データベースのキャッシュ・エージェントを停止します。
ttAdmin -cacheStop master2
master1host
で、ttMigrate
ユーティリティを使用して、アクティブ・データベースをバイナリ・ファイルにバックアップします。
ttMigrate -c master1 master1.bak
master1host
で、ttDestroy
ユーティリティを使用してアクティブ・データベースを破棄します。-force
オプションを使用するか、最初にすべてのキャッシュ・グループを削除する必要があります。-force
を使用する場合は、後でスクリプトcacheCleanup.sql
を実行します。
ttDestroy -force /data_store_path/master1
cacheCleanup.sql
スクリプトは、キャッシュ・ユーザーとしてOracle Databaseに接続後に実行するSQL*Plusスクリプトで、installation_dir
/oraclescripts
ディレクトリ(timesten_home
/install/oraclescripts
からアクセスできます)にあります。パラメータとして、ホスト名とデータベース名をフルパスを指定します。詳細は、Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイドの自動リフレッシュ・キャッシュ・グループで使用されるOracle Databaseオブジェクトの削除に関する説明を参照してください。
新しいメジャー・リリースの新しいインストール環境および新しいインスタンスをmaster1host
に作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
ttIsql
とDSN接続属性設定AutoCreate=1
を使用して、18.1.w.xに新しいデータベースを作成します。この新しいデータベースでキャッシュ・ユーザーを作成します。次の例は、このキャッシュ・ユーザーを作成し、適切なアクセス権を付与するためにttIsql
で実行する一連のコマンドを示しています。
次のステップのttMigrate -r
を実行するには、キャッシュ・ユーザーにはADMIN
権限が必要です。移行が完了したら、希望する場合は、このユーザーからADMIN
権限を取り消します。
Command> CREATE USER cacheuser IDENTIFIED BY cachepassword; Command> GRANT CREATE SESSION, CACHE_MANAGER, CREATE ANY TABLE, DROP ANY TABLE TO cacheuser; Command> GRANT ADMIN TO cacheuser;
master1host
の新しいインスタンスで、キャッシュ・ユーザーとしてttMigrate
ユーティリティを使用して、前に作成したバイナリ・ファイルからmaster1
をリストアします。(この例では、20MB分のデータがリストアされるたびにチェックポイント操作が実行されます。Oracle DatabaseでのパスワードはTimesTenと同じとします。)
ttMigrate -r -cacheuid cacheuser -cachepwd cachepassword -C 20 -connstr "DSN=master1;uid=cacheuser;pwd=cachepassword;oraclepwd=cachepassword" master1.bak
master1host
で、ttAdmin
を使用してレプリケーション・エージェントを開始します。
ttAdmin -repStart master1
ノート: また、このステップによりデータベースはアクティブ状態になります。ここでttRepStateGet 組込みプロシージャ(パラメータなし)をコールして状態を確認できます。 |
master1host
で、ttCacheStart
組込みプロシージャをコールするか、ttAdmin
を使用してキャッシュ・エージェントを開始します。
ttAdmin -cacheStart master1
次に、ttStatus
ユーティリティを使用して、レプリケーションおよびキャッシュ・エージェントが開始されているかを確認できます。
各自動リフレッシュ・キャッシュ・グループをAUTOREFRESH PAUSED
状態にします。この例では、ttIsql
を使用します。
Command> ALTER CACHE GROUP mycachegroup SET AUTOREFRESH STATE paused;
master1
から、各キャッシュ・グループを再ロードし、キャッシュ・グループの名前と捜査中のコミットの頻度を指定します。この例では、ttIsql
を使用します。
Command> LOAD CACHE GROUP cachegroupname COMMIT EVERY n ROWS;
オプションとして、パラレル・ロードも指定できます。詳細は、Oracle TimesTen In-Memory Database SQLリファレンスのLOAD CACHE GROUP SQL文を参照してください。
master2host
で、ttDestroy
ユーティリティを使用してスタンバイ・データベースを破棄します。-force
オプションを使用するか、最初にすべてのキャッシュ・グループを削除する必要があります。-force
を使用する場合は、前述のように後でスクリプトcacheCleanup.sql
を実行します。
ttDestroy -force /data_store_path/master2
新しいメジャー・リリースの新しいインストール環境および新しいインスタンスをmaster2host
に作成します。詳細は、「Linux/UNIXでのインストール環境の作成」および「Linux/UNIXでのインスタンスの作成: 基本」を参照してください。
master2host
の新しいインスタンスでttRepAdmin
を-duplicate
オプションで使用し、アクティブ・データベースmaster1
の複製を作成してスタンバイ・データベースmaster2
として使用します。master1
の適切な管理ユーザーを指定し、キャッシュ・マネージャのユーザーとパスワードを指定し、キャッシュ・グループを保持します。
ttRepAdmin -duplicate -from master1 -host master1host -uid pat -pwd patpwd -cacheUid orcluser -cachePwd orclpwd -keepCG master2
master2host
で、ttAdmin
を使用してレプリケーション・エージェントを開始します。(かわりに、前のステップでttRepAdmin
オプションの-setMasterRepStart
を使用できます。)
ttAdmin -repStart master2
master2
で、レプリケーションの状態が自動的にSTANDBY
に設定されます。ttRepStateGet
組込みプロシージャをコールしてこれを確認できます。(非同期で実行され、少し時間がかかります。)
call ttRepStateGet();
master2host
で、ttCacheStart
組込みプロシージャをコールするか、ttAdmin
を使用してキャッシュ・エージェントを開始します。
ttAdmin -cacheStart master2
その後、ttStatus
ユーティリティを使用して、レプリケーションおよびキャッシュ・エージェントが開始されているかを確認できます。
読取り専用のサブスクライバ・データベースを作成する場合は、各サブスクライバ・ホストで、ttRepAdmin
ユーティリティの-duplicate
オプションを使用して、スタンバイ・データベースを複製できます。次の例では、読取り専用のサブスクライバに適切なように、キャッシュ表を標準のTimesTen表に変換するため、前述の手順と同じADMIN
ユーザーおよび-nokeepCG
オプションを使用して、subscriber1
を作成します。
ttRepAdmin -duplicate -from master2 -host master2host -nokeepCG -uid pat -pwd patpwd subscriber1
関連情報については、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』の障害時リカバリ・サブスクライバのローリング・アウトに関する説明を参照してください。
この項では、Oracle ClusterwareとともにTimesTenを使用する場合のTimesTenのオフライン・アップグレードのステップを説明します。TimesTenのアップグレード中に、Oracle Clusterwareを独立してアップグレードするオプションもあります。(オンライン・アップグレードの詳細は、Oracle Clusterware使用時のTimesTenのオンライン・アップグレードの実行を参照してください。)
ノート:
|
この手順では、特に記載されている場合を除き、クラスタ内のいずれのホストからでもttCWAdmin
コマンドを実行できます。各コマンドはすべてのホストに影響します。
アクティブ・スタンバイ・ペアのデータベースでレプリケーション・エージェントを停止します。
ttCWAdmin -stop -dsn advancedDSN
アクティブ・スタンバイ・ペアを削除します。
ttCWAdmin -drop -dsn advancedDSN
TimesTenクラスタ・エージェントを停止します。これによって、クラスタからホストが削除され、TimesTenデーモンが停止します。
ttCWAdmin -shutdown
目的のホストでTimesTenをアップグレードします。
TimesTenのパッチ・アップグレードを実行するには、クラスタ内の各ノードに同じメジャー・リリースのTimesTenがある必要があります。
TimesTenのメジャー・アップグレードを実行するには、ttMigrate
を使用する必要があります。詳細は、「オフライン・アップグレード: 別のメジャー・リリースへの移動」を参照してください。
必要に応じて、Oracle Clusterwareをアップグレードします。詳細は、Oracle Databaseのドキュメントの『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。
Oracle Clusterwareをアップグレード済の場合、ttInstanceModify
ユーティリティを使用して、Oracle ClusterwareでTimesTenを構成します。各ホストで次のコマンドを実行します。
ttInstanceModify -crs
LinuxまたはUNIXホストの場合は、インスタンスのOracle Clusterware構成の変更を参照してください。
TimesTenクラスタ・エージェントを起動します。これには、ttcrsagent.options
で指定されたクラスタ内で定義されたホストを含みます。これにより、TimesTenデーモンも起動します。
ttCWAdmin -init
アクティブ・スタンバイ・ペアのレプリケーション・スキームを作成します。
ttCWAdmin -create -dsn advancedDSN
重要: このコマンドを実行するホストからcluster.oracle.ini
ファイルにアクセスできる必要があります。(このファイルの詳細はOracle TimesTen In-Memory Databaseレプリケーション・ガイドのcluster.oracle.iniファイルによるOracle Clusterware管理の設定に関する説明を参照してください。)
アクティブ・スタンバイ・ペアのレプリケーション・スキームを開始します。
ttCWAdmin -start -dsn advancedDSN
この項では、アクティブ・スタンバイ・ペアがOracle Clusterwareによって管理されている構成で、TimesTenのオンライン・ローリング・アップグレード(パッチ) (TimesTen 18.1.w.xから18.1.y.zへのアップグレード)を実行する方法について説明します。(オフライン・アップグレードの詳細は、Oracle Clusterware使用時のTimesTenのオフライン・アップグレードの実行を参照してください。)
この章では、次の項目について説明します。
ノート:
|
TimesTenのオンライン・ローリング・アップグレードでは、次の基本構成がサポートされています。いずれの場合も、Oracle Clusterwareによってホストが管理されます。
2つのホスト上の1つのアクティブ・スタンバイ・ペア。
各ホストに1つのデータベースを備えた複数のアクティブ・スタンバイ・ペア。
各ホストに1つ以上のデータベースを備えた複数のアクティブ・スタンバイ・ペア。
(追加のスペア・ホストを備えたものなど、他のシナリオもこれらのシナリオの1つと事実上同等です。)
Oracle Clusterwareを使用しているときにTimesTenをアップグレードするための次の前提に注意してください。
既存のアクティブ・スタンバイ・ペアは適切に構成され、動作しています。
スタンバイ・データベースを停止および起動するためのOracle Clusterwareコマンドは、適切に使用されています。
アップグレードを実行しても、アクティブ・データベースおよびスタンバイ・データベース用のTimesTen環境は変化しません。
これらの手順はTimesTenのパッチ・アップグレード専用です。Oracle Clusterwareによってアクティブ・スタンバイ・ペアが管理される構成では、オンライン・メジャー・アップグレードはサポートされていません。
少なくとも2つのホストがOracle Clusterwareによって管理されています。
Oracle Clusterwareによって管理されている複数のアクティブ・データベースまたはスタンバイ・データベースは、クラスタに少なくとも2つのホストがある場合のみホストに存在できます。
重要: 必要に応じてOracle Clusterwareをアップグレードします。ただし、TimesTenのオンライン・アップグレードと同時には実行できません。アクティブ・スタンバイ・ペアがOracle Clusterwareによって管理される構成でTimesTenのオンライン・パッチ・アップグレードを実行する場合は、TimesTenのアップグレードの前または後でClusterwareのアップグレードを個別に実行する必要があります。 |
ノート: Oracle Clusterwareインストールの詳細は、Oracle Databaseのドキュメントの『Oracle Clusterware管理およびデプロイメント・ガイド』を参照してください。 |
この項では、次の作業について説明します。
ノート: 次の項の例では、ホスト名はhost2 、DSNはmyDSN 、インスタンス名はupgrade2 およびインスタンス管理者はterry です。 |
これらのステップを実行して、アクティブ・スタンバイ・ペアが適切に機能していることを確認します。
次のことを確認します。
アクティブ・データベースおよびスタンバイ・データベースでTimesTen 18.1.w.xリリースが実行されます。
アクティブ・データベースおよびスタンバイ・データベースは、Oracle Clusterwareによって管理される別々のホストです。
レプリケーションが機能しています。
アクティブ・スタンバイ・ペアのレプリケーション・スキームにキャッシュ・グループが含まれている場合、次のことが正しくなります。
AWTおよびSWTによる書込みは、TimesTenのスタンバイ・データベースからOracle Databaseに対して機能しています。
リフレッシュは、Oracle DatabaseからTimesTenのアクティブ・データベースに対して機能しています。
ttCWAdmin -status -dsn
yourDSN
コマンドを実行して、次のことを確認します。
アクティブ・データベースは、スタンバイ・データベースとは違うホストにあります。
アクティブ・データベースの状態は'ACTIVE'
で、ステータスは'AVAILABLE'
です。
スタンバイ・データベースの状態は'STANDBY'
で、ステータスは'AVAILABLE'
です。
アクティブ・データベースでttStatus
コマンドを実行して、次のことを確認します。
ttCRSactiveservice
およびttCRSmaster
プロセスが実行されています。
サブデーモンおよびレプリケーション・エージェントが実行されています。
アクティブ・スタンバイ・ペアのレプリケーション・スキームにキャッシュ・グループが含まれている場合、キャッシュ・エージェントは実行されています。
スタンバイ・データベースでttStatus
コマンドを実行して、次のことを確認します。
ttCRSsubservice
およびttCRSmaster
プロセスが実行されています。
サブデーモンおよびレプリケーション・エージェントが実行されています。
アクティブ・スタンバイ・ペアのレプリケーション・スキームにキャッシュ・グループが含まれている場合、キャッシュ・エージェントは実行されています。
スタンバイ・データベースを停止するには、次のステップを実行します。
次のようなOracle Clusterwareコマンドを実行して、スタンバイ・データベースのホスト上のOracle Clusterwareマスター・プロセス、デーモン・プロセスおよびエージェント・プロセスの名前を取得します。grep TT
コマンドを使用して出力をフィルタ処理することをお薦めします。
crsctl status resource -n standbyHostName | grep TT
Oracle Clusterwareコマンドを実行してスタンバイ・データベースを停止します。Oracle Clusterwareコマンドは、スタンバイ・データベースのマスター・プロセス、インスタンスのデーモン・プロセスおよびインスタンスのエージェント・プロセスを停止します。
crsctl stop resource TT_Master_upgrade2_terry_myDSN_1 crsctl stop resource TT_Daemon_upgrade2_terry_host2 crsctl stop resource TT_Agent_upgrade2_terry_host2
TimesTenメイン・デーモンを停止します。
ttDaemonAdmin -stop
ttDaemonAdmin -stop
コマンドでエラー10028が発生する場合は、コマンドを再試行してください。
次のステップで、スタンバイ・データベースのインスタンスのオフライン・アップグレードを実行します。
新しいインストール環境を作成します。詳細は、Linux/UNIXでのインストール環境の作成を参照してください。
インスタンスが新しいインストール環境を指すようにします。詳細は、別のインストール環境とのインスタンスの関連付け(アップグレードまたはダウングレード)を参照してください。
Oracle Clusterware用の新しいインストールを構成します。
スタンバイ・データベースを起動するには、次のステップを実行します。
次のttCWAdmin
コマンドを実行して、TimesTenメイン・デーモン、TimesTen Oracle Clusterwareエージェント・プロセスおよびTimesTen Oracle Clusterwareデーモン・プロセスを起動します。
ttCWAdmin -init -hosts localhost
スタンバイ・データベースのOracle Clusterwareマスター・プロセスを起動します。
crsctl start resource TT_Master_upgrade2_terry_MYDSN_1
ttCWAdmin -switch
コマンドを使用して、アクティブデータベースとスタンバイデータベースのロールを切り替えて、他のマスター・データベースのオフライン・アップグレードを有効にします。
ttCWAdmin -switch -dsn myDSN
次のタスクを起動する前に、ttCWAdmin -status
コマンドを使用して、切替え操作が完了したことを確認します。
Oracle Clusterware crsctl status resource
コマンドを使用して、新しいスタンバイ・データベースのホスト上のマスター・プロセス、デーモン・プロセスおよびエージェント・プロセスの名前を取得します。この例では、ホストhost1
を想定し、grep TT
により出力をフィルタします。
crsctl status resource -n host1 | grep TT
スタンバイ・データベースの停止で説明されているコマンドなどを実行し、適切なインスタンス名、インスタンス管理者、DSNおよびホスト名を使用します。例:
crsctl stop resource TT_Master_upgrade2_terry_MYDSN_0 crsctl stop resource TT_Daemon_upgrade2_terry_host1 crsctl stop resource TT_Agent_upgrade2_terry_host1 ttDaemonAdmin -stop
ステップについては、「スタンバイ・データベースのアップグレードの実行」を参照してください。
「スタンバイ・データベースの開始」を参照してください。前述の「新しいスタンバイ・データベースの停止」に記載のcrsctl status resource
コマンドで取得したマスター・プロセス名を使用します。
ttCWAdmin -init -hosts localhost crsctl start resource TT_Master_upgrade2_terry_MYDSN_0
複数のホストのペアの複数のアクティブ・スタンバイ・ペアのインスタンスをアップグレードする手順は、2つのホストの単一のアクティブ・スタンバイ・ペアのインスタンスをアップグレードする手順と基本的に同じです。詳細は、1つのアクティブ・スタンバイ・ペアのアップグレード・タスクを参照してください。アクティブ・スタンバイ・ペアのアップグレードを一度に実行するのがベスト・プラクティスです。
ttCWAdmin -status
コマンドを使用して、Oracle Clusterwareによって管理されているデータベースの状態を調べます。
複数のアクティブ・スタンバイ・ペアは、ホストの複数のペア上で構成できます。詳細は、数多くのホストのペアでの複数アクティブ・スタンバイ・ペアのアップグレードを参照してください。または、複数のアクティブ・スタンバイ・ペアはホストの1つのペア上で構成できます。1つのシナリオとして、すべてのアクティブ・データベースを1つのホストで稼働させ、すべてのスタンバイ・データベースを別のホストで稼働させることができます。より典型的なシナリオでは、ワークロードのバランスを向上させるため、各ホストで複数のアクティブ・データベースとスタンバイ・データベースを稼働させることができます。
図6-1に、Oracle Clusterwareによって管理されている2つのホスト上の2つのアクティブ・スタンバイ・ペアを示します。host1
上のactive1
というアクティブ・データベースは、host2
上のstandby1
にレプリケートされます。host2
上のactive2
というアクティブ・データベースは、host1
上のstandby2
にレプリケートされます。両方のスタンバイ・データベースからのAWT更新は、Oracle Databaseに伝播されます。Oracle Databaseからの読取り専用の更新は、アクティブ・データベースに伝播されます。
この構成の場合、キャッシュ・グループ用の書込みスループットが増え、リソースの使用のバランスが向上することがあります。この種類の構成において、sys.odbc.ini
のエントリ例およびcluster.oracle.ini
ファイルの例については、次の項「構成ファイルの例: ホストの1つのペア上の複数のアクティブ・スタンバイ・ペア」を参照してください。(このファイルの詳細は、Oracle TimesTen In-Memory Databaseレプリケーション・ガイドのcluster.oracle.iniファイルによるOracle Clusterware管理の設定に関する説明を参照してください。)
1つのホストのペアの複数のアクティブ・スタンバイ・ペアをローリング・アップグレードする手順は、複数のホストのペアの複数のアクティブ・スタンバイ・ペアをアップグレードする手順と同様です。詳細は、数多くのホストのペアでの複数アクティブ・スタンバイ・ペアのアップグレードを参照してください。
ただし、アクティブ・データベースとスタンバイ・データベースが2つのホストで混在している場合は、最初にすべてのスタンバイ・データベースを1つのホストに切り替え、すべてのアクティブ・データベースをもう1つのホストに切り替えます。ttCWAdmin -switch -dsn
DSN
コマンドを使用して、ホスト間のアクティブ・データベースとスタンバイ・データベースを切り替えます。すべてのアクティブ・データベースが1つのホストに切り替わり、すべてのスタンバイ・データベースがもう1つのホストに切り替わると、「スタンバイ」ホスト全体をアップグレードするために次のステップを実行します。
アップグレードは、インスタンス全体と、1つのホスト上にある関連のデータベースに影響を及ぼすことに注意してください。
スタンバイ・データベースが目的のホストで実行されることを確認します。ttCWAdmin -status -dsn
DSN
コマンドおよびttCWAdmin -status
コマンドを使用します。
Oracle Clusterware stop
コマンドを変更して、すべてのスタンバイ・データベースがあるホスト上のすべてのマスター・プロセスを停止します。
Oracle Clusterware start
コマンドを変更して、すべてのスタンバイ・データベースがあるホスト上のすべてのマスター・プロセスを起動します。
次の項では、関連した例について説明します。
次にsys.odbc.ini
エントリの例を示します。
[databasea] Driver=timesten_home/install/lib/libtten.so DataStore=/scratch/terry/ds/databasea PermSize=400 TempSize=320 DatabaseCharacterSet=WE8MSWIN1252 OracleNetServiceName=ORCL [databaseb] Driver=timesten_home/install/lib/libtten.so DataStore=/scratch/terry/ds/databaseb PermSize=400 TempSize=320 DatabaseCharacterSet=WE8MSWIN1252 OracleNetServiceName=ORCL [databasec] Driver=timesten_home/install/lib/libtten.so DataStore=/scratch/terry/ds/databasec PermSize=400 TempSize=320 DatabaseCharacterSet=WE8MSWIN1252 OracleNetServiceName=ORCL [databased] Driver=timesten_home/install/lib/libtten.so DataStore=/scratch/terry/ds/databased PermSize=400 TempSize=320 DatabaseCharacterSet=WE8MSWIN1252 OracleNetServiceName=ORCL
次に、cluster.oracle.ini
ファイルの例を示します。
[databasea] MasterHosts=host1,host2 CacheConnect=Y [databaseb] MasterHosts=host2,host1 CacheConnect=Y [databasec] MasterHosts=host2,host1 CacheConnect=Y [databased] MasterHosts=host1,host2 CacheConnect=Y
cluster.oracle.ini
ファイルは、1つのアクティブ・データベースおよび1つのスタンバイ・データベースを各ホストに配置します。これを行うには、MasterHost
属性に指定されているホスト名の順序を反転させます。
次のようなOracle Clusterwareコマンドを実行して、スタンバイ・データベースのホスト上のOracle Clusterwareマスター・プロセス、デーモン・プロセスおよびエージェント・プロセスの名前を取得します。grep TT
を使用して出力をフィルタ処理することをお薦めします。
crsctl status resource -n standbyHostName | grep TT
次のスクリプトは、Oracle Clusterwareが管理する同じホスト上の複数のデータベース用のスタンバイの停止スクリプトの例です。インスタンス名はupgrade2
です。インスタンス管理者はterry
です。ホストはhost2
です。databasea
とdatabaseb
という2つのスタンバイ・データベースがあります。
crsctl stop resource TT_Master_upgrade2_terry_DATABASEA_0 crsctl stop resource TT_Master_upgrade2_terry_DATABASEB_1 crsctl stop resource TT_Daemon_upgrade2_terry_HOST2 crsctl stop resource TT_Agent_upgrade2_terry_HOST2 ttDaemonAdmin -stop
次のスクリプトは、同じ構成向けのスタンバイの開始スクリプトの例です。
ttCWAdmin -init -hosts localhost crs start resource TT_Master_upgrade2_terry_DATABASEA_0 crs start resource TT_Master_upgrade2_terry_DATABASEB_1
自動パラレル・レプリケーションがデフォルトで有効化されます(TimesTenリリース11.2.2.2.0以上)。以前のリリースでは、ユーザー定義のレプリケーションは使用できましたが、自動パラレル・レプリケーションは使用できませんでした。リリース11.2.2.8.0のTimesTenでは、コミット依存性を無効にした自動パラレル・レプリケーションが最初に利用可能になりました。TimesTenリリース18.1.4.1.0では、ユーザー定義のレプリケーションは使用できませんが、両方の自動パラレル・レプリケーション・オプション(コミット依存性を無効化または有効化)を使用できます。
ノート: 『Oracle TimesTen In-Memory Databaseリファレンス』のReplicationApplyOrdering属性の値は変更されています。リリース11.2.2.2.0以上では、値0によって自動パラレル・レプリケーションが有効化されます。11.2.2.2.0よりも前のリリースでは、値0によってユーザー定義のパラレル・レプリケーションを無効化します。リリース11.2.2.8.0以上では、値に2を指定すると、コミット依存性を無効にして自動パラレル・レプリケーションを有効にすることができます。18.1リリースでは、ユーザー定義のパラレル・レプリケーション(値1を設定)はサポートされていません。 |
パラレル・レプリケーションが有効でないデータベースから、パラレル・レプリケーションが有効なこのリリースのデータベースに、オンラインまたはオフラインのアップグレードを実行できます(コミット依存性は有効または無効)。
ここからは、オフライン・アップグレードが必要となるシナリオとともに、追加の考慮事項を説明します。
パラレル・レプリケーションを使用するホストをアップグレードする際は、次の考慮事項に留意してください。
パラレル・レプリケーションを有効にしないアクティブ・スタンバイ・ペアを考慮します。インスタンスをリリース18.1にアップグレードして自動パラレル・レプリケーションを使用するには(ReplicationApplyOrdering
属性のデフォルト値は0)、アクティブ・スタンバイ・ペアをアップグレードする適切な手順を実行します。詳細は、「アクティブ・スタンバイ・ペア・レプリケーションを使用したアップグレードの実行」を参照してください。
キャッシュ・グループがなく、自動パラレル・レプリケーションが有効なアクティブ・スタンバイ・ペア(ReplicationApplyOrdering
の属性で値が0)を考えてみます。インスタンスをリリース18.1にアップグレードし、コミット依存性を無効にして自動パラレル・レプリケーションを使用する(ReplicationApplyOrdering
属性の値が2)には、アクティブ・スタンバイ・ペアをオンライン・メジャー・アップグレードする手順を実行します。詳細は、「アクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード」を参照してください。データベースをリストアする前に、ReplicationApplyOrdering
属性の値は0から2に変更する必要があります。例:
ttMigrate -r "DSN=master2;ReplicationApplyOrdering=2;ReplicationParallelism=2; LogBufParallelism=4" master2.bak
ノート: 同じアクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード手順を使用すれば、ReplicationApplyOrdering=2 のレプリケーション・スキームを持つデータベースを、ReplicationApplyOrdering=0 のデータベースにアップグレードできます。
コミット依存性を無効にした自動パラレル・レプリケーションでは、キャッシュ・グループなしの非同期アクティブ・スタンバイ・ペアのみがサポートされます。詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』のパラレル・レプリケーションの構成に関する説明を参照してください。 |
ReplicationParallelism
属性が1よりも大く、ReplicationApplyOrdering
属性の値が異なるデータベース同士ではレプリケートできません。
次のシナリオの場合、オフライン・アップグレードを使用する必要があります。
ユーザー定義のパラレル・レプリケーションから自動パラレル・レプリケーションへ移行する場合。たとえば、11.2.2.3.0よりも前のリリースから、ReplicationApplyOrdering
属性をデフォルト値(0
)に設定したリリース18.1への場合。ユーザー定義のパラレル・レプリケーションは、リリース18.1.4.1.0ではサポートされていません。
自動パラレル・レプリケーション環境から、ReplicationParallelism
属性の値によって示されるように異なるトラック数を持つ別の自動パラレル・レプリケーション環境へ移行する場合。
メジャー・リリース間(11.2.2から18.1)の移行で、非同期ライトスルー・キャッシュ・グループを使用。
11.2.2における非同期ライトスルーの通常のレプリケーションから、18.1の非同期ライトスルーの自動パラレル・レプリケーションへ移行する場合。
オフライン・アップグレードでは、「オフライン・アップグレード: 別のメジャー・リリースへの移動」で説明されている手順を使用できます。あるいは、一方をアップグレードし、ttRepAdmin -duplicate -recreate
コマンドを使用して新規データベースを作成できます。
完全インスタンスでデータベースにアクセスするために使用されているクライアント・インスタンスをアップグレードできます。インスタンスの詳細は、「インストール環境およびインスタンスの概要」および「TimesTenインスタンス」を参照してください。クライアント/サーバーの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenクライアント/サーバーの概要に関する項を参照してください。
アップグレードを実行するには、次のステップに従います。
オプション: このステップは、TimesTenクライアントのリリース情報の識別および検証に役立つ情報を提供することを目的として用意されています。
クライアント・インスタンスでttVersion
ユーティリティを実行し、クライアントのリリースとクライアント・インスタンスを確認します。この例では、クライアント・インスタンスでttVersion
を実行すると、クライアントのリリースが18.1.4.1.0
で、クライアント・インスタンスがinstance_1814_client
になります。
% ttVersion TimesTen Release 18.1.4.1.0 (64 bit Linux/x86_64) (instance_1814_client) 2020-06-29T23:22:07Z Instance home directory: /scratch/instance_1814_client Group owner: g900
オプション: このステップは、database1_1814
データベースへのクライアント接続を確立して表示するための情報を提供することを目的として用意されています。クライアント・インスタンスで、ttIsqlCS
を実行して(サーバー上の)完全インスタンスのdatabase1_1814
データベースに接続します。TCP_PORT
が指定されていないことに注意してください。デフォルト値が前提とされています。
% ttIsqlCS -connstr "TTC_SERVER=server.mycompany.com; TTC_SERVER_DSN=database1_1814"; Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved. Type ? or "help" for help, type "exit" to quit ttIsql. connect "TTC_SERVER=server.mycompany.com;TTC_SERVER_DSN=database1_1814"; Connection successful: DSN=;TTC_SERVER=server.mycompany.com; TTC_SERVER_DSN=database1_1814; ... (Default setting AutoCommit=1)
クライアント・インスタンスを使用しているすべてのアプリケーションを停止します。この例では、クライアント・インスタンスで最初にttIsqlCS
を実行してdatabase1_1814
データベースに接続してから、ttIsqlCS
を終了します。
% ttIsqlCS -connstr "TTC_SERVER=server.mycompany.com; TTC_SERVER_DSN=database1_1814"; Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved. Type ? or "help" for help, type "exit" to quit ttIsql. connect "TTC_SERVER=server.mycompany.com;TTC_SERVER_DSN=database1_1814"; Connection successful: DSN=;TTC_SERVER=server.mycompany.com; TTC_SERVER_DSN=database1_1814; ... (Default setting AutoCommit=1) Command> exit Disconnecting... Done.
新しい場所に新しいクライアント・インストール環境を作成します。たとえば、clientinstall_new
インストール・ディレクトリを作成します。次に、新しいリリースのzipファイルをそのディレクトリに解凍します。たとえば、Linux 64ビットで18.1.4.1.0インストール環境を作成するには、timesten181410.server.linux8664.zip
をclientinstall_new
ディレクトリに解凍します。(Linux 64ビットには、1つのディストリビューションのみがあります。このディストリビューションには、サーバーとクライアントのインストール環境が含まれています。)
% mkdir clientinstall_new
% cd clientinstall_new
% unzip /swdir/TimesTen/ttinstallers/timesten181410.server.linux8664.zip
[...UNZIP OUTPUT...]
詳細は、「TimesTenのインストール」を参照してください。
新しいインストール環境を指すようにクライアント・インスタンスを変更します。このためには、クライアント・インスタンスの$TIMESTEN_HOME/bin
ディレクトリから、-install
オプションを指定してttInstanceModify
ユーティリティを実行します。
この例では、/clientinstall_new/tt18.1.4.1.0
内のインストール環境をクライアント・インスタンスが指すようにします。
% $TIMESTEN_HOME/bin/ttInstanceModify -install /clientinstall_new/tt18.1.4.1.0 Instance Info (UPDATED) ----------------------- Name: instance_1814_client Version: 18.1.4.1.0 Location: /scratch/instance_1814_client Installation: /clientinstall_new/tt18.1.4.1.0 * Client-Only Installation The instance instance_1814_client now points to the installation in clientinstall_new/tt18.1.4.1.0
オプション: クライアント・インスタンスでttVersion
ユーティリティを実行し、クライアントのリリースが18.1.4.1.0であることを確認します。
% ttVersion TimesTen Release 18.1.4.1.0 (64 bit Linux/x86_64) (instance_1814_client) 2020-06-28T22:37:51Z Instance home directory: /scratch/instance_1814_client Group owner: g900
クライアント・インスタンスを使用するアプリケーションを再起動します。
この例では、クライアント・インスタンスで最初にttIsqlCS
を実行して完全インスタンス内のdatabase1_1814
データベースに接続します。
% ttIsqlCS -connstr "TTC_SERVER=server.mycompany.com; TTC_SERVER_DSN=database1_1814"; Copyright (c) 1996, 2020, Oracle and/or its affiliates. All rights reserved. Type ? or "help" for help, type "exit" to quit ttIsql. connect "TTC_SERVER=server.mycompany.com;TTC_SERVER_DSN=database1_1814"; Connection successful: DSN=;TTC_SERVER=server.mycompany.com; TTC_SERVER_DSN=database1_1814; ... (Default setting AutoCommit=1)
オプション: 以前のリリースのインストール環境(クライアントで使用)を削除します。
% chmod -R 750installation_dir
/tt18.1.3.5.0 % rm -rfinstallation_dir
/tt18.1.3.5.0