Oracle® TimesTen In-Memory Database

インストレーション・ガイド

11gリリース2(11.2.2)

B66440-07(原本部品番号:E21632-16)

2014年12月

Oracle TimesTen In-Memory Databaseインストレーション・ガイド, 11gリリース2(11.2.2)

B66440-07

Copyright © 2014, Oracle and/or its affiliates.All rights reserved.

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社との間で該当する取決めにて別途規定しないかぎり、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社との間で該当する取決めにて別途規定する場合を除き、オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。

目次

タイトルおよび著作権情報

はじめに

- 関連ドキュメント

- 表記規則

- ドキュメントのアクセシビリティについて

新機能

- リリース11.2.2.3.0の新機能

- リリース11.2.2.1.0の新機能

1 TimesTenのインストール

- インスタンスのインストール

- インスタンスの命名

- インスタンスのポート番号

- 適切なTimesTenコンポーネントの選択

- UNIXで使用可能なコンポーネント

- Windowsで使用可能なコンポーネント

- インストールの前提条件

- UNIXの一般的な要件

- Veritasファイル・システム・オプション

- セマフォ(UNIX全般)

- Java

- AIXの前提条件

- ラージ・ページ(AIX)

- Linuxの前提条件

- 共有メモリー(Linux)

- ラージ・ページ(Linux)

- セマフォ(Linux)

- IPCクライアント/サーバー(Linux)

- 必要なライブラリ・パッケージ(Monta Vista)

- Solarisの前提条件

- ファイル・システム・オプション

- プロジェクトの作成(Solaris)

- Windowsの前提条件

- ラージ・ページ: メモリー内のページのロックの付与(Windows)

- その他のWindowsの前提条件

- デフォルトのインストール・ディレクトリ

- データベース・ファイルおよびその他のユーザー・ファイルの場所に関する考慮事項

- オペレーティング・システム・グループとファイル権限のインストール前の要件

- TimesTenインスタンス管理者およびユーザー・グループ

- ディレクトリおよびファイル権限

- TimesTenにおける権限とインスタンス・レジストリの前提条件

- UNIX TimesTenインスタンス管理者およびユーザー・グループの作成

- TimesTenユーザー・グループの作成

- TimesTenインスタンス・レジストリおよびインスタンス管理者グループの作成

- UNIXシステムへのTimesTenのインストール

- TimesTenのインストール

- UNIXシステムの情報メッセージ

- UNIXでのデーモン・ポート番号の変更

- UNIXシステムにおけるTimesTenの削除

- WindowsシステムへのTimesTenのインストール

- TimesTenのインストール

- サイレント・モードでのTimesTenのインストール

- インストールの確認

- TimesTen ClientおよびServerのインストールの確認

- Windowsシステムの情報メッセージ

- WindowsシステムにおけるTimesTenの削除

- Mac OS XシステムへのTimesTen Clientのインストール

- TimesTen Clientのインストール

- Mac OS XシステムでのTimesTen Clientのアンインストール

- ExalogicシステムへのTimesTenのインストール

- TimesTenと使用するためのOracle Clusterwareのインストール

- ODBCのインストール

- 環境変数

- TimesTenの環境変数の設定

- 環境変数の説明

- PATH環境変数

- ODBCINI環境変数

- SYSODBCINI環境変数

- SYSTTCONNECTINI環境変数

- TNS_ADMIN環境変数

- 共有ライブラリ・パス環境変数

- Java環境変数

- TimesTenクイック・スタート

- ドキュメントのインストール

- インストールの問題

2 移行、バックアップおよびリストア

- 概要: データベースのコピー、移行、およびリストア

- データベースのバックアップおよびリストア

- TimesTenのバックアップ機能

- 提供されているバックアップの種類

- データベースの移行

- 他のコンピュータ(同じプラットフォーム)へのデータベースの移行

- 他のプラットフォームへのデータベースの移行

- データベースの変更

- 他のディレクトリへのデータベースの移動

- データベースのサイズの縮小

- 移行時のグローバリゼーション・サポート

- オブジェクトの移行とキャラクタ・セット

- 移行と長さセマンティクス

- 言語索引の移行

- キャッシュ・グループ表の移行

3 TimesTenのアップグレード

- 事前の考慮事項

- データ型に関する考慮事項

- データ型の互換性

- 7.0より前のTimesTenリリースからアップグレードする際のデータ型に関する考慮事項

- データベースのキャラクタ・セットに関する考慮事項

- データベースのキャラクタ・セットの指定

- TimesTen 7.0より前のリリースからのアップグレードにおけるキャラクタ・セットの制限

- データベース・キャラクタ・セットの変換

- 既存のデータベース・ファイルの場所

- 11.2.1より前のリリースからアップグレードする際のアクセス制御

- レプリケーションに関する考慮事項

- アップグレード・モード

- インプレース・アップグレード

- オフライン・アップグレード

- レプリケーションを使用したオンライン・アップグレード

- クライアント/サーバーを使用したオンライン・アップグレード

- インプレース・アップグレードの実行

- メモリーからのデータベースのアンロード

- アップグレードの実行

- メモリーへのデータベースの再ロード

- オフライン・アップグレードの実行

- TimesTenの他のメジャー・リリースへの移行

- TimesTenの別のマイナー・リリースまたはパッチ・リリースへの移行(オフライン・アップグレード)

- レプリケーションを使用したオンライン・アップグレードの実行

- プロシージャの概要

- 制限事項

- 要件

- アップグレード手順

- オンライン・アップグレードの例

- アクティブ・スタンバイ・ペア・レプリケーションを使用したアップグレードの実行

- キャッシュ・グループが構成されていないアクティブ・スタンバイ・ペアのオンライン・アップグレード

- スタンバイ・マスターおよびサブスクライバのオンライン・マイナー・アップグレード

- アクティブ・マスターのオンライン・マイナー・アップグレード

- アクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード

- キャッシュ・グループが構成されているアクティブ・スタンバイ・ペアのオンライン・アップグレード

- スタンバイ・マスターおよびサブスクライバのオンライン・マイナー・アップグレード(キャッシュ・グループ)

- アクティブ・マスターのオンライン・マイナー・アップグレード(キャッシュ・グループ)

- アクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード(読取り専用キャッシュ・グループ)

- キャッシュ・グループが構成されているアクティブ・スタンバイ・ペアのオフライン・アップグレード

- アクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード(キャッシュ・グループ)

- Oracle Clusterware使用時のTimesTenのオフライン・アップグレードの実行

- Oracle Clusterwareの使用時のTimesTenのオンライン・アップグレードの実行

- サポートされている構成

- 制限と前提

- 1つのアクティブ・スタンバイ・ペアに対応したアップグレード・タスク

- アクティブ・スタンバイ・ペアが適切に機能していることの確認

- スタンバイ・データベースの停止

- スタンバイ・データベースのインプレース・アップグレードの実行

- スタンバイ・データベースを起動します。

- アクティブ・データベースとスタンバイ・データベースのロールの切替え

- 新しいスタンバイ・データベースの停止

- 新しいスタンバイ・データベースのインプレース・アップグレードの実行

- 新しいスタンバイ・データベースの開始

- 数多くのホストのペアでの複数アクティブ・スタンバイ・ペのアップグレード

- 1つのホスト・ペアでの複数アクティブ・スタンバイ・ペアのアップグレード

- 構成ファイルの例: 1つのホストのペア上の複数アクティブ・スタンバイ・ペア

- スクリプトの例: 1つのホスト上での複数スタンバイ・プロセスの停止および開始

- インプレース・アップグレードの例

- パラレル・レプリケーション使用時のアップグレード

- パラレル・レプリケーションに関する考慮事項

- オフライン・アップグレードが必要なシナリオ

- 構成済のレプリケーションを使用したアップグレードの記録

- クライアント/サーバーのオンライン・アップグレードの実行

- クライアント/サーバーのオンライン・アップグレード

- データベースに継続してアクセスした状態でのクライアント/サーバーのオンライン・アップグレード

A Oracle TimesTen In-Memory Databaseのライセンス情報

- ライセンス・オプション

- Oracle TimesTen In-Memory Database

- Oracle TimesTen Application-Tier Database Cache

- Oracle TimesTen Application-Tier Database Cache for Oracle Applications

- Oracle TimesTen In-Memory Database forExalytics

- Oracle TimesTen製品コンポーネント

- TimesTen基本機能

- TimesTenインメモリー解析

- TimesTenレプリケーション

- Oracle DatabaseからのTimesTenのキャッシュ

索引

はじめに

Oracle TimesTen In-Memory Database (TimesTen)は、迅速な応答およびスループット用にメモリーが最適化されたリレーショナル・データベースです。実行時にはデータベース全体がメモリーに常駐し、リカバリおよび再起動できるようにディスク記憶域に保存されます。レプリケーション機能によって、高可用性が実現します。TimesTenでは、OracleインタフェースであるPL/SQL、OCIおよびPro*C/C++に加えて、標準的なアプリケーション・インタフェースであるJDBC、ODBCおよびODP.NETがサポートされます。TimesTenは、単独で使用することもOracle Databaseのキャッシュとして使用することもできます。

TimesTenディストリビューションの最新のリリース・ノートについては、インストール・ディレクトリにあるreadme.htmlファイルを参照してください。(ドキュメント・ライブラリ内のバージョンは最新でない場合があります。)

関連ドキュメント

TimesTenのドキュメントは、次のURLのOracle Technology Networkで入手できます。

http://www.oracle.com/technetwork/database/database-technologies/timesten/documentation/index.html

表記規則

TimesTenは複数のプラットフォームをサポートしています。このマニュアルに記述されている内容は、特に表記しないかぎり、サポートされるすべてのプラットフォームに適用されます。Windowsという語は、サポートされるすべてのWindowsプラットフォームに適用されます。UNIXという用語は、サポートされるすべてのUNIXおよびLinuxプラットフォームを表します。TimesTenによってサポートされる特定のプラットフォームのバージョンについては、『Oracle TimesTen In-Memory Databaseリリース・ノート』のプラットフォームについての項を参照してください。

注意:
TimesTenのドキュメントでは、データ・ストアとデータベースは同意義です。両方の用語は、TimesTenデータベースを指します。

このマニュアルでは次の表記規則を使用します。

規則

意味

イタリック体

イタリックは、テキストで定義される用語、ドキュメントのタイトルまたは強調を示します。

固定幅フォント

固定幅フォントは、コード、コマンド、URL、ファンクション名、属性名、ディレクトリ名、ファイル名、画面に表示されるテキスト、または入力するテキストを示します。

固定幅フォントのイタリック

固定幅フォントのイタリックは、コード例で特定の値を指定または使用するプレースホルダまたは変数を示します。例:
Driver=install_dir/lib/libtten.sl

install_dirをご使用のTimesTenインストール・ディレクトリに置き換えます。

[ ]

大カッコは、カッコ内の項目を任意に選択することを表します。大カッコは、入力しないでください。

{ }

中カッコは、カッコ内の項目のうち、1つが必須であることを表します。中カッコは、入力しないでください。

|

選択項目の引数を区切る縦線(パイプ)。

. . .

引数の後の水平の省略記号は、1行のコマンドラインで複数の引数を使用できることを表します。コード例内の省略記号は、記述されている例が部分的であることを示します。

%

%は、UNIXのシェル・プロンプトを表します。

また、TimesTenのマニュアルでは、次の特別な表記規則が使用されています。

規則

意味

install_dir

TimesTenがインストールされているディレクトリのパスです。

TTinstance

TimesTenのインストールで指定するインスタンス名です。インストール時に、一意のインスタンス名でTimesTenの各インストールを識別する必要があります。この名前はインストール・パスに表示されます。

bitsまたはbb

32または64の2桁の数字は、32-bitまたは64-bitのオペレーティング・システムを表します。

releaseまたはrr

リリース番号の最初の3つの部分(ドットが付く場合と付かない場合があります)。リリース番号の最初の3つの部分は、TimesTenのメジャー・リリースを表します。たとえば、1122または11.2.2は、TimesTen 11gリリース2(11.2.2)を表しています。

jdk_ver

JDKのメジャー・リリースを表す1または2桁のバージョン番号です。たとえば、JDK 1.4の場合は14で、JDK 5.0の場合は5です。

DSN

TimesTenデータソースの名前(TimesTenデータベース用)です。

ドキュメントのアクセシビリティについて

Oracleのアクセシビリティについての詳細情報は、Oracle Accessibility ProgramのWebサイト(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc)を参照してください。

Oracle Supportへのアクセス

サポートをご契約のお客様には、My Oracle Supportを通して電子支援サービスを提供しています。詳細情報は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info)か、聴覚に障害のあるお客様は(http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs)を参照してください。

新機能

この項では、このマニュアルで説明するOracle TimesTen In-Memory Databaseリリース11.2.2の新機能を説明し、詳細情報へのリンクを示します。

リリース11.2.2.3.0の新機能

Windows 7のサポート

Windows 7は、TimesTenの使用について動作保証されています。ドキュメントのこのリリースの時点で、他のWindowsプラットフォームとは機能や手順が異なる部分について、Windows 7システム用の情報が追加されています。

64-bitのインストーラによるWindows 32-bitクライアント

このリリース以上では、Windows 64-bitのインストーラには、64-bitのクライアントだけでなく、32-bitのクライアント用のオプションも含まれます。両方をインストールすることも(デフォルト)、いずれか一方をインストールすることも、いずれもインストールしないことも選択できます。「TimesTenのインストール」を参照してください。

リリース11.2.2.1.0の新機能

Exalogicのサポート

TimesTenは、Oracle Exalogic Elastic Cloud(Exalogic)でサポートされています。Exalogicでの動作保証は、1/4ラックのExalogicのリリース1.0サーバーでTimesTenを使用して実施されました。TimesTenをExalogicにインストールする詳細は、ExalogicシステムへのTimesTenのインストールに関する説明を参照してください。

移行

このガイドには、TimesTenデータベースの移行に関する章が含まれています。以前のリリースでは、この情報は『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』に記載されていました。第2章「移行、バックアップおよびリストア」を参照してください。

1 TimesTenのインストール

この章では、TimesTenをシステムにインストールする前に確認する必要がある構成情報について説明します。内容は次のとおりです。

- インスタンスのインストール

- 適切なTimesTenコンポーネントの選択

- インストールの前提条件

- デフォルトのインストール・ディレクトリ

- データベース・ファイルおよびその他のユーザー・ファイルの場所に関する考慮事項

- オペレーティング・システム・グループとファイル権限のインストール前の要件

TimesTenをインストール、構成および削除する手順については、次の項を参照してください。

- UNIXシステムへのTimesTenのインストール

- WindowsシステムへのTimesTenのインストール

- Mac OS XシステムへのTimesTen Clientのインストール

- ExalogicシステムへのTimesTenのインストール

注意:
このマニュアルでは、ExalyticsシステムへのTimesTenのインストールについては説明していません。Exalyticsのマニュアルは、次の場所を参照してください。
http://www.oracle.com/technetwork/documentation/exalytics-doc-1645656.html

この章では、インストール後のTimesTenの構成、デモ・アプリケーションの操作、データベースの今回のリリースへの移行、およびTimesTenのドキュメントの表示についても説明します。

- ODBCのインストール

- 環境変数

- TimesTenクイック・スタート

- ドキュメントのインストール

この章では、インストール処理中に発生する可能性のある問題のトラブルシューティングに役立つ情報について説明し、ライセンス情報へのリンクを掲載します。

- インストールの問題

インスタンスのインストール

UNIXでは、TimesTenの複数のインスタンスをインストールできます。インスタンスは、原則としてTimesTenのインストールに関連するファイルとプロセスのコレクションです。Windowsでは、TimesTenのいずれかのメジャー・リリースの1つのインスタンスのみをインストールできます(メジャー・リリースはリリース番号の最初の3つの部分(11.2.2など)によって示されます)。たとえば、同じWindowsコンピュータに11.2.1.9.0および11.2.2.5.0の両方をインストールすることはできますが、11.2.2.0.0および11.2.2.5.0の両方をインストールすることはできません。

TimesTen製品は、TimesTenインストール全体のプライベート・コピーを持つ各コンピュータなど、ローカルのプライベート・ディスク記憶域にインストールできます。TimesTenソフトウェアの単一のコピーを共有記憶域にインストールして、このコピーを複数のコンピュータで共有することはできません。

TimesTenのインストール・インスタンスの詳細は、次の項を参照してください。

- インスタンスの命名

- インスタンスのポート番号

インスタンスの命名

インスタンスの名前は、TimesTenのインストールに関して必要なすべての情報にアクセスするためのキーになります。

UNIXシステムでは、このリリースのデフォルトのインスタンス名は、32-bitのインストールではtt1122_32、64-bitのインストールではtt1122_64です。インスタンス名は大/小文字が区別されません。また、255文字以内の英数字で指定します。アンダースコア(_)またはピリオド(.)は使用できますが、その他の特殊文字を使用することはできません。

同一リリースのTimesTenの中で2つ目のインスタンスをUNIXにインストールする場合は、一意のインスタンス名とポート番号を指定する必要があります。TimesTenのインストーラによって、特定のリリースのTimesTenのインスタンスがシステムに存在しているかどうかが検出され、TimesTenのメイン・デーモンの新しいインスタンス名およびポート番号の入力が求められます。

Windowsでは、インスタンス名は、32-bitのインストールではtt1122_32、64-bitのインストールではtt1122_64です。Windowsシステムでは、TimesTenのメジャー・リリース(11.2.2など)ごとのインスタンスは、1つのみです。

インスタンスのポート番号

同じコンピュータにTimesTenの複数のインスタンスをインストールする場合、インストール時にTimesTenデーモンおよびTimesTenサーバーごとに一意のTCP/IPポート番号を指定します。

注意:
複製を使用する場合で、互いに複製するTimesTenデータベースでデーモン・ポートが異なることが確かな場合は、複製に静的ポートを使用し、重複操作に対してttRepAdminユーティリティの-remoteDaemonPortオプションを使用する必要があります。ttVersionユーティリティを使用すると、TimesTenインストールのポート番号を確認できます。

適切なTimesTenコンポーネントの選択

TimesTenインストーラでは、インストールするTimesTenのコンポーネントを選択できます。

- UNIXで使用可能なコンポーネント

- Windowsで使用可能なコンポーネント

UNIXで使用可能なコンポーネント

UNIXでは、次のコンポーネントをインストールできます。また、インストール・スクリプトによって、TimesTenクイック・スタート・サンプル・プログラムおよびTimesTenドキュメント(クイック・スタート・チュートリアル・ページを含む)をインストールするプロンプトが表示されます。

タイプ

説明

TimesTen Client

TimesTen Clientのみがインストールされます。その他のTimesTenコンポーネントはインストールされません。このインストールでは、TimesTen Clientは別のインストールからTimesTen Serverにアクセスできます。

TimesTen Data Manager

TimesTen Data Managerのみがインストールされます。TimesTen Data Managerをローカルで実行する場合は、このインストールを使用します。

TimesTen Client、ServerおよびData Manager

TimesTen Data Manager、ClientおよびServerがインストールされます。このインストールでは、次の処理が可能です。

- 別のインストールのClientはTimesTen Serverにアクセスできます。

- TimesTen Clientは、このTimesTen Serverインストールまたは別のTimesTen Serverインストールのいずれかにアクセスできます。

- アプリケーションはローカルのTimesTen Data Managerにアクセスできます。

TimesTenがインストールされていて、コンポーネントを追加または削除する場合は、インストーラを実行し、「Upgrade an existing instance」オプションを選択した後、変更するインスタンスを選択します。

Windowsで使用可能なコンポーネント

Windowsでは、インストール時に適切なチェック・ボックスを選択または選択解除することによって、インストールするコンポーネントを選択できます。デフォルトでは、TimesTen Data Manager Debug Libraries以外のすべてのコンポーネントがインストールされます。

タイプ

説明

TimesTen Data Manager

TimesTen Data Managerをインストールします。TimesTen Data Managerをローカルで実行する場合は、このインストールを使用します。

TimesTen Data Managerデバッグ・ライブラリ

TimesTen Data Managerデバッグ・ライブラリがインストールされます。特に開発フェーズで使用することによって、発生する可能性のある問題をデバッグすることが可能になります。デフォルトでは、デバッグ・ライブラリはインストールされません。

TimesTen Server

TimesTen Data ServerおよびTimesTen Data Managerがインストールされます。

TimesTen Client

TimesTen Clientがインストールされます。このインストールを使用して、リモート・コンピュータのTimesTen Serverにアクセスできます。
注意: Windows 64-bitのインストーラには、64-bitのクライアント用と32-bitのクライアント用のオプションがあります。両方をインストールすることも(デフォルト)、いずれか一方をインストールすることも、いずれもインストールしないことも選択できます。

TimesTenクイック・スタート

TimesTenクイック・スタートのサンプル・プログラムがインストールされます。

TimesTenのドキュメント

TimesTenドキュメント・ライブラリとクイック・スタート・チュートリアル・ページがインストールされます。

インストールの前提条件

TimesTenをインストールする前に、該当する要件がご使用のオペレーティング・システムで満たされていることを確認します。

JDBCがサポートされるUNIXおよびWindowsプラットフォームの両方でJDBCを使用するには、コンピュータに適切なバージョンのJDKをインストールしておく必要があります。

また、ファイアウォールに対応するために自動クライアント・フェイルオーバーを使用する場合は、UDPポートまたはポート範囲を指定する必要があることに注意してください。(また、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の「自動クライアント・フェイルオーバーの構成」に関する説明も参照してください。)

重要:
TimesTenをTimesTen事前定義済内部ユーザーの名前(GRID、PUBLIC、SYS、SYSTEMまたはTTREP)と一致するオペレーティング・システム・ユーザーとしてインストールしないでください。TimesTenをこれらのいずれかの名前のユーザーとしてインストールした場合、一意制約違反エラーによりデータベース作成の試行が失敗します。

この項では、プラットフォーム固有の前提条件についても説明します。

- UNIXの一般的な要件

- AIXの前提条件

- Linuxの前提条件

- Solarisの前提条件

- Windowsの前提条件

UNIXの一般的な要件

一般的に、UNIXシステムでは、次の構成を行う必要があります。

- セマフォの数

- 許容される共有メモリー

また、次の処理も実行する必要があります。

- オペレーティング・システムに最新のパッチが適用されていることを確認します。

- 大規模ファイルを許容するファイル・システムを構成します。

- Java環境を構成します。

- クライアント/サーバー環境を構成します。

- レプリケーションのネットワーク設定を構成します。

次の項では、UNIXシステムで行う必要がある変更の一部について、その概要を示します。また、いくつかの項では、TimesTenでサポートされているそれぞれのUNIXプラットフォームに必要な変更について説明します。

- Veritasファイル・システム・オプション

- セマフォ(UNIX全般)

- Java

Veritasファイル・システム・オプション

Veritasファイル・システムでは、DurableCommits=1を使用するTimesTenアプリケーションをインストールする場合、永続性を保証するためにmincache=directおよびconvosync=directオプションを使用します。

dsyncをsyncに変換するオプション、fdatasyncをsyncに変換するオプション、またはO_SYNCを指定してファイルが開かれるようにすべての書込みを処理するオプションは使用しないでください。

Veritasファイル・システムでは、オプションdiscovered_direct_ioszおよびmax_direct_ioszをそれぞれ3MBに設定する必要もあります。

ダイレクトI/Oがこのように設定されていないと、TimesTen操作におけるファイル・システムのパフォーマンスが低下する可能性があります。

これらのオプションを設定するには、rootとしてログインし、次のコマンドを使用します。

# /usr/sbin/vxtunefs -o discovered_direct_iosz=3145728
# /usr/sbin/vxtunefs -o max_direct_iosz=3145728

セマフォ(UNIX全般)

TimesTenでは、アクティブ・データベースごとに1セットのセマフォ、クライアント/サーバーが共有メモリーで使用されるTimesTenインスタンスごと1セットのセマフォが使用されます。

各アクティブ・データベースで155のセマフォが使用され、さらに接続ごとに1つのセマフォが使用されます。クライアント/サーバーが共有メモリーで使用されるTimesTenインスタンスごとのセマフォの使用は、接続数に対応し、セマフォ数の最大値は最大接続数より少し大きくなります(TimesTenの内部接続用)。

プラットフォーム固有のセマフォ情報については、「セマフォ(Linux)」および「プロジェクトの作成(Solaris)」を参照してください。AIXでは、セマフォはカーネルにより動的に構成されます。

データベース同時接続の最大数を指定するTimesTenのConnections属性については、『Oracle TimesTen In-Memory Databaseリファレンス』の接続に関する説明を参照してください。

Java

JDBCを使用する場合は、最新のJDKパッチおよびベンダーで必要なパッチをインストールします。必要なパッチについては、JDKプロバイダのWebサイトを参照してください。

64-bit JVMを使用している場合、AIXシステムを除くすべてのシステムで64-bitのJavaアプリケーションを実行するには、javaコマンドラインに-d64オプションを指定する必要があります。

AIXの前提条件

この項では、AIXの前提条件について説明します。

- ラージ・ページ(AIX)

ラージ・ページ(AIX)

必要なパッチ・レベルが適用されたAIXシステムでは、TimesTenでラージ・ページを使用できます。ラージ・ページを使用すると、共有セグメントがメモリーにロックされるため、ページのサイズ設定ができなくなります。ユーザーには、CAP_BYPASS_RAC_VMMおよびCAP_PROPAGATE機能が必要です。この機能は、rootユーザーが/etc/security/userファイルを編集することによって付与されるか、またはローカルに認証されたユーザーに対して次のコマンドを使用して付与されます。

# chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE user_id

システムのデフォルトでは、ラージ・ページの物理メモリー・プールにメモリーは割り当てられていません。vmoコマンドを使用すると、ラージ・ページの物理メモリー・プールのサイズを構成できます。次の例では、ラージ・ページの物理メモリー・プールに4GBが割り当てられます。

# vmo -r -o lgpg_regions=256 -o lgpg_size=16777216

共有メモリーにラージ・ページを使用するには、次のコマンドを使用して、SHM_PIN shmget()システム・コールを有効にする必要があります。このコールは、システムを再起動した後も有効です。

# vmo -p -o v_pinshm=1

Linuxの前提条件

Linuxでは、TimesTenは、Oracle Linux、Asianux、Red Hat Enterprise Linux、MontaVista Linux Carrier Grade EditionおよびSuSE LINUX Enterprise Serverの各リリースでテスト済です。サポートされているリリースの詳細は、『Oracle TimesTen In-Memory Databaseリリース・ノート』を参照してください。

重要:
Oracle DatabaseはMontaVista Linux Carrier Grade Editionをサポートしていないため、このプラットフォーム上のTimesTen機能には大きな制限があります。詳細は、『Oracle TimesTen In-Memory Databaseリリース・ノート』を参照してください。

次の各項では、LinuxシステムにTimesTenをインストールする前に実行する手順を説明します。

- 共有メモリー(Linux)

- ラージ・ページ(Linux)

- セマフォ(Linux)

- IPCクライアント/サーバー(Linux)

- 必要なライブラリ・パッケージ(Monta Vista)

共有メモリー(Linux)

Linux共有メモリーは、共有メモリー・セグメントの最大サイズがTimesTenのメイン共有メモリー・セグメントを格納できる十分なサイズとなるように構成する必要があります。このセグメントのサイズを次のように求めます。

PermSize + TempSize + LogBufMB + 64 MB

これらは、TimesTenの固定メモリー領域、一時メモリー領域、およびログ・バッファのサイズを設定するTimesTen接続属性です。(詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続属性に関する説明を参照してください。)また、データベース・ヘッダーを含む64MBのオーバーヘッドが許容されます。

共有メモリー・セグメントの最大サイズを増やすには、rootとしてログインし、/etc/sysctl.confファイルを編集してshmmaxメモリー・カーネル・パラメータを更新します。この値はバイト値です。また、システム全体の共有メモリー・セグメントの総サイズを設定するshmallメモリー・カーネル・パラメータの値を増やすことも必要になる場合があります。この値はページ数で、Linux x86およびx86-64システムでは通常のページ・サイズは4KBです。最小値として、1メモリー・セグメントが必要で、shmallにshmmax/page_size以上のサイズ(page_sizeを4096バイトに変換)を設定する必要があります。

TimesTenデータベース・サイズ(メイン共有メモリー・セグメント・サイズ)が64GBでその他の共有メモリー・セグメントを必要としない次の例を考慮します。

kernel.shmmax=68719476736
kernel.shmall=16777216

(64 x 1024 x 1024 x 1024 = 68719476736および68719476736 / 4096 = 16777216)

注意:
これまでの説明および例では、shmall値の計算でPL/SQL共有メモリー・セグメントを考慮していません。PL/SQLセグメントのサイズはPLSQL_MEMORY_SIZE接続属性により決まり、デフォルトは32MBです。比較的小さいサイズのため、通常はメイン共有メモリー・セグメントの未使用オーバーヘッドは十分であり、前述の計算ではPL/SQLセグメントがシステム全体のリミットであるshmall内に収まります。

システムを再起動せずにこれらの値を設定するには、次のコマンドを使用します。

% /sbin/sysctl -p

max seg sizeおよびmax total shared memoryの値を表示するには、次のコマンドを使用します。

% ipcs -lm

これらの値はそれぞれshmmaxおよびshmallの設定を反映しますが、両方ともKBで表示される点に注意してください。

ラージ・ページ(Linux)

より効率的なメモリー管理を行うため、ラージ・ページ(LinuxではHugePages)の構成をお薦めします(サポートされている場合)。TimesTenメイン共有メモリー・セグメントのサイズが256GBを超える場合は、HugePagesが必要になります。

HugePagesがサポートされている場合、次のコマンドで表示される値には、HugePages_TotalおよびHugePages_FreeなどのHugePagesパラメータが含まれます。

% cat /proc/meminfo

HugePagesを構成するには、TimesTenメイン共有メモリー・セグメントのサイズ、システム上のHugePagesサイズ、およびTimesTenメイン・デーモン・プロセスを実行しているユーザー(通常はインスタンス管理者)のグループIDを知っているか、取得する必要があります。

- メイン共有メモリー・セグメントの詳細は、前述の共有メモリー(Linux)に関する説明を参照してください。

- HugePagesサイズは通常は2MBです。meminfo出力のHugepagesize(KB表示)を参照してください。

- インスタンス管理者または他の該当するユーザーのグループIDを取得するには、id -gコマンドを使用します。たとえば、インスタンス管理者myadminの場合、次のようにします。

% id -g myadmin

HugePagesを設定するには、次の手順を実行します。

1. rootユーザーは/etc/sysctl.confファイルにHugePages値を設定します。

- vm.nr_hugepages: 必要なHugePages数
TimesTenメイン共有メモリー・セグメント・サイズをHugePagesサイズで除算して求めます。

(設定/proc/sys/vm/nr_hugepagesが同等ですが、永続的でないため、推奨されません。)

- vm.hugetlb_shm_group: ユーザーのグループID

TimesTen main共有メモリー・セグメントのサイズが64GB (65536MB)、HugePagesサイズが2MB、インスタンス管理者グループIDが900の例を考慮します。

vm.nr_hugepages = 32768
vm.hugetlb_shm_group = 900

sysctl.confを編集した後、動的かつ即時に変更を行うために次のコマンドを実行します。(このコマンドを実行しない場合は、sysctl.confへの変更はシステムを再起動するまで反映されません。)

% /sbin/sysctl -p

前の例では、meminfoの値は次のようになります(2048KBは2MBと同等)。

HugePages_Total: 32768
HugePages_Free: 32768
Hugepagesize: 2048 kB

TimesTenでHugePagesを使用するため、HugePages_Freeの値が適宜に変更されます。

2. rootユーザーが、インスタンス管理者または該当ユーザー向けの/etc/security/limits.confファイルのmemlockエントリを設定(または確認)します。これらのエントリ(KB表示)により、意図したユーザーがロックできるメモリー量が制御されます。hard memlockおよびsoft memlockを設定します。64GBのメイン共有メモリー・セグメント、インスタンス管理者myadminの場合は次のようになります。

myadmin soft   memlock    67108864
myadmin hard   memlock    67108864

(64 x 1024 x 1024 = 67108864)

変更を反映するには、ユーザーがログアウトして再度ログインする必要があります。

TimesTenのインストール後 TimesTenをインストールしたら、デーモン・オプション・ファイルinstall_dir/srv/info/ttendaemon.optionsの-linuxLargePageAlignment Size_in_MBを設定してTimesTenのHugePagesを有効にします。HugePagesのサイズは2MBです。

-linuxLargePageAlignment 2

TimesTenでHugePagesを使用しているかを確認するには、ttStatusユーティリティを実行します。出力には次のようなエントリが含まれている必要があります。

Shared Memory KEY 0x1202031f ID 2457616 (LARGE PAGES, LOCKED)

TimesTenのインストール後および使用後にHugePages構成を変更する場合は、新しい構成を反映するために次の手順を実行する必要があります。

1. データベースをメモリーからアンロードします。「メモリーからのデータベースのアンロード」を参照してください。

2. TimesTenデーモンを停止します。

% ttDaemonAdmin -stop

注意:
または、-stopおよび-startのかわりにttDaemonAdmin -restartを使用します。

3. デーモンを再起動します。

% ttDaemonAdmin -start

4. データベースをメモリーに再ロードします。「メモリーへのデータベースの再ロード」を参照してください。

注意:

- HugePagesは連続した使用可能メモリー領域への割当てが必要なため、システムを再起動するまでは、要求された割当てが設定されないか、部分的にのみ設定される場合があります。割当てを確認するには、前述のmeminfoの値を確認します。システムの利用可能メモリーが十分な場合は、再起動によってすべて割り当てられます。

- 256GB以下のTimesTenデータベースが利用可能なHugePages領域に適合しない場合は、かわりに通常のページが使用されます。256GBを超えるデータベースが適合しない場合、エラーが発生します。

- HugePages機能が構成されていて十分な使用可能領域がある場合、データベースがHugePagesを使用するかどうかにかかわらず、通常はTimesTen PL/SQL共有メモリー・セグメントはHugePagesを使用します。PL/SQL共有メモリー・セグメントのサイズは比較的小さく、PLSQL_MEMORY_SIZE接続属性により定義されます。

- Linuxでは、HugePagesセグメントは自動的にロックされるため、ディスクスワップの対象になりません。そのため、TimesTenのMemoryLock接続属性の設定は必要ありません。

セマフォ(Linux)

「セマフォ(UNIX全般)」も参照してください。

Linuxでは、次の式をガイドとして使用できます。ただし、SEMMNSは、SEMMNI * SEMMSLより大幅に小さい値になる可能性があります。

SEMMNS = (SEMMNI * SEMMSL)

既存のカーネル・パラメータ設定を表示するには、rootとしてログインし、次のコマンドを使用します。

# /sbin/sysctl -a

Linuxシステムでは、kernel.semの最初のパラメータは128以上である必要があります。TimesTenは155のSEMMSLを使用し、さらに、アクティブな接続ごとに1つを使用します。多数の接続を使用する予定がある場合は、カーネル・パラメータ設定を増やす必要があります。

たとえば、接続を200使用する場合、/etc/sysctl.confファイルでkernel.semを次のように指定します。

kernel.sem = 355 32000 100 128

(155 + 200 = 355.)

最初のパラメータは、配列ごとのセマフォの最大数(SEMMSL)となり、ここでは最も重要です。この値は、最大接続数に関連し、TimesTenの内部接続の許可も一部含まれます。2つ目のパラメータはシステム全体のセマフォの最大数(SEMMNS)、3つ目のパラメータはsemopコールごとの最大処理数(SEMOPM)、4つ目のパラメータは最大配列数(SEMNI)です。

次に、システムを再起動し、次のコマンドを実行します。

# /sbin/sysctl -p

IPCクライアント/サーバー(Linux)

Linuxシステムでは、ShmIpcクライアント・サーバー接続数を有効にするには、/etc/sysctl.confファイルで、kernel.sem設定のSEMMSLの値を適切に設定する必要があります。詳細は、前の項の「セマフォ(Linux)」を参照してください。

次に、システムを再起動し、次のコマンドを実行します。

# /sbin/sysctl -p

必要なライブラリ・パッケージ(Monta Vista)

MontaVista Linux上でTimesTenを正しく動作させるには、libaioおよびlibelfライブラリ・パッケージを含めます。

Solarisの前提条件

Solarisでは、ご使用のシステムにおけるTimesTenのパフォーマンスを向上させるために、インストールを開始する前に次の項に示す手順を実行します。

ファイル・システム・オプション

Solaris UFSファイル・システムでは、DurableCommits=1を使用するTimesTenアプリケーションをインストールする場合、「UNIXの一般的な要件」の項に示すファイル・システム・オプションに加え、-forcedirectioオプションを指定してファイル・システムをマウントします。

プロジェクトの作成(Solaris)

Solaris 10および11システムの場合、プロジェクトを作成してシステム・リソース(共有メモリー、ファイル記述子、セマフォなど)を管理する必要があります。

グループ・プロジェクトまたはユーザー・プロジェクトを作成できます。

注意:
ユーザー・グループを作成する場合、インスタンス管理者は、TimesTenデーモンの再起動が必要となるたびにnewtaskコマンドを実行する必要があります。TimesTenデーモンがシステムの起動時間に起動する場合、システムの起動スクリプトにnewtaskコマンドを追加します。

たとえばグループtimesten g500のプロジェクトを500GBの共有メモリ、4096セマフォおよび65,535ファイル記述子で作成する場合は、次の手順を実行します。

1. ユーザーrootとしてログインします。

2. グループ・プロジェクトを追加します。

# projadd -G g500 timesten

3. グループの共有メモリを500GBに変更します。

# projmod -a -K "project.max-shm-memory=(priv,500GB,deny)" timesten

4. セマフォの最大数を4096に変更します。

# projmod -a -K "process.max-sem-nsems=(priv,4096,deny)" timesten

注意:
TimesTenは、アクティブなデータベースごとに最小で155のSEMMSLを消費し、接続ごとに、さらにSEMMSLを1つ消費します。関連事項については、「セマフォ(UNIX全般)」および「セマフォ(Linux)」を参照してください。

5. ファイル記述子の最大数を65,535に変更します。

# projmod -a -K "process.max-file-descriptor=(priv,65535,deny)" timesten

6. TimesTenデーモンを再起動する前に、newtaskコマンドを実行します。

# newtask -p timesten -c $$

たとえばユーザーtimestenのユーザー・プロジェクトを500GBの共有メモリ、4096セマフォおよび65,535ファイル記述子で作成する場合は、次の手順を実行します。

1. ユーザーrootとしてログインします。

2. ユーザー・プロジェクトを追加します。

# projadd -U timesten user.timesten

3. グループの共有メモリを500GBに変更します。

# projmod -a -K "project.max-shm-memory=(priv,500GB,deny)" user.timesten

4. セマフォの最大数を4096に変更します。

# projmod -a -K "process.max-sem-nsems=(priv,4096,deny)" user.timesten

注意:
TimesTenは、アクティブなデータベースごとに155のSEMMSLを消費し、接続ごとに、さらにSEMMSLを1つ消費します。

5. ファイル記述子の最大数を65,535に変更します。

# projmod -a -K "process.max-file-descriptor=(priv,65535,deny)" user.timesten

すべてのユーザーおよびすべてのグループがデフォルト・プロジェクトに関連し、このプロジェクト下でプロセスが実行されています。ユーザーによって使用されるプロジェクトまたはプロセス設定は、/etc/projectファイルにおいて最初に表示されるものです。projectファイルをまだ変更していない場合、システムのデフォルト・プロジェクト設定が最初に表示されます。

注意:
projectファイルから、デフォルトのプロジェクト設定を削除しないでください。かわりに、デフォルト設定上のprojectファイルの最上部にユーザーのプロジェクト設定を置きます。

ユーザー・プロジェクト手法またはグループ・プロジェクト手法の場合、指定したユーザーまたはグループをユーザーのプロジェクト設定に関連付けるために次の2つのオプションのいずれかを選択できます。

- /etc/projectファイルを編集して、デフォルトのエントリを続行するためにtimestenプロジェクトのエントリを移動します。

- デーモンを再起動する前に、次のコマンドを実行します。プロジェクトが-Gのみによって作成されている場合に、これが必要です。

# newtask -p timesten -c $$

Windowsの前提条件

この項では、Windowsの前提条件について説明します。

- ラージ・ページ: メモリー内のページのロックの付与(Windows)

- その他のWindowsの前提条件

ラージ・ページ: メモリー内のページのロックの付与(Windows)

Windowsでラージ・ページを使用するには、メモリー内のページのロック権限SeLockMemoryPrivilegeを付与する必要があります。Windows 7では、次の手順を実行します。

1. 「コントロール・パネル」で「管理ツール」を選択します。
「管理ツール」ウィンドウが開きます。

2. 「ローカル・セキュリティ・ポリシー」を選択します。
「ローカル・セキュリティ・ポリシー」ウィンドウが開きます(Windows XPでは「ローカル・セキュリティの設定」)。

3. 「ローカル・セキュリティ・ポリシー」ウィンドウの左側のペインで、「ローカル・ポリシー」を展開し、「ユーザー権利の割り当て」を選択します。

4. 「ローカル・セキュリティ・ポリシー」ウィンドウの右側のペインで、「メモリー内のページのロック」を選択します(Windows XPの場合は「アクション」→「セキュリティ」も選択)。
「メモリー内のページのロックのプロパティ」ウィンドウが開きます(Windows XPの場合は「ローカル・セキュリティ・ポリシー」ダイアログ)。

5. 「ユーザーまたはグループの追加」を指定します(Windows XPの場合は「追加」)。
「ユーザー、コンピュータ、サービス アカウント、またはグループの追加」ダイアログが開きます(Windows XPの場合は「ユーザーまたはグループの追加」)。

6. 「選択するオブジェクト名を入力してください」フィールドにインスタンス管理者または該当ユーザーの名前を入力します。次に「名前の確認」を指定します。(Windows XPの場合は、「名前」リストから適切な名前を選択し、「追加」を指定します。)
入浴した名前が認識されない場合、表示される「名前が見つかりません」ダイアログで問題を解決します。

7. 「OK」を指定し、「ユーザー、コンピュータ、サービス アカウント、またはグループの選択」ダイアログ・ボックスを選択します。

8. 「OK」を指定し、「メモリー内のページのロックのプロパティ」ウィンドウを選択します。

その他のWindowsの前提条件

次のWindowsの前提条件に注意してください。

- Vista、Windows 2008、Windows 7などの最近のWindowバージョンでは、TimesTenデーモンの起動や停止など、特定の操作を実行するために管理者権限が必要です。
Windowsの管理者権限でコマンド・プロンプト・ウィンドウを起動するには、cmd.exe実行可能ファイルを右クリックします。(たとえばWindows 7の場合、この実行可能ファイルはC:\Windows\System32\フォルダにあります。)コマンド・ウィンドウが開くと、タイトル・バーに「Administrator」と示されます。

- TimesTenデバッグ・ライブラリは、Visual Studio 2005、2008または2010を使用します。デバッグ・ライブラリを使用するには、これらのいずれかのバージョンをインストールする必要があります。

デフォルトのインストール・ディレクトリ

TimesTenリリース11.2.2のデフォルトのインストール・ディレクトリは、次のとおりです。

- Windows: C:\TimesTen

- UNIX: $HOME/TimesTen

一時ディレクトリは、オペレーティング・システムによって異なります。通常は次の場所にあります。

- Windowsでは、%TMP%環境変数に従います。通常は、次のような場所を指します。

C:\Documents and Settings\username\Local Settings\Temp

Window 7では、C:\Documents and SettingsがC:\Usersに置き換わります。

- SolarisおよびLinux: /tmp

- HP-UXおよびAIX: /var/tmp

一時ディレクトリの場所は、Windowsの場合はTMP環境変数を設定すると変更できます。UNIXの場合は、TMPDIR環境変数を設定すると変更できます。

注意:
TimesTenでは、マルチバイト文字を含むファイル・パス名はサポートされていません。インストール・パス、データベース・パス、トランザクション・ログ・パスおよび一時ファイル・パスにマルチバイト・キャラクタが含まれていないことを確認してください。Windowsでは、正常にインストールを完了するために、一時ディレクトリのフルパスを190文字未満にする必要があります。

データベース・ファイルおよびその他のユーザー・ファイルの場所に関する考慮事項

インストール時に、TimesTenクイック・スタート・サンプル・プログラムのインストールを選択した場合、インストーラによりDemoDataStoreディレクトリの場所のプロンプトが表示されます。UNIXシステムでは、デフォルトでは、この場所は、TimesTenインストール・パスの下にあるinfoディレクトリの下になります。このディレクトリについては、TimesTenインストール・パス以外の代替場所を選択することを強くお薦めします。(Windowsでは、デフォルトの場所はユーザーのアプリケーション・データ・フォルダの下になります。)

また、データベース・ファイル(チェックポイント・ファイルおよびログ・ファイル)または他のユーザー・ファイルは、TimesTenインストール・パスの下に格納しないことも強くお薦めします。インストール・パスの下にあるファイル(TimesTen以外のものによってインストールされたファイルを含め)は、アップグレードまたはアンインストール操作時に削除されることがあります。

オペレーティング・システム・グループとファイル権限のインストール前の要件

次の項では、オペレーティング・システム・グループを作成し、TimesTenのための正しいディレクトリ権限を設定する方法について説明します。

- TimesTenインスタンス管理者およびユーザー・グループ

- ディレクトリおよびファイル権限

- UNIX TimesTenインスタンス管理者およびユーザー・グループの作成

TimesTenインスタンス管理者およびユーザー・グループ

セキュリティを目的に、TimesTenインストールへのアクセス権を単一のオペレーティング・システム・グループのメンバーに制限しています。この権限で、TimesTenをインストールします。このグループはTimesTenユーザー・グループと呼ばれます。TimesTenユーザー・グループのメンバーだけが、TimesTenへのダイレクト・ドライバ接続を許可され、TimesTenデータベースに対する操作を実行できます。クライアント接続でTimesTenデータベースに接続しているユーザーは、TimesTenユーザー・グループのメンバーである必要はありません。

TimesTenをインストールするユーザーは、インスタンス管理者です。インスタンス管理者は、TimesTenインスタンス管理者グループのメンバーであり、TimesTenユーザー・グループのメンバーである必要があります。

- WindowsにはUNIXと同じインスタンス管理者グループの概念はなく、TimesTenユーザー・グループが同等の役割を果たします。したがって、Windowsでのインストールのインスタンス管理者がTimesTenをインストールするには、TimesTenユーザー・グループのメンバーである必要があります。また、ダイレクト・ドライバ接続を実行するすべてのユーザーはTimesTenユーザー・グループのメンバーである必要があります。

- UNIXでは、次のように、TimesTenインスタンス管理者グループとTimesTenユーザー・グループは、同じオペレーティング・システム・グループでも、異なるオペレーティング・システム・グループでもかまいません。

- TimesTenインスタンス管理者グループ:TimesTenをインストールしているすべてのユーザーはこのグループのメンバーである必要があります。このグループは、/etc/TimesTen(コンピュータ上にインストールされているすべてのTimesTenインスタンスに関する情報を含む)への読取りおよび書込みアクセスの権限を付与されている必要があります。

- TimesTenユーザー・グループ:インスタンス管理者がTimesTenをインストールするには、このグループのメンバーである必要もあります。インストール後は、このオペレーティング・システム・グループのメンバーのみが、TimesTenへのダイレクト・ドライバ接続を許可され、TimesTenデータベースでの操作を実行できます。

UNIXで両方のオペレーティング・システム・グループを作成する方法については、「UNIXのTimesTenインスタンス管理者およびユーザー・グループの作成」を参照してください。

ディレクトリおよびファイル権限

インストールが終了した時点では、TimesTenのファイルおよびディレクトリへの読取りおよび書込み権限は、TimesTenが「world accessible」としてインストールされていないかぎり、TimesTenユーザー・グループのメンバーに制限されています。

次の項では、WindowsおよびUNIXシステムにおけるディレクトリおよびファイルの権限について説明します。

TimesTenにおける権限とインスタンス・レジストリの前提条件

Windowsでは、TimesTenのファイルおよびディレクトリにアクセスできるのは、TimesTenユーザー・グループのメンバーのみです。

world accessibleとしてTimesTenをインストールした場合(インストール時のオプション)、TimesTenのファイルおよびディレクトリにはすべてのユーザーがアクセスできるようになります。その場合は、TimesTenデータベース・ファイルおよび共有メモリー・セグメントに対し、誰でも、どんな操作でも実行することができます。ただし、推奨はされていません。コンピュータ上のすべてのユーザーが信頼でき、オペレーティング・システム・レベルのすべてのアクセス制御を無効する場合のみ、このオプションを有効にします。

オペレーション・システム・グループの詳細は、「TimesTenインスタンス管理者およびユーザー・グループ」を参照してください。

Windowsの場合、TimesTenについての情報は、オペレーティング・システム・レジストリに格納されています。

UNIXでは、TimesTenは特定のコンピュータにインストールされたすべてのTimesTenインスタンスのレジストリを/etc/TimesTenに格納します。インスタンスのレジストリ自体は操作に必要なものではありませんが、TimesTenを正常にインストールおよび削除する場合には必須です。TimesTenをインストールする前に、TimesTenをインストールするユーザーが、インスタンス管理者のグループのメンバーであり、/etc/TimesTenディレクトリに対する読取りおよび書込み権限を持っていることを確認してください。

/etc/TimesTenのディレクトリ権限をインスタンス管理者グループに設定する方法については、次の項「UNIXのTimesTen管理者およびユーザー・グループの作成」を参照してください。

注意:
データベースのチェックポイント・ファイルおよびログ・ファイルは、別々のデバイスにインストールする必要があります。データベースのトランザクション・ログ・ファイルおよびチェックポイント・ファイルが同じファイル・システムにある場合は、サポート・ログにメッセージが書き込まれます。

UNIX TimesTenインスタンス管理者およびユーザー・グループの作成

次の項では、必須のオペレーティング・システム・グループを作成したり、UNIXでのTimesTenインストールのためにディレクトリ権限を設定する場合のインストール前の手順について説明します。

- TimesTenユーザー・グループの作成

- TimesTenインスタンス・レジストリおよびインスタンス管理者グループの作成

TimesTenユーザー・グループの作成

インストール時に、TimesTenユーザー・グループを指定する必要があります。デフォルトでは、インスタンスのためのTimesTenユーザー・グループは、TimesTenをインストールしているユーザーのプライマリ・オペレーティング・システム・グループになります。TimesTenユーザー・グループをインストーラのプライマリ・グループ以外に変更する場合は、インストール時にグループ名を指定する必要があります。

または、TimesTenインスタンスをworld accessibleにすることもできます。ただし、これは推奨されていません。

TimesTenユーザー・グループを変更するには、TimesTenインスタンスを削除して再インストールします。その際に、新しいグループ名を指定します。

TimesTenユーザー用のオペレーティング・システム・グループを用意していない場合は、TimesTenをインストールする前にrootユーザーとして次の操作を実行し、TimesTenユーザー・グループを作成します。

1. TimesTenインスタンスをインストールできるオペレーティング・システム・グループを作成します。このオペレーティング・システム・グループには、timestenという名前を使用することをお薦めしますが、任意の名前を使用することも可能です。

注意:
このマニュアルの例では、timestenはTimesTenユーザー・グループの名前です。

2. インストールを行っているユーザー、およびTimesTenを使用しているユーザーを、作成したTimesTenユーザー・グループに追加します。

3. デフォルトのTimesTenユーザー・グループと名前が異なる場合は、インストール時に適宜このグループの名前を指定します。

TimesTenインストールのディレクトリおよびファイル権限には、インストール時に定義したグループとして指定されたグループがあります。これによって、ほとんどのディレクトリ、ファイル、チェックポイント・ファイル、トランザクション・ログ・ファイル、共有メモリー・セグメントおよびセマフォに対する読取りおよび書込み権限を制限するための権限が、定義したこのグループに設定されます。特定のリソースの場合の例外がTimesTenによって定義されています。権限の詳細は、「ディレクトリおよびファイルの権限」を参照してください。

注意:
Solarisシステムでは、1または2を設定したMemoryLockを使用して、rootとしてインストールする必要があります。Solarisシステムでは、TimesTenのroot以外のインスタンスのデータベースは、この属性に3および4の設定を使用できます。

TimesTenインスタンス・レジストリおよびインスタンス管理者グループの作成

UNIXプラットフォームでは、インスタンス・レジストリは/etc/TimesTenにあります。/etc/TimesTenディレクトリを初めて作成する場合はrootアクセスが必要なことがあります。このディレクトリの作成は、インストール前の手順としてコンピュータごとに行う必要があります。

TimesTenをインストールしているユーザーが、/etc/TimesTenディレクトリに対する読取りおよび書込み権限を持っていない場合は、TimesTenをインストールする前に、rootユーザーとして次の手順を実行する必要があります。

1. TimesTenインスタンス管理者グループ用のオペレーティング・システム・グループを作成します。このグループには任意の名前を使用できますが、この例ではttadminという名前を使用します。たとえば、LinuxやSolarisでは次のようになります。

# groupadd ttadmin

2. ディレクトリ/etc/TimesTenがない場合は作成します。

# mkdir /etc/TimesTen

このディレクトリのファイルに必要なディスク領域は、100KB以上です。

3. /etc/TimesTenディレクトリに対する所有および権限を、TimesTenインスタンス管理者グループに割り当てます。こうすることで、インスタンス管理者のみにアクセスおよび実行が許可されます。インストール時に、instance_infoファイルが/etc/TimesTenディレクトリに追加されます。このファイルは、インスタンスの管理者グループによる読取りと書込みが可能である必要があります。
TimesTenをインストールする前に、/etc/TimesTenの権限モードを770に、また/etc/TimesTenにあるすべてのファイルの権限モードを660に設定します。

次のコマンドでは、TimesTenディレクトリのグループ所有権をttadminグループに変更し、このディレクトリにあるすべてのファイルに対する権限を、ttadminグループのメンバーについて読み書き両用に変更します。

# chgrp -R ttadmin /etc/TimesTen
# chmod 770 /etc/TimesTen/
# chmod 660 /etc/TimesTen/*

4. これで、UNIXシステムにTimesTenをインストールできます。インストーラによって、/etc/TimesTenの有無と権限が検証され、権限が正しくなかった場合、インストールは失敗します。

UNIXシステムへのTimesTenのインストール

インスタンスは、TimesTenインスタンス管理者が十分な権限を所有している任意のディレクトリにインストールすることができます。

注意:
インストールを開始する前に、「インストールの前提条件」に示す前提条件が満たされていることを確認する必要があります。

UNIXシステムでのTimesTenのインストールについては、次の項を参照してください。

- TimesTenのインストール

- UNIXシステムの情報メッセージ

- UNIXでのデーモン・ポート番号の変更

- UNIXシステムにおけるTimesTenの削除

TimesTenのインストール

TimesTenをUNIXシステムにするには、次の手順を実行します。

1. 現行のリリースに対応した適切なTimesTen ZIP/TARファイルをダウンロードします。ファイル名は、プラットフォームおよびリリース番号を示しています。

2. TimesTenインスタンス管理者としてログインします。

3. ファイルの内容を抽出します。

4. プラットフォーム・ディレクトリに移動します。

% cd platform

Linuxシステムの例:

% cd linux8664

5. TimesTenのsetupスクリプトを実行します。

% ./setup.sh

注意:
ユーザーがrootとしてTimesTenをインストールすると、次の警告が表示されます。「rootとしてTimesTenをインストールしようとしています。TimesTenデーモン・プロセスはroot権限で実行されます。」
「OK」をクリックしてrootとしてインストールすると、インスタンス管理者がrootになり、インスタンス管理者が実行する必要のあるアクションやアプリケーションは、rootとして実行することになります。

TimesTenのインストールにオプションは必要ありませんが、setup.shスクリプトは次のオプションを使用します。

オプション

説明

-install

TimesTenをインストールします(デフォルトでは有効)。

-uninstall

TimesTenをアンインストールします。
「UNIXシステムにおけるTimesTenの削除」も参照してください。

-batch filename

プロンプトなしのインストールまたはアンインストールを可能にします。バッチ・ファイルfilenameはオプションです。
filenameを指定すると、インストール時にファイルからすべてのインストール・プロンプトが読み込まれます。

filenameを指定しなかったり、インスタンス名を含んでいない場合、TimesTenは、tt1122_bits (_32または_64)を使用して、インスタンス名に対応したデフォルトのインスタンスをインストールします。インストールを行っているコンピュータに同じ名前のインスタンスがすでに存在する場合、インストールは失敗します。

バッチ・ファイルを作成し、インストール先のインスタンス名を具体的に指定することをお薦めします。

-help

ヘルプ・メッセージを表示します。

-installDoc

TimesTenドキュメント・ライブラリとクイック・スタート・チュートリアル・ページがインストールされます。(ドキュメントのみのインストールも可能です。)

-quickstart

既存のインストールにTimesTenクイック・スタート・サンプル・プログラムがインストールされます。

-record filename

インストール時の質問に対する応答を、filenameで指定したファイルに記録します。その後、このファイルは-batchオプションに対するパラメータとして使用できます。

-verbose

その他のインストール情報を表示します。

6. setupスクリプトのプロンプトへの応答を入力します。

注意:
プロンプトに応答せずにTimesTenをインストールまたは削除するには、setup.shスクリプトで-batchフラグを使用します。
変更を行うたびに-recordを使用して、レスポンス・ファイルを再作成することをお薦めします。新しいインストールの質問に対する応答が元のサイレント・インストールのレスポンス・ファイルに存在しない場合があるため、予期しない結果が発生する可能性があります。

setupスクリプトによって、次の処理が実行されます(ユーザーの応答が原因で、インストール処理が終了した場合を除きます)。

- 次のいずれかを選択するように求められます。

- 新しいインスタンスのインストール。

- 既存のインスタンスをアップグレードします(インプレース・アップグレード).このオプションでは、同じメジャー・リリース内の新しいパッチ・リリースにアップグレードできます。たとえば、11.2.2.4.0から11.2.2.5.0にアップグレードします。(「インプレース・アップグレード」を参照してください。)
重要: アップグレード前に、データベースまたは重要なファイルがTimesTenインストール・ディレクトリにないことを確認してください。関連情報については、「データベース・ファイルおよびその他のユーザー・ファイルの場所に関する考慮事項」を参照してください。

- 既存のインスタンスに関する情報の表示。

- インストールの終了。

- デフォルトのインスタンス名の選択またはTimesTenインスタンスの名前の選択を行うように求められます。

注意:
それぞれのTimesTenインストールは一意のインスタンス名によって識別されます。インスタンス名は、nullを含まない255文字以下の英数字である必要があります。

- 次のいずれかのコンポーネントをインストールするように求められます。

- Client/ServerおよびData Manager

- Data Managerのみ

- Clientのみ

- TimesTenインスタンスの場所の入力を求めます。デフォルトでは、$HOME/TimesTen以下のサブディレクトリにインストールされます。サブディレクトリは、TimesTenのインスタンス名に合わせて名前が付けられます。TimesTenのドキュメントでは、このインストール・ディレクトリをinstall_dirと表します。

- TimesTenデーモンのホーム・ディレクトリの位置の指定を求められます。デフォルトの場所はinstall_dir/infoです。
デーモンのホーム・ディレクトリは、TimesTenデーモンおよび関連プロセスの作業ディレクトリです。特に、このディレクトリには、デーモン・オプション・ファイル(ttendaemon.options)、プロセスIDファイル(timestend.pid)、ユーザー・ログ・ファイル、サポート・ログ・ファイル、DBIファイルなどの、デーモンが読取りおよび書込みを行うファイルが含まれています。また、sys.odbc.ini、sys.ttconnect.ini、cluster.oracle.iniなどのTimesTen .iniファイルも含まれています。

- TimesTenデーモンのログ・ファイルの位置の指定を求められます。このリリースでは、デーモン・ログは、サポート・ログおよびエラー・ログに置き換えられています。デフォルトの場所はinstall_dir/infoです。

- デーモン・ポート番号の指定を求められます。(デフォルトのポート番号(64-bitシステムの場合は53396、32-bitシステムの場合は53392)が使用されていない場合、それらが表示されます。)

注意:

- 同じコンピュータにTimesTenの複数のインスタンスをインストールする場合、インストール時にTimesTenデーモンおよびTimesTenサーバーごとに一意のTCP/IPポート番号を指定します。

- 複製を使用する場合で、互いに複製するTimesTenデータベースでデーモン・ポートが異なることが確かな場合は、複製に静的ポートを使用し、重複操作に対してttRepAdminユーティリティの-remoteDaemonPortオプションを使用する必要があります。ttVersionユーティリティを使用すると、TimesTenインストールのポート番号を確認できます。

- TimesTenユーザー・グループの指定またはworld accessibilityの選択を求められます。これらのオプションの詳細は、「オペレーティング・システム・グループおよびファイル権限のインストール前の要件」を参照してください。次のような処理が可能です。

1. グループdefault groupへのアクセスを制限します。

2. 異なるグループへのアクセスを制限します。

3. TimesTenインスタンスをworld accessibleにする(非推奨)。コンピュータ上のすべてのユーザーが信頼でき、オペレーティング・システム・レベルのすべてのアクセス制御を無効する場合のみ、このオプションを選択します。

- このインスタンスに対してPL/SQLをインストールにするかどうかの確認を求められます。デフォルトの応答は、yesです。PL/SQLのインストールを選択しない場合は、TimesTenのttmodinstallユーティリティを使用して、後からPL/SQLをインストールできます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttmodinstallに関する説明を参照してください。

注意:
一部のTimesTenライブラリのサイズが増加しますが、PL/SQLをインストールすることをお薦めします。一部の機能はこれに依存しています。

- TNS_ADMIN環境変数の設定を求められます。この値は、tnsnames.oraファイルのあるディレクトリの場所です。
この手順はスキップできます。インストール時に場所を指定しない場合、ttmodinstallユーティリティを使用して後で設定できます。ただし、TimesTen Application-Tier Database Cache (TimesTen Cache)を使用するには、指定する必要があります。

- サーバー・ポート番号の指定を求められます。(デフォルトのポート番号(64-bitシステムの場合は53397、32-bitシステムの場合は53393)が使用されていない場合、それらが表示されます。)

- クイック・スタート・サンプル・プログラムおよびTimesTenドキュメントのインストールが求められます。TimesTenのクイック・スタート・プログラムでは、最大で64MBのディスク領域が必要になる場合があります。デフォルトのディレクトリは、install_dir/quickstartおよびinstall_dir/docです。

- デモ・データベースの場所の指定を求められます。クイック・スタート・サンプル・プログラムをインストールする場合は、この場所にTimesTenデモ・データベース・ファイルがインストールされます。デフォルトの場所はinstall_dir/info/DemoDataStoreディレクトリです。他の場所を選択する際の推奨事項は、「データベース・ファイルおよびその他のユーザー・ファイルの場所に関する考慮事項」を参照してください。

- Oracle ClusterwareとともにTimesTenレプリケーションをインストールするかどうかの決定を求められます。コンピュータ上のOracle Clusterwareのインストール先となるパスと、TimesTen Clusterwareエージェントのためのポート番号の入力が求められます。
TimesTen 11.2.2では、Clusterwareのリリース11.2.0.2および11.2.0.3のみがサポートされることに注意してください。(TimesTen 11.2.1では、Clusterwareのリリース11.1.0.7、11.2.0.2、および11.2.0.3がサポートされます。)

- インストーラによってOracle Clusterwareが構成済のノードが確認され、Oracle Clusterwareが含まれているTimesTenレプリケーションのノード・リストの指定が求められます。(TimesTenのインストール後に、ttmodinstallユーティリティを使用して、Oracle Clusterwareをインストールまたは構成できます。)

- アップグレードをインストールする場合、今回のリリースのTimesTenの以前のインストールはすべて削除されます。

- TimesTenコンポーネントが適切なディレクトリにインストールされます。

- デーモンが起動されます。(関連する情報は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデーモンの起動および停止に関する説明を参照してください。)

UNIXシステムの情報メッセージ

TimesTenデーモンが実行されていると、TimesTenのシステム管理用およびアプリケーションのデバッグ用に、エラー、警告、情報およびデバッグ・メッセージが生成されます。インストール時に、これらのメッセージを、標準的なファイルに格納するか、syslog機能に送信するかを指定します。syslog機能の使用はお薦めしませんが、使用する場合は、オペレーティング・システム・ドキュメントを参照してください。

syslogを使用してメッセージがログに記録されている場合は、デフォルトでLOG_USER syslog機能が使用されます。

syslog機能を使用してTimesTenデーモンおよびサブデーモンのメッセージを記録するには、ttendaemon.optionsファイルの別の行に、次の行を追加します。

-facility name

nameに指定できる値は、auth、cron、daemon、local0-local7、lpr、mail、news、userまたはuucpです。

UNIXでのデーモン・ポート番号の変更

インスタンス・レジストリを使用すると、TimesTenインスタンスに対してTCP/IPポートの一意性を保証できますが、TimesTenメイン・デーモンのポートとTimesTen以外のアプリケーションが使用するポートの競合の可能性が常に存在します。

ttmodinstallユーティリティを使用すると、インスタンス管理者はTimesTenのメイン・デーモンがリスニングしているポート番号を変更できます。ttmodinstallを使用する前にTimesTenデーモンを停止していない場合、ユーティリティはデーモンを停止してからポート番号を変更します。ポートが変更されると、デーモンは自動的に再起動されます。この機能は、TimesTenをインストールし、その後にポートが使用されていることを検出する場合に役に立ちます。

このユーティリティは、-port オプションに引数として新しいポート番号を指定して、コマンドラインから実行します。例:

% ttmodinstall -port 12345

ttmodinstallの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。

UNIXシステムにおけるTimesTenの削除

TimesTenのすべてのコンポーネントを削除するには、次の手順を実行します。

1. TimesTenインスタンス管理者としてログインします。

2. TimesTenのsetupスクリプトは、install_dir/binディレクトリにあります。このスクリプトは、インストール・ディレクトリ以外のディレクトリから、-uninstallオプションを指定して実行します。

% install_dir/bin/setup.sh -uninstall

削除すると、TimesTenのすべてのライブラリおよび実行可能ファイルが削除され、デーモンとサーバーも停止および削除されます。psを実行すると、TimesTenのすべてのプロセスが停止されていることを確認できます。TimesTenが正常に削除されたことを確認するには、install_dirが存在しないことを確認します。

重要:
削除する前に、TimesTenインストール・ディレクトリにデータベースまたは重要なファイルがないことを確認してください。関連情報については、「データベース・ファイルおよびその他のユーザー・ファイルの場所に関する考慮事項」を参照してください。

WindowsシステムへのTimesTenのインストール

この項では、Windowsシステムでのインストールおよびその関連項目について説明します。インストールを開始する前に、「インストールの前提条件」に示す条件が満たされていることを確認する必要があります。

使用に関しては、次の点に注意してください。

- Windowsシステムでは、同じTimesTenメジャー・リリースの複数のインスタンスを共存させることはできません。たとえば、11.2.2.4.0インストールと11.2.2.5.0インストールは共存できません。別のメジャー・リリースのTimesTenインスタンスは共存可能です。たとえば、11.2.2.x.xインストールと11.2.1.x.xインストールを共存させることができます。

- TimesTenでは、32-bitのインストールと64-bitのインストールで別々のインストーラが用意されています。64-bit Windowsシステムでは、64-bitのインストールか32-bitのインストールのいずれかをインストールできます。ただし、前述の制限と同じように、同じリリースの64-bitのインストールと32-bitのインストールの両方を共存させることはできません。32-bitのインストールと64-bitのインストールは、異なるメジャー・リリースの場合にのみ共存させることができます。たとえば、11.2.2.x.xリリースの64-bitのインストールと11.2.1.x.xリリースの32-bitのインストールは共存させることができます。

- 64-bitのインストールには、64-bitのクライアント用と32-bitのクライアント用のオプションがあります。通常は64-bitのクライアントを使用しますが、両方またはいずれかのクライアントをインストールできます。

次の項で、WindowsシステムにTimesTenをインストールする手順を示します。

- TimesTenのインストール

- サイレント・モードでのTimesTenのインストール

- インストールの確認

- TimesTen ClientおよびServerのインストールの確認

- Windowsシステムの情報メッセージ

- WindowsシステムにおけるTimesTenの削除

TimesTenのインストール

TimesTenをWindowsシステムにインストールするには、次の手順を実行します。

1. 現行のリリースに対応した適切なTimesTen ZIPファイルをダウンロードします。ファイル名は、プラットフォームおよびリリース番号を示しています。

2. ファイルの内容を抽出します。

3. ZIPファイルからWin64またはWin32ディレクトリに配置された、setup.exe実行可能ファイルを実行します。

注意:

- Windows 7では、setup.exeを右クリックして、表示されたドロップダウン・リストから「Run as administrator」を選択する必要があります。(以前のバージョンのWindowsでは、setup.exeを実行するときにデフォルトで必須の管理権限がありました。)

- setup.exeを実行するたびに、インストーラによって、以前のTimesTenインストールが存在するかどうかが確認されます。Windowsでは、TimesTenのいずれかのメジャー・リリースの1つのインスタンスのみをインストールできます(メジャー・リリースはリリース番号の最初の3つの部分(11.2.2など)によって示されます)。同じメジャー・リリースのTimesTenがすでにインストールされている場合(11.2.2.5.0をインストールしようとしている場合の11.2.2.4.0など)、インストーラによって、以前のリリースをアンインストールするように求めるエラー・メッセージが返されます。

- TimesTenは、マップされたネットワーク・ドライブにインストールすることはできません。試行すると、エラーが発生します。

TimesTenインストーラは、次の処理を実行します。

- インストールの場所を指定するよう求めます。デフォルトでは、C:\TimesTen以下のサブディレクトリにTimesTenがインストールされます。サブディレクトリはTimesTenインスタンス名に合わせて名前が付けられます。たとえば、C:\TimesTen\tt1122_32(32-bitのインストール)またはtt1122_64(64-bitのインストール)です。TimesTenのドキュメントでは、このインストール・ディレクトリをinstall_dirと表します。

- インストールするコンポーネントを選択するよう求められます。

- TimesTen Data Manager

- TimesTen Data Managerデバッグ・ライブラリ

- TimesTen Server

- TimesTen Client
64-bitのインストールには、64-bitのクライアント用と32-bitのクライアント用のオプションがあります。両方を選択することも(デフォルト)、いずれか一方を選択することも、いずれも選択しないことも選択できます。32-bitのクライアントをインストールする場合は、tt1122_64\client32ディレクトリにインストールされます。

- 任意のコンポーネント

- TimesTenクイック・スタート・サンプル・プログラム

- TimesTenドキュメント(クイック・スタート・チュートリアル・ページなど)

詳細は、「Windowsで使用可能なコンポーネント」を参照してください。

- デモ・データベースのインストール場所の指定を求められます。TimesTenクイック・スタート・サンプル・プログラムをインストールすると、次の場所がデフォルトのDemoDataStoreディレクトリにデモ・データベース・ファイルがインストールされます。

%APPDATA%\TimesTen\DemoDataStore\

次のような場所です。

C:\Documents and Settings\username\Application Data\TimesTen\DemoDataStore\

Window 7では、C:\Documents and SettingsがC:\Usersに置き換わります。例:

C:\Users\username\Application Data\TimesTen\DemoDataStore\

Application Dataは、(Windows 7のAppData\Roamingなどに対する)シンボリック・リンクである場合があることに注意してください。デモ・データベース・ファイルの場所を選択する際の推奨事項については、「データベース・ファイルおよびその他のユーザー・ファイルの場所の考慮事項」を参照してください。

- TNS_ADMIN環境変数の設定を求められます。この値は、tnsnames.oraファイルのあるディレクトリの場所です。
このフィールドは空のままでかまいません。インストール時に場所を指定しない場合、ttmodinstallユーティリティを使用して後で設定できます。ただし、TimesTen Application-Tier Database Cache (TimesTen Cache)を使用するには、指定する必要があります。

- プログラム・フォルダを選択するよう求められます。参照して、このインストール用のフォルダを既存のフォルダまたは新しいフォルダを選択します。デフォルトは、TimesTen 11.2.2 (32-bit)またはTimesTen 11.2.2 (64-bit)です。

- コンピュータへのアクセス権のあるすべてのユーザーが読み書きできるようにこのインストールに対する権限を設定するかどうかが尋ねられます。ただし、推奨はされていません。無効にすると、権限はTimesTenユーザー・グループのメンバーであるユーザーに制限されます。権限およびworld accessibilityの詳細は、「オペレーティング・システム・グループおよびファイル権限のインストール前の要件」を参照してください。このオプションは、このインストールに対するオペレーティング・システム・レベルのすべてのアクセス制御を無効にする場合のみ選択します。

- このインスタンスに対してPL/SQLをインストールにするかどうかの確認を求められます。デフォルトの応答は、yesです。PL/SQLのインストールを選択しない場合は、TimesTenのttmodinstallユーティリティを使用して、後からPL/SQLをインストールできます。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttmodinstallに関する説明を参照してください。

注意:
一部のTimesTenライブラリのサイズが増加しますが、PL/SQLをインストールすることをお薦めします。一部の機能および特徴はこれに依存しています。

- 環境変数を登録するよう求められます。選択した場合、インストール・プログラムによって、TimesTenディレクトリがシステム環境変数PATH、LIBおよびINCLUDEに追加され、その他の適切な変数も設定されます。環境変数をインストール時には登録しない場合は、セッションごとにinstall_dir\bin\ttenv.batバッチ・ファイルを実行し、インストール後の任意のタイミングで環境変数を設定することができます。ttenvについては、「TimesTenの環境変数の設定」を参照してください。

注意:
複数リリースのTimesTenをインストールする場合、パスによって予期しない動作が発生することがあるため、これはお薦めしません。(複数のリリースは異なるメジャー・リリース・ラインである必要があります。Windowsでは、同じメジャー・リリースの複数のパッチ・リリースは共存できません。)

- CLASSPATH変数に追加するJDKのバージョンを選択するよう求められます(ある場合)。

- TimesTenのインストールを続行する前に、インストール時の選択項目が表示されます。

- リリース・ノートが表示され、クイック・スタートが起動します。クイック・スタートの詳細は、「TimesTenクイック・スタート」を参照してください。

注意:
Windowsインストーラでは、デーモンのホーム・ディレクトリの場所のオプションは含まれません。この場所はinstall_dir\srv\infoです。このディレクトリは、TimesTenデーモンおよび関連プロセスの作業ディレクトリです。特に、このディレクトリには、デーモン・オプション・ファイル(ttendaemon.options)、プロセスIDファイル(timestend.pid)、ユーザー・ログ・ファイル、サポート・ログ・ファイル、DBIファイルなどの、デーモンが読取りおよび書込みを行うファイルが含まれています。また、sys.odbc.ini、sys.ttconnect.ini、cluster.oracle.iniなどのTimesTen .iniファイルも含まれています。

サイレント・モードでのTimesTenのインストール

TimesTenでは、レスポンス・ファイルと呼ばれるバッチ・ファイルにインストール・オプションを保存できます。これを後で使用すると、ダイアログ・ボックスの各オプションに回答しないでTimesTenをインストールできます。

- デフォルトの場所にレスポンス・ファイルを作成するには、次のコマンドを使用します。

C:> setup.exe /r

このコマンドでは、表示される指示に従って通常のセットアップ操作を行い、デフォルトで、応答がファイルC:\Windows\setup.issに保存されます。

- デフォルトのレスポンス・ファイルに保存されたオプションを使用して、後でサイレント・インストールを行うには、次のコマンドを使用します。

C:> setup.exe /s

レスポンス・ファイルから、インストール・オプションが取得されます。ダイアログ・ボックスは表示されません。(サービスの開始を通知する情報ポップアップ・ダイアログなど、いくつかの情報ポップアップ・ダイアログが表示されます。)

あるいは、f1オプションを使用して、レスポンス・ファイルの名前および場所を指定できます。

- C:\Tempにレスポンス・ファイルmysetup.issを作成するには、次のコマンドを使用します。

C:> setup.exe /r /f1"C:\Temp\mysetup.iss"

- サイレント・インストールにこのレスポンス・ファイルを使用するには、次のコマンドを使用します。

C:> setup.exe /s /f1"C:\Temp\mysetup.iss"

注意:
TimesTenリリース11.2.2より前のバッチ・ファイルを使用して、今回のリリースをインストールしないでください。今回のリリースのインストーラのすべての新しいプロンプトにはデフォルトの応答が割り当てられるため、異なるリリースのバッチ・ファイルが使用されると、予期しない結果が発生する可能性があります。

インストールの確認

TimesTenが正常にインストールされたことを確認するには、ドライバ・ファイルが使用可能であり、サービスが実行中であることを確認します。

1. TimesTen 11.2.2のショートカット(たとえば、「TimesTen 11.2.2 (64-bit)」)が、「すべてのプログラム」に表示されることを確認します。

2. 「管理ツール」から、「データソース(ODBC)」を選択します。これによって、「ODBC データソース アドミニストレータ」が表示されます。

3. 「ドライバ」タブを選択します。TimesTen Data Manager 11.2.2ドライバがインストールされているかどうかを確認します。(TimesTen Clientをインストールした場合は、どのドライバも表示されます。次の項「TimesTen ClientおよびServerのインストールの確認」を参照してください。)「OK」をクリックします。

4. 「管理ツール」から、「サービス」を選択し、TimesTen Data Manager 11.2.2のサービスの「状態」が「開始」になっていることを確認します。(関連する情報は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデーモンの起動および停止に関する説明を参照してください。)

TimesTen ClientおよびServerのインストールの確認

次の手順を実行して、クライアントとサーバーが正常にインストールされたことを確認します。

注意:
この項の説明は、32-bit TimesTenを32-bit Windowsへインストールする場合または64-bit TimesTenを64-bit Windowsへインストール場合に有効です。ただし、32-bitのTimesTenを64-bitのWindowsへインストールする場合は、次のもの(32-bitバージョンのODBCデータ ソース アドミニストレータ)を実行し、TimesTen ODBCエントリを確認してください。
%WINDIR%\SysWOW64\odbcad32.exe

1. 「管理ツール」から、「データソース(ODBC)」を選択します。これによって、「ODBC データソース アドミニストレータ」が表示されます。

2. 「ドライバ」タブを選択します。TimesTen Client 11.2.2ドライバがインストールされているかどうかを確認します。(TimesTen Data Manager 11.2.2ドライバも確認してください。前の項「インストールの確認」を参照してください。)「OK」をクリックします。
注意: 64-bitのインストールに32-bitのクライアントをインストールする場合は、ドライバ・エントリを表示するために32-bitのODBCデータ ソース アドミニストレータを使用する必要があります(前述の注意を参照)。

3. 「システムDSN」タブを選択します。

4. sampledbCS_1122サンプル・データベースを選択し、「構成」をクリックします。

注意:

- この手順では、TimesTenクイック・スタート・サンプル・プログラム(サンプル・データベースを含む)がインストールされていることを想定しています。

- ダイレクト接続にはsampledb_1122 DSNが使用されます。sampledbCS_1122 DSNは、クライアント・サーバー接続に使用されます。

「TimesTen Client Data Source Setup」ダイアログ・ボックスが表示されます。

5. 「Test Oracle TimesTen Server Connection」をクリックして、サーバーとの接続を試行します。
ODBC アドミニストレータはTimesTen Serverに接続し、成功するとメッセージを表示します。このボタンをクリックすると、TimesTen Clientによって、次の検証が行われます。

- ODBC、Windows sockets、TimesTen Clientがシステムにインストールされます。

- 選択したTimesTen Serverが定義されます。

- TimesTen Serverが実行されます。

6. 「Test Data Source Connection」をクリックして、TimesTen Serverのデータソースに接続します。
ODBC データソース アドミニストレータはTimesTenのデータソースに接続し、成功するとメッセージを表示します。「Test Data Source Connection」をクリックすると、TimesTen Clientによって、検証が行われます。

- 選択したデータソースがサーバーに定義されます。

- TimesTen Clientはデータソースに接続できます。

Windowsシステムの情報メッセージ

TimesTenでは、エラー・メッセージがtterrors.logファイルに書き込まれます。このファイルは、install_dir\srv\infoディレクトリにあります。ttDaemonLogユーティリティを使用すると、TimesTen Data Managerによって記録されたメッセージを表示できます。システム管理ユーティリティについては、『Oracle TimesTen In-Memory Databaseリファレンス』のユーティリティに関する説明を参照してください。

WindowsシステムにおけるTimesTenの削除

その他のプログラムと同様に、Windows上のTimesTenをアンインストールできます。

重要:
削除する前に、TimesTenインストール・ディレクトリにデータベースまたは重要なファイルがないことを確認してください。関連情報については、「データベース・ファイルおよびその他のユーザー・ファイルの場所に関する考慮事項」を参照してください。

1. 「プログラムの追加と削除」(またはWindows 7の場合は「プログラムと機能」)に移動します。

2. プログラムの一覧からTimesTenを選択します。たとえば、「Oracle TimesTen In-Memory Database 11.2.2 (64-bit)」を選択します。

3. 「削除」(またはWindows 7の場合は「アンインストール」)を選択します。
インストールに関連付けられたDSN定義を削除するかどうかの指定を求められます。「Yes」を選択すると、すべての定義が削除されます。ユーザー定義DSN、TimesTenインストール・プロセスで作成されたDSNも含まれます。

重要: インプレース・アップグレード(「インプレース・アップグレードの実行」に記載)と同等のアップグレードの一環として削除する場合は、DSNを保持する必要があります。

正常に削除されたことを確認するには、次の内容を確認します。

- 「すべてのプログラム」からTimesTen 11.2.2が削除されている。

- 「サービス」リストから、TimesTen Data Manager 11.2.2が削除されている。

- 「ODBCデータ ソース アドミニストレータ」にある「ドライバー」タブからTimesTen 11.2.2ドライバが削除されている。

「サービス」リストおよび「ODBCデータ ソース アドミニストレータ」の詳細は、「インストールの確認」を参照してください。

Mac OS XシステムへのTimesTen Clientのインストール

Mac OS XシステムでのTimesTen Clientのインストールについては、次の項を参照してください。

- TimesTen Clientのインストール

- Mac OS XシステムでのTimesTen Clientのアンインストール

TimesTen Clientのインストール

Mac OS XシステムでTimesTen Clientをインストールするには、次の手順を実行します。

1. 現行のリリースに対応した適切なTimesTenクライアントZIP/TARファイルをダウンロードします。ファイル名は、プラットフォームおよびリリース番号を示しています。

2. TimesTenインスタンス管理者としてログインします。

3. ファイルの内容を抽出します。

4. プラットフォーム・ディレクトリに移動します。

% cd macos64

5. TimesTenのsetupスクリプトを実行します。

% ./setup.sh

TimesTen Clientのインストールにオプションは必要ありませんが、setup.shスクリプトは次のオプションを使用します。

オプション

説明

-install

TimesTen Clientをインストールします(デフォルトでは有効)。

-uninstall

TimesTen Clientのアンインストール
「Mac OS XシステムでのTimesTen Clientのアンインストール」も参照してください。

-batch filename

プロンプトなしのインストールまたはアンインストールを可能にします。バッチ・ファイルfilenameはオプションです。
filenameを指定すると、インストール時にファイルからすべてのインストール・プロンプトが読み込まれます。

filenameが指定されていない場合、またはインスタンス名が含まれていない場合、TimesTenはインスタンス名としてtt1122を使用してデフォルトのインスタンスをインストールします。インストールを行っているコンピュータに同じ名前のインスタンスがすでに存在する場合、インストールは失敗します。

バッチ・ファイルを作成し、インストール先のインスタンス名を具体的に指定することをお薦めします。

-record filename

インストール時の質問に対する応答を、filenameで指定したファイルに記録します。その後、このファイルは-batchオプションに対するパラメータとして使用できます。

-installDoc

TimesTenドキュメント・ライブラリとクイック・スタート・チュートリアル・ページがインストールされます。(ドキュメントのみのインストールも可能です。)

-quickstart

既存のインストールにTimesTenクイック・スタート・サンプル・プログラムがインストールされます。

-help

ヘルプ・メッセージを表示します。

-verbose

その他のインストール情報を表示します。

6. setupスクリプトのプロンプトへの応答を入力します。

注意:
プロンプトに応答せずにTimesTen Clientをインストールまたは削除するには、setup.shスクリプトで-batchフラグを使用します。
変更を行うたびに-recordを使用して、レスポンス・ファイルを再作成することをお薦めします。新しいインストールの質問に対する応答が元のサイレント・インストールのレスポンス・ファイルに存在しない場合があるため、予期しない結果が発生する可能性があります。

setupスクリプトによって、次の処理が実行されます(ユーザーの応答が原因で、インストール処理が終了した場合を除きます)。

- デフォルトのインスタンス名の選択またはTimesTen Clientインスタンスの名前の選択を行うように求められます。

注意:
それぞれのTimesTen Clientインストールは一意のインスタンス名によって識別されます。インスタンス名は、nullを含まない255文字以下の英数字である必要があります。

- TimesTen Clientインスタンスの場所を選択するよう求めます。次のいずれかを選択します。

[1] $HOME
[2] $PWD
[3] Specify a location
[q] Quit the installation

TimesTenは、specified_dir/TimesTenの下のサブディレクトリにインスタンスをインストールします。サブディレクトリは、TimesTen Clientのインスタンス名に合わせて名前が付けられます。TimesTenのドキュメントでは、このインストール・ディレクトリをinstall_dirと表します。

- TimesTenユーザー・グループの指定またはworld accessibilityの選択を求められます。これらのオプションの詳細は、「オペレーティング・システム・グループおよびファイル権限のインストール前の要件」を参照してください。次のような処理が可能です。

- グループdefault_groupへのアクセスを制限します。

- 異なるグループへのアクセスを制限します。

- TimesTenインスタンスをworld accessibleにする(非推奨)。コンピュータ上のすべてのユーザーが信頼でき、オペレーティング・システム・レベルのすべてのアクセス制御を無効する場合のみ、このオプションを選択します。

- TNS_ADMIN環境変数を設定するよう求めます。この値は、tnsnames.oraファイルのあるディレクトリの場所です。
この手順はスキップできます。インストール時に場所を指定しない場合、ttmodinstallユーティリティを使用して後で設定できます。ただし、TimesTen Application-Tier Database Cacheを使用するには、指定する必要があります。

- クイック・スタート・サンプル・プログラムおよびTimesTenドキュメントのインストールが求められます。クイック・スタート・サンプル・プログラムとTimesTenドキュメントのデフォルト・ディレクトリは、それぞれinstall_dir/quickstartとinstall_dir/docです。
クイック・スタート・サンプル・プログラムでは、最大で64MBのディスク領域が必要になる場合があります。あるいは、TimesTenドキュメントのみのインストールを選択できます。

- TimesTenサーバーを実行しているホストの名前を入力するよう求めます。値は、TimesTenサーバーが実行されているコンピュータの論理名、ドメイン名、またはIPアドレスです。この値は、次の場所のすべてで設定されます。

- odbc.iniファイルにある、すべてのサンプル・データベース定義のTTC_Server属性値

- ttconnect.iniファイルにある論理サーバー名

- ttconnect.iniファイルにある前述の論理サーバー名のNetwork_Address属性値

詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の論理サーバー名の定義に関する説明を参照してください。

- TimesTenサーバーのTCP/IPポート番号を入力するよう求めます。(デフォルトのポート番号を示します。)この値は、ttconnect.iniファイルにある前述の論理サーバー名のTCP_Port属性として設定されます。
詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のTCP_Portに関する説明を参照してください。

- TimesTen Clientコンポーネントが適切なディレクトリにインストールされます。

Mac OS XシステムでのTimesTen Clientのアンインストール

TimesTen Clientのすべてのコンポーネントを削除するには、次の手順を実行します。

1. TimesTen Clientインスタンス管理者としてログインします。

2. TimesTen Clientのsetupスクリプトは、install_dir/binディレクトリにあります。このスクリプトは、インストール・ディレクトリ以外のディレクトリから、-uninstallオプションを指定して実行します。

% ./install_dir/bin/setup.sh -uninstall

アンインストールすると、TimesTenのライブラリと実行可能ファイルがすべて削除されます。TimesTen Clientが正常に削除されたことを確認するには、install_dirが存在しないことを確認します。

ExalogicシステムへのTimesTenのインストール

TimesTenをExalogicシステムにインストールするには、「UNIXシステムへのTimesTenのインストール」の手順に記載されているように、TimesTenインストーラのプロンプトに従ってください。また、Oracle Linuxインストールの前提条件に合致していることも確認します。「Linuxの前提条件」を参照してください。

Exalogicシステムの各計算ノードに、TimesTenをインストールすることをお薦めします。

注意:
複数の計算ノードで使用される共有ディスクへのTimesTenバイナリのインストールは、サポートされていません。

TimesTenインストール・ファイルの場所に関する考慮事項は、次となります。

- TimesTenチェックポイントおよびトランザクション・ログ・ファイルがZFS共有記憶域に存在する必要がある場合、-allowNetworkFilesオプションをttendaemon.optionsファイルに追加する必要があります。『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のNFSマウントされたシステム上でのデータベース・アクセスの許可に関する説明を参照してください。

- 簡易なローリング・アップグレードを可能にするために、データベースおよびログ・ディレクトリは、TimesTenインスタンスのホーム・ディレクトリ外に存在する必要があります。

各ノードのTimesTenインストール、チェックポイントおよびトランザクション・ログ・ファイルを表1-1に示された場所に格納することを、強くお薦めします。

表1-1 インストール、チェックポイント・ファイルおよびトランザクション・ログ・ファイルの場所

コンポーネント

ディレクトリ

インストール

/non-NFS_mounted_file_system_path/TimesTen/TTinstance

データベース

/u01/machinename/general/pathまたは/u01/common/images/machinename/TTinstance

ログ・ディレクトリ

/u01/machinename/general/username/TTinstance

TimesTenと使用するためのOracle Clusterwareのインストール

Oracle Databaseドキュメントの説明に従ってOracle Clusterwareをインストールします。

1. http://www.oracle.com/pls/db112/homepageにアクセスします。

2. 「Installing and Upgrading」リンクを選択します。

3. ご使用のプラットフォームのGrid Infrastructureインストール・ガイドを参照します。

『Oracle Clusterware管理およびデプロイメント・ガイド』のOracle Clusterwareのインストールの概要に関する説明も参照してください。

TimesTen 11.2.2では、Clusterwareのリリース11.2.0.2および11.2.0.3のみがサポートされることに注意してください。(TimesTen 11.2.1では、Clusterwareのリリース11.1.0.7、11.2.0.2、および11.2.0.3がサポートされます。)

次の推奨事項に従います。

- OCRおよび投票ディスクの両方に使用されるZFS 7320ストレージ・アプライアンスに、NFS共有を作成します。NFS共有を投票ディスクとして使用するためには特別なNFSパラメータが必要です(詳細は、『Oracle Clusterware管理およびデプロイメント・ガイド』のOracle Cluster Registryおよび投票ディスクの管理に関する説明を参照してください)。

- ZFS 7320ストレージ・アプライアンスにClusterwareをインストールします。ソリッド・ステート・ディスク(SSD)ファイル・システムでは、容量が不足する可能性があります。

注意:
共有Oracleホームへのインストールは、Oracle Clusterwareのローリング・アップグレードが許可されないことから、お薦めしません。かわりに、各計算ノードにClusterwareを個別にインストールする必要があります。

- 各計算ノードにClusterwareをインストールします。Clusterwareインストールへのパスは、各計算ノードにおいて同一である必要があります。したがって、個別のClusterwareインストールにアクセスするために、各計算ノードが同じパスを使用できるディレクトリ構造を設定する必要があります。

- 共有記憶域では、各計算ノードに対して個別のディレクトリが存在します。

- 計算ノード1の場合、ディレクトリは次となります。

/export/compute_node_1/general

- 計算ノード2の場合、ディレクトリは次となります。

/export/compute_node_2/general

- 計算ノードnの場合、ディレクトリは次となります。

/export/compute_node_n/general

- NFSマウントを使用して、ノード固有のディレクトリを、各計算ノードにおいて同一のパスへとマップします。

- ホスト1では、次のようにします。

mkdir -p /opt/oracle
mount storage-server:/export/compute_node_1/general /opt/oracle

- ホスト2では、次のようにします。

mkdir -p /opt/oracle
mount storage-server:/export/compute_node_2/general /opt/oracle

- ホストnでは、次のようにします。

mkdir -p /opt/oracle
mount storage-server:/export/compute_node_n/general /opt/oracle

- 各ホストでは、/opt/oracle/crsにOracle Clusterwareをインストールします。

ODBCのインストール

ODBC SDKの再配布可能なコンポーネントは、WindowsシステムのC:\Windows\System32にインストールされます。Microsoft社はTimesTenによるODBC SDKの一部の再配布のみを許可しており、それらは自動的にインストールされます(インストールされていない場合)。Microsoft社のサンプル・プログラム、オンライン・ヘルプ・ファイル、C言語ヘッダー・ファイルなど、その他のコンポーネントは、Microsoft ODBC SDKの一部としてMicrosoft社から個別に入手でき、必要に応じて個別にインストールできます。また、ODBC C言語ヘッダー・ファイルおよびODBCオンライン・ヘルプは、Microsoft Visual .NET 2003、Microsoft Visual Studio 2005、2008または2010の一部としてバンドルされています。ほとんどのTimesTen開発者は、SDKを個別にインストールする必要はありません。

UNIXシステムでは、SDKを個別にインストールする必要はありません。

環境変数

この項では、ユーザーのアプリケーションで使用するTimesTenの機能に応じて設定が必要となる様々な環境変数について説明します。次の表に、この項またはこのドキュメントの他の項で説明する環境変数のサマリーをアルファベット順に示します。プラットフォーム固有の環境変数もあります。

環境変数

設定

追加情報

LIB、LIBPATH、LD_LIBRARY_PATH、LD_LIBRARY_PATH_64、DYLD_LIBRARY_PATH

TimesTenインストール・ディレクトリにあるlibディレクトリを含みます。

「共有ライブラリ・パス環境変数」

NLS_LANG

接続のキャラクタ・セットを指定する場合に指定します。NLS_LANGによって上書きされない場合、sys.odbc.iniまたはユーザーodbc.iniファイルの設定がデフォルトで使用されます。キャラクタ・セットを明示的に設定することをお薦めします。通常、デフォルトはAMERICAN_AMERICA.US7ASCIIです。
注意:

- TimesTenでは、キャラクタ・セット用のNLS_LANGのみが使用され、ドット(".")より前の文字は無視されます。NLS_LANG=.WE8ISO8859P1(ドットは必要)のようにキャラクタ・セットを指定できます。

- Windowsでは、NLS_LANG設定が環境にない場合、HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANGレジストリでNLS_LANG設定が検索されます。プログラムによるTimesTenへの接続に問題がある場合、NLS_LANG設定が有効であること、およびTimesTenでサポートされているキャラクタ・セットを示していることを確認します。TimesTenは、Oracle Instant Clientを使用して、これらの接続を確立します。

『Oracle TimesTen In-Memory Database C開発者ガイド』の「キャラクタ・セット」。ここではOCIの説明が中心ですが、一般的な情報、詳細情報のリンクも含まれます。
『Oracle TimesTen In-Memory Database リファレンス』の「サポートされているキャラクタ・セット」。

ODBCINI

TimesTenデータベースが使用するodbc.iniファイルが検出される場所を含みます。

「ODBCINI環境変数」

PATH

TimesTenインストール・ディレクトリにあるbinディレクトリを含みます。Windowsでは、TimesTen Cacheオプションを使用している場合、Oracle Databaseインストールへのパスも含まれます。

「PATH環境変数」、「共有ライブラリ・パス環境変数」および「WindowsシステムへのTimesTenのインストール」

SYSODBCINI

TimesTenシステム・データベースが使用するsys.odbc.iniファイルが検出される場所を設定します。デフォルトの場所は通常は十分であるため、設定しないでおくことも可能です。

「SYSODBCINI環境変数」

SYSTTCONNECTINI

TimesTen Clientアプリケーションが論理サーバー名の定義に使用するsys.ttconnect.iniファイルの場所を設定します。デフォルトの場所は通常は十分であるため、設定しないでおくことも可能です。

「SYSTTCONNECTINI環境変数」

TMPまたはTMPDIR

一時ディレクトリの場所を設定します。TimesTenは、リカバリやその他の処理時にこのディレクトリを使用します。

「デフォルトのインストール・ディレクトリ」

TNS_ADMIN

TimesTen Cacheを使用している場合、この値をtnsnames.oraファイルの場所に設定する必要があります。

「TNS_ADMIN環境変数」

Java

Javaアプリケーションの場合、設定する必要のある環境変数があります。

「Java環境変数」

次の項では、TimesTenにおける環境変数および設定方法について説明します。

- TimesTenの環境変数の設定

- 環境変数の説明

TimesTenの環境変数の設定

インストール後に環境変数をTimesTenの標準設定にする場合は、UNIXではttenvスクリプトを使用し、Windowsではttenv.batバッチ・ファイルを実行します。TimesTenユーティリティが優先して実行されるよう、パスおよびクラスパス(UNIXシステムの場合はライブラリ・パスも含む)の設定も含まれます。すべての変更を有効にするには、TimesTenを起動する前にttenvを実行する必要があります。

UNIXプラットフォームでは、install_dir/binディレクトリで、使用するシェルに適切なttenv.shまたはttenv.cshのいずれかのスクリプトを使用します。ローカル・ディレクトリがbinディレクトリ(またはフルパスを指定)の場合の例は次のようになります。

sh、bash、zsh、kshなどのBourne型のシェルの場合

./ttenv.sh

cshまたはtcshシェルの場合

source ttenv.csh

Windowsプラットフォームでは、install_dir/bin/ttenv.batバッチ・ファイルを実行します。

注意:
Windowsでは、「環境変数の削除」を有効(デフォルトで有効)にしている場合には、パス、クラスパス、およびライブラリ・パスがインストール時に設定されます。

環境変数の説明

前項の説明のとおり、主要な環境設定はttenvで行います。詳細情報が必要な場合は、次の項に示す環境変数の詳細、およびttenvで設定されかどうかの記述を参照してください。

次の環境変数について説明します。

- PATH環境変数

- ODBCINI環境変数

- SYSODBCINI環境変数

- SYSTTCONNECTINI環境変数

- TNS_ADMIN環境変数

- 共有ライブラリ・パス環境変数

- Java環境変数

PATH環境変数

TimesTenには、TimesTenアプリケーションの管理とデバッグを行うためのユーティリティが用意されています。これらのユーティリティを使用するには、PATH設定にinstall_dir/binを含めます。

注意:
この変数はttenvで設定されるか、Windowsでは、環境変数が登録されている場合(デフォルト)はインストール時に設定されます。

ODBCINI環境変数

TimesTenアプリケーションはodbc.iniファイルを使用して、データソースおよびその接続属性を定義します。(接続属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続属性に関する説明を参照してください。)UNIXプラットフォームの場合、デフォルトではTimesTenアプリケーションを実行しているユーザーのホーム・ディレクトリのユーザーodbc.iniファイルが最初に検索されます。実行時にこのファイルの名前および場所を上書きするには、TimesTenアプリケーションを起動する前にODBCINI環境変数で適切なパスとファイル名を指定する必要があります。

TimesTenがユーザーDSNファイルの場所を検索できない場合は、install_dir/infoにある sys.odbc.iniファイルが検索されます。(次の項のSYSODBCINI環境変数の説明も参照してください。)詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のユーザーおよびシステムDSNの概要に関する説明を参照してください。

SYSODBCINI環境変数

TimesTenアプリケーションはsys.odbc.iniファイルを使用して、システム・データソースおよびその接続属性を定義します。システム・データソースは、すべてのユーザーが使用できます。Windowsでは、ODBCデータソース管理者タブの「システムDSN」でシステムDSNが定義されます。UNIXでは、ファイルinstall_dir/info/sys.odbc.iniでシステムDSNが定義されます。実行時にこのファイルの名前および場所を上書きするには、TimesTenアプリケーションを起動する前にSYSODBCINI環境変数にsys.odbc.iniファイルのパス名を設定します。

TimesTenでは、ユーザーodbc.iniファイルのDSNが最初に検索されます。(次の項のODBCINI環境変数の説明も参照してください。)見つからない場合は、sys.odbc.iniファイルが検索されます。

SYSTTCONNECTINI環境変数

TimesTen Clientアプリケーションは、sys.ttconnect.iniファイルを使用して、論理サーバー名を定義します。論理サーバー名については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTen ClientおよびServerの使用に関する説明を参照してください。UNIXプラットフォームの場合、デフォルトでは、install_dir/sys.ttconnect.iniが検索されます。実行時にこのファイルの名前および場所を上書きするには、TimesTen Clientアプリケーションを起動する前に、SYSTTCONNECTINI環境変数を設定します。

Windowsシステムの場合、論理サーバー名は、ODBCデータソース・アドミニストレータを使用して構成できます。

TNS_ADMIN環境変数

TimesTen CacheがサポートされているプラットフォームでOracle Databaseのデータを使用するには、TNS_ADMIN環境変数でtnsnames.oraファイルのディレクトリを指定する必要があります。

注意:
UNIXシステムでは、この変数は、ttenvを実行すると設定されます。Windowsでは、インストール時にオプションとして設定できます。

-tns_adminオプションを指定したttmodinstallユーティリティを使用すると、インストール後にこの環境変数の値を設定できます。ttmodinstallの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。

共有ライブラリ・パス環境変数

Linuxシステムでは、LD_LIBRARY_PATH環境変数にinstall_dir/libを追加します。

Solarisシステムでは、LD_LIBRARY_PATHまたはLD_LIBRARY_PATH_64環境変数にinstall_dir/libを追加します。

AIXシステムでは、LIBPATH環境変数にinstall_dir/libを追加します。

Windowsシステムでは、LIB環境変数にinstall_dir\libを追加します。

Mac OS Xシステムでは、DYLD_LIBRARY_PATH環境変数にinstall_dir/lib:install_dir/ttoracle_home/instantclient_11_2 を追加します。

注意:
UNIXシステムでは、適用できる変数は、ttenvを実行すると設定されます。Windowsでは、LIBは、環境変数が登録されている場合(デフォルト)、インストール時に設定されます。

Java環境変数

次の項では、TimesTen Javaアプリケーションの環境に影響する環境変数について説明します。

- CLASSPATH変数の設定

- 共有ライブラリ・パス変数の設定

- THREADS_FLAG変数の設定(UNIXのみ)

- PATH変数の設定

CLASSPATH変数の設定

Javaクラスおよびクラス・ライブラリはCLASSPATHで設定します。いずれかのTimesTen JDBCドライバをロードするJavaプログラムを実行する前に、CLASSPATH環境変数にクラス・ライブラリ・ファイルが含まれている必要があります。

install_dir/lib/ttjdbcjdk_ver.jar

jdk_verは、使用中のJDKのバージョンです。たとえば、JDK 5.0ではjdk_verは5になり、ファイル名はttjdbc5.jarとなります。JDK 6ではjdk_verは6になり、ファイル名はttjdbc6.jarとなります。

注意:

- この変数はttenvで設定されるか、Windowsでは、環境変数が登録されている場合(デフォルト)はインストール時に設定されます。

- 複数のJARファイルがCLASSPATHにリストされている場合は、TimesTen JARファイルが最初にリストされていることを確認します。

UNIXでは、CLASSPATH要素はコロンで区切ります。たとえば、次のように記述します(sh型のシェル)。

CLASSPATH=.:install_dir/lib/ttjdbc6.jar
export CLASSPATH

または次のように実行します(csh型のシェル)。

setenv CLASSPATH .:install_dir/lib/ttjdbc6.jar

Windowsでは、CLASSPATH要素はセミコロンで区切ります。

また、Windowsでは、ディレクトリ・パス名に空白が含まれている場合でも、CLASSPATH環境変数を設定するときに引用符を使用しないでください。

正しい例を示します。

set CLASSPATH=.;install_dir\lib\ttjdbc6.jar

間違った例を示します。

set CLASSPATH=.;"install_dir\lib\ttjdbc6.jar"

システムにインストールしたJDKのバージョンが不明確な場合は、次のように入力します。

> java -version

JMS/XLAインタフェースを使用する場合は、CLASSPATHに次も追加する必要があります。

install_dir/lib/timestenjmsxla.jar
install_dir/3rdparty/jms1.1/lib/jms.jar
install_dir/lib/orai18n.jar

たとえば、CLASSPATHは次の例のようになります(install_dirは該当する値に置き換えてください)。

.:install_dir/lib/ttjdbc6.jar:install_dir/lib/timestenjmsxla.jar
:install_dir/3rdparty/jms1.1/lib/jms.jar:install_dir/lib/orai18n.jar

デフォルトでは、JMS/XLAは現行の作業ディレクトリにあるjmsxla.xmlという構成ファイルを検索します。別の名前および場所を使用する場合は、InitialContextクラスの環境変数の一部として指定し、CLASSPATH設定にその場所を追加する必要があります。jmsxla.xml構成ファイルの詳細は、『Oracle TimesTen In-Memory Database Java開発者ガイド』を参照してください。

共有ライブラリ・パス変数の設定

TimesTen JDBCドライバをロードするJavaプログラムを使用する前に、TimesTen install_dir/libディレクトリを含めるようにシステム環境変数の共有ライブラリ・パスを設定する必要があります。共有ライブラリ・パスに使用する変数の名前は、使用するシステムによって異なります。

システム

変数名

Linux

LD_LIBRARY_PATH

Solaris

LD_LIBRARY_PATH

AIX

LIBPATH

Windows

PATH

Mac OS X

DYLD_LIBRARY_PATH

THREADS_FLAG変数の設定(UNIXのみ)

TimesTen JDBCドライバは、ネイティブ・スレッドを使用します。グリーン・スレッドはサポートされていません。

一部のUNIXプラットフォームでネイティブ・スレッド・パッケージを使用するには、THREADS_FLAG環境変数をネイティブに設定する必要があります。フラグの設定方法は、シェルの種類によって異なります。

cshでの構文は次のとおりです。

setenv THREADS_FLAG native

shでの構文は次のとおりです。

THREADS_FLAG=native
export THREADS_FLAG

PATH変数の設定

javacおよびjava実行可能ファイルが両方とも実行可能な検索パスにあることを確認します。

TimesTenクイック・スタート

インストール時に、クイック・スタート・チュートリアル・ページやTimesTenクイック・スタート・サンプル・プログラムなどのTimesTenドキュメントをインストールできます。クイック・スタート・ドキュメントはデフォルトでinstall_dir/quickstartディレクトリにインストールされます。UNIXでは、他の場所を指定するオプションがあります。インストール場所にかかわらず、詳細情報についてのホーム・ページはinstall_dir/quickstart.htmlです。

クイック・スタートでは、管理、アクセス制御、アプリケーション開発、レプリケーションおよびキャッシュに関するチュートリアル、サンプル・プログラム、サンプル・コードが提供されます。次の領域についての情報が提供されます。

構成および設定:

- TimesTenデータベースの作成、ロードおよびアンロード

- ユーザー・アカウントおよび権限の設定

- システム操作のためのTimesTenユーティリティおよび組込みプロシージャの使用

- Oracle DatabaseをキャッシュするためのTimesTen Application-Tier Database Cacheの設定

- アクティブ・スタンバイ・ペアおよびOracle Clusterwareを使用したレプリケーションの設定

- Java EEまたはJ2EEアプリケーション・サーバーをTimesTenと連携させるための構成

- TimesTenでのOracle SQL Developerの使用

- TimesTenでのOracle Enterprise Managerの使用

アプリケーション開発

- ODBCおよびXLAを使用するCアプリケーション

- Oracle Call Interface(OCI)またはPro *C/C++ Precompilerを使用するCアプリケーション

- TimesTen TTClassesおよびXLAを使用するC++アプリケーション

- JDBCおよびJTAを使用するJavaアプリケーション

- PL/SQLアプリケーション

パフォーマンスおよびベスト・プラクティス

- レスポンス時間サンプル・プログラム

- プログラミングのヒント

- データベース・スキーマの設定のヒント

- ハードウェア構成のヒント

- オペレーション・システム構成のヒント

サンプル・プログラムをインストールした場合、クイック・スタートのホーム・ページからサンプル・プログラムを設定および実行するための情報を入手できます。

- サンプル・プログラム・スキーマおよび設定: build_sampledbスクリプトは、サンプル・データベースおよびデモ・スキーマを作成します。サンプル・プログラムを使用する前にこれを実行する必要があります。

- サンプル・プログラム環境および設定: ttquickstartenvスクリプト(通常、TimesTenの設定に使用するttenvスクリプトのスーパーセット)によって、デモ環境を設定します。これは、サンプル・プログラムをコンパイルおよび実行するセッションに入るごとに実行する必要があります。

- サンプル・プログラムおよび設定: クイック・スタート・サンプル・プログラムは、quickstart/sample_codeディレクトリの下のサブディレクトリにあります。プログラムのコンパイルと実行については、サブディレクトリにあるREADMEファイルを参照してください。また、クイック・スタートのホーム・ページにある「Getting Started」および「Sample Programs」の下にある様々なAPIリンクも参照してください。

ドキュメントのインストール

クイック・スタート・チュートリアル・ページなどのTimesTenドキュメントは、TimesTen製品とともにインストールされます。ただし、ドキュメントをインストールしないように選択した場合は除きます。(クイック・スタート・サンプル・プログラムは、個別のオプションとしてインストールされます。)ドキュメントはHTMLおよびPDF形式で提供されます。HTMLはブラウザを使用して参照できます。PDFはAdobe Acrobat Readerを使用して参照できます。Acrobat Readerをインストールしていない場合は、Adobe Systems社のWebページhttp://www.adobe.comからダウンロードできます。

ドキュメントは、install_dir/docディレクトリにインストールされます。

TimesTenドキュメントも、次のURLのOracle Technology Networkで入手できます。

http://www.oracle.com/technetwork/database/database-technologies/timesten/documentation/index.html

このドキュメント・ライブラリは、TimesTenとともにインストールしたライブラリよりも新しい場合があります。

インストールの問題

インストール時の問題を回避するには、前提条件をすべて満たす必要があります。このインストレーション・ガイドおよび『Oracle TimesTen In-Memory Databaseリリース・ノート』の情報を使用して、次のことを確認します。

- 必要なオペレーティング・システム・パッチをすべて適用していること。サポートされているバージョンのオペレーティング・システムを実行していること。

- 必要なカーネル構成の変更をすべて行っていること。

- 十分なディスク領域があること。

- UNIXでは、TimesTen管理者グループのメンバーであること。「TimesTenインスタンス管理者およびユーザー・グループ」を参照してください。

- Windowsでは、ローカルのAdministratorsグループのメンバーであるユーザーAdministratorとしてインストールすること。

2 移行、バックアップおよびリストア

この章では次の項目において、TimesTenデータベースの移行、バックアップおよびリストアについて説明します。

- 概要: データベースのコピー、移行、およびリストア

- データベースのバックアップおよびリストア

- データベースの移行

- データベースの変更

- 移行時のグローバリゼーション・サポート

概要: データベースのコピー、移行、およびリストア

データベースのコピー、リストアおよび移行用のTimesTenユーティリティでは、様々な移行およびアップグレード・タスクを実行できます。関連ユーティリティには次のものが含まれます。

- ttBackupユーティリティ: 同じメジャー・リリース・ラインおよび同じプラットフォームでのみ互換性のあるデータベースのイメージ・コピーを作成します。これは一般的なバックアップ・ユーティリティですが、マイナー・アップグレード(たとえば11.2.2.x.xから11.2.2.y.y)のためのバックアップ、またはデータベースのサイズの変更を必要としない移行のためのバックアップにも使用できます。
このユーティリティは、1つにチェックポイント・ファイルおよびログ・ファイルのコピーを保存し、イメージを作成します。

- ttRestoreユーティリティ: ttBackupを使用してバックアップしたデータベースをリストアします。

- ttMigrateユーティリティ: バイナリ・ファイルにデータベースをエクスポートするか、ttMigrateで作成したバイナリ・ファイルからデータベースをインポートします。(Oracle Databaseに精通していると、このユーティリティが実質的にOracle Databaseのエクスポートおよびインポート機能に似ていることがわかります。)このユーティリティは、リリースに中立で、プラットフォームに固有の形式でデータベースをエクスポートします。メジャー・アップグレードに使用できます(たとえば11.2.1.x.xから11.2.2.y.y)。
プラットフォーム間を移動するには、ttMigrateCS -cクライアント/サーバー・バージョンを使用して、ターゲット・システムで適切な形式を使用できるようにリモート・データベースをターゲット・システム上のファイルにエクスポートします。次にttMigrate -rを使用してファイルのコンテンツをデータベースにリストアします。

注意:
ttMigrateのttMigrateCSバージョンはUNIXでのみ使用できます。Windowsシステムでは、ttMigrateを使用して同等の処理を実行し、定義済TimesTenクライアントDSNを通じてターゲット・システムからソース・システムに接続します。

- ttBulkCpユーティリティ: ASCIIファイルにデータベース表を書き込むか、ttBulkCpで作成したASCIIファイルからデータベースに表をリストアします。

- ttSchemaユーティリティ: データベースのスキーマまたは選択したデータベース・オブジェクト(表、ビュー、シーケンスなど)の作成に使用するSQL DDL文を出力します。ttBulkCpと組み合せると、ttBulkCpからデータをリストアする前に、表を作成するSQL文を使用するときに役に立ちます。

- ttDestroyユーティリティ: データベースを新しい場所に移動する場合、新しいデータベースが正常に機能することを確認した後に、必要に応じてこのユーティリティを使用して古いデータベースを破棄できます。

これらのユーティリティについては、『Oracle TimesTen In-Memory Databaseリファレンス』のユーティリティに関する説明を参照してください。

注意:
または、ttBackupおよびttRestoreに対応するC関数を使用することもできます。『Oracle TimesTen In-Memory Database C開発者ガイド』のTimesTenユーティリティAPIに関する説明を参照してください。

通常のタスクには次の内容が含まれる場合があります。

TimesTenアップグレード

- TimesTenマイナー・アップグレードまたはパッチ・アップグレード: データベースのサイズまたは構造を変えずに同じメジャー・リリース・ラインのTimesTenリリースに移行します。ttBackupおよびttRestoreを使用してオフライン・アップグレードを実行できます。「TimesTenの別のマイナー・リリースまたはパッチ・リリースへの移行(オフライン・アップグレード)」を参照してください。
また、より一般的な方法として、TimesTenインストールのインプレース・アップグレードも実行できます。「インプレース・アップグレード」を参照してください。

- TimesTenメジャー・アップグレード: TimesTenの新しいメジャー・リリースへ移行します。

- 古いリリースでttMigrate -cを使用してデータをエクスポートし、新しいリリースでttMigrate -rを使用してデータをインポートすることでオフライン・アップグレードを実行できます。「TimesTenの他のメジャー・リリースへの移行」を参照してください。

- 状況に適切な場合は、ttMigrateを使用してレプリケーションによるオンライン・アップグレードを実行できます。「レプリケーションを使用したオンライン・アップグレード」を参照してください。

データベースの移行

- TimesTenの同じメジャー・リリース・ラインを使用する同じプラットフォームの他のシステムへの移行。ttBackupおよびttRestoreを使用します。「他のコンピュータ(同じプラットフォーム)へのデータベースの移行」を参照してください。

- 他のハードウェア・プラットフォームまたはソフトウェア・プラットフォームへの移行、または32-bitシステムから64-bitシステムへの移行。ttMigrateCSおよびttMigrateを使用します。「他のプラットフォームへのデータベースの移行」を参照してください。

データベースの変更

- 同じシステムの他のディレクトリへの移動。ttBackupおよびttRestoreを使用します。「他のディレクトリへのデータベースの移動」を参照してください。

- データベースのサイズの縮小。ttMigrateを使用します。「データベースのサイズの縮小」を参照してください。

注意:
この手順は、データベースを縮小して断片化を減らすためにも使用できます。

その他のタスク

- データベースのスナップショット作成、および同じ状態でのデータベースのリストア。ttBackupおよびttRestoreを使用します。

- データベースの選択した表を新しい場所またはプラットフォームへ移動。ターゲットが同じプラットフォームにある場合はttMigrateを使用できます。ターゲットが別のプラットフォームにある場合は、ttMigrateにttMigrateCSを組み合せて使用します。(ttBulkCpとttSchemaを使用して他のプラットフォームに移行することもできますが、一般的にはttMigrateとttMigrateCSを使用する方が簡単で高速です。)

- メタデータの変更(たとえば、列名の変更)。ttBulkCpおよびttSchemaを使用します。

注意:
DataStore (他のディレクトリへのデータベースの移動で使用)やPermSize(データベース・サイズの縮小に使用)などの変更を反映するには、接続属性をリセットする必要があります。
接続属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の接続属性に関する説明を参照してください。

データベースのバックアップとリストア

TimesTenのバックアップおよびリストア機能を使用すると、TimesTenデータベースのバックアップを作成し、後でデータベースのリストアが可能になります。バックアップおよびリストア機能は、主に、失われた最新の状態のデータベースをリストアするために使用します。TimesTenのバックアップおよびリストア機能の使用方法の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のttBackupに関する説明およびttRestoreに関する説明に関する説明を参照してください。

注意:
クライアントのみのインストールではこれらのユーティリティは使用できません。

TimesTenのバックアップ機能

すべてのデータベースのバックアップには、バックアップ・ポイント(バックアップを開始した時点)で存在していたとおりにデータベースをリストアするために必要な情報が含まれています。指定したバックアップからデータベースをリストアすると、バックアップ・ポイント前にコミットしたすべてのトランザクションの変更がリストアされます。

バックアップ操作は自動的に行われ、正常に完了した場合は、データベースをバックアップ・ポイントの状態にリストアするために使用可能なバックアップが作成されます。なんらかの理由で失敗した場合は、既存のバックアップのファイルをそのままにし、バックアップ・ポイントは変更されません。

TimesTenはバックアップ・パス(ディレクトリ名およびオプションのベース名から構成)によって指定された場所にデータベースのバックアップを書き込みます。バックアップの作成時に、バックアップ・ディレクトリおよびベース名を指定する必要があります。ベース名は、指定がない場合は、デフォルトでデータベース自体のベース名となります。

重要:

- バックアップ・ディレクトリの内容は手動で変更しないでください。バックアップ・ディレクトリ内のいずれかのファイルを追加、削除または変更(ttBackupおよびttRestoreによる変更は除く)すると、バックアップの整合性が損なわれる場合があります。この場合、バックアップからデータベースをリストアできないことがあります。

- キャッシュ・グループを持つデータベースはttBackupユーティリティでバックアップできますが、このようなバックアップには特別に注意が必要です。キャッシュ・グループ内にリストアされているデータは、古くなっているか、バックエンドOracle Databaseと同期していないことがあります。キャッシュ・グループを含んでいるデータベースをリストアするには、Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイドのキャッシュ・グループを使用したデータベースのバックアップおよびリストアに関する説明を参照してください。

使用可能なバックアップのタイプ

TimesTenでは全体バックアップと増分バックアップの両方がサポートされます。また、TimesTenでは、ストリーム・バックアップも可能です。

- ストリーム: ストリーム・バックアップでは、データベースのバックアップ・ファイルがstdoutに書き込まれます。

- 全体: 全体バックアップでは、データベース全体が保存されます。全体バックアップの場合、新しいバックアップが作成されるまで、既存のバックアップおよび新しいバックアップの両方を保持できる十分なディスク領域が必要です。

- 増分: 増分バックアップでは、同一のデータベースに既存する増分可能バックアップが増補されます。増分バックアップは、バックアップを最後のバックアップ・ポイント以降に作成されたすべてのトランザクション・ログ・レコードで増補することによって、バックアップ・ポイントを後の時点まで進めます。
通常、増分バックアップは、全体バックアップよりコピーするデータ量が少ないため、処理が早く完了します。増分バックアップでは、ディスク使用率を増加し、リストアにかかる時間を長くすることによって全体バックアップより高いパフォーマンスが実現されています。増分バックアップは、バックアップにかかる時間、ディスク使用率、リストアにかかる時間のバランスを考慮し、全体バックアップと組み合せて使用してください。

増分バックアップを実行するには、最初に、ご使用のバックアップでttBackupユーティリティ・コマンドを-fileFullEnableまたは-fileIncrOrFullオプションで実行し、増分バックアップを許可する必要があります。いずれにしても、ご使用のバックアップで事前に増分が有効化されていなかった場合、後続の増分バックアップが有効化される前に、ファイル全体のバックアップが実行されます。TimesTenでは、データベースごとに最大8つの増分可能なバックアップ・インスタンスを作成できます。9つ目の増分バックアップ開始を試行すると、TimesTenはエラーを返します。

増分バックアップが有効か無効かにかかわらず、バックアップからデータベースをリストアすると、リストアされたデータベースの増分バックアップは無効になります。したがって、増分バックアップを実行する場合、-fileFullEnableまたは-fileIncrOrFullオプションを指定してttBackupユーティリティ・コマンドを再度実行し、増分バックアップを有効にする必要があります。

特定のバックアップ・パスに格納されている、特定のデータベースのバックアップ情報が含まれている一連のファイルは、バックアップ・インスタンスと呼ばれます。バックアップ・インスタンスは、増分バックアップに対して明示的に使用可能にする必要があります。

既存のバックアップ・ファイルは、全体バックアップまたは増分バックアップの失敗によって変更される場合があります。ただし、これによって、これらのファイルからデータ・ストアをリストアできなくなることはありません。

TimesTenでサポートされるバックアップのタイプには次のものがあります。

バックアップ・タイプ

ファイルまたはストリーム

全体または増分

増分可能

コメント

fileFull

ファイル

全体

いいえ

これがデフォルトです。

fileFullEnable

ファイル

全体

はい

fileIncremental

ファイル

増分

はい

増分バックアップが不可の場合は失敗します。

fileIncrOrFull

ファイル

どちらか

はい

可能な場合はfileIncremental、そうでない場合はfileFullEnableを実行します。

streamFull

ストリーム

全体

いいえ

incrementalStop

なし

なし

いいえ

バックアップは作成せず、単に既存の増分可能バックアップを無効にします。

データベースの移行

この項では次の項目において、TimesTenデータベースの新しい場所への移行について説明します。

- 他のコンピュータ(同じプラットフォーム)へのデータベースの移行

- 他のプラットフォームへのデータベースの移行

これらの手順は、スタンドアロンのTimesTenデータベースに使用できます。レプリケーションおよびTimesTen Cacheのシナリオは考慮されていません。

注意:
後述の各項の説明にあるとおり、プラットフォーム間またはビット・レベル間でデータベースを移動する場合、ttMigrateCS (ttMigrateのクライアント/サーバー・バージョン)またはWindowsでの同等の処理が必要です。このユーティリティは、保存するデータベースにリモートでアクセスし、ローカル・ターゲット・システムにデータ・ファイルを作成することでターゲット・システムの正しい形式を保証します。Windowsでの同等の処理では、ttMigrateを使用して定義済TimesTenクライアントDSNを通じてターゲット・システムからソース・システムに接続します。

他のコンピュータ(同じプラットフォーム)へのデータベースの移行

ttBackupおよびttRestoreユーティリティを使用して、TimesTenの同じメジャー・リリース、同じCPUアーキテクチャ、同じオペレーティング・システムを持つ2つのコンピュータ間でデータベースを移動できます。

CPUアーキテクチャとオペレーティング・システムが同じシステム間でデータベースをコピーするには、次の手順を実行します。

1. アプリケーションをデータベースから切断します。

2. ttBackupを使用して、元のシステムのデータベースをバックアップします。例:

ttBackup -dir /tmp/dump -fname salesdata SalesData

3. バックアップを新しいシステムに移動します。

4. 新しいシステムのデータベースのDSNを作成します。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のUNIX上でのデータ・マネージャDSNの作成に関する説明またはWindows上でのデータ・マネージャDSNの作成に関する説明を参照してください。

5. DataStore接続属性が新しいシステム上の場所に正しく設定されていることを確認します。

6. ttRestoreを使用して新しいシステムでバックアップをリストアします。例:

ttRestore -dir /tmp/dump -fname salesdata NewSalesData

7. 新しいシステムで要求どおりにデータベースが稼働したら、ttDestroyユーティリティを使用して古いシステムのデータベースを破棄し、古いDSNを削除します。

他のプラットフォームへのデータベースの移行

TimesTenデータベースの内部形式はプラットフォーム間で異なります。この手順を使用して、データベースを1つのプラットフォームから別のプラットフォームに移動し(たとえば、SolarisからLinux、32-bitプラットフォームから64-bitプラットフォームへの移動)、ターゲット・プラットフォーム用に再フォーマットできます。

1. アプリケーションをデータベースから切断します。

2. ターゲット・システムからttMigrateCS (またはWindowsの同等の処理)を使用してクライアント/サーバー・モードで移動元のデータベースに接続し、-cオプションを使用してターゲット・システムのデータベース用のデータ/ファイルを作成します。例:

ttMigrateCS -c salesdata1 salesdata.dat

3. ターゲット・システムで、データベースのDSNを作成します。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のUNIX上でのデータ・マネージャDSNの作成に関する説明またはWindows上でのデータ・マネージャDSNの作成に関する説明を参照してください。

4. 次の例のように、AutoCreate=1を使用してデータベースを再作成します。

ttIsql -connstr "dsn=salesdata2;AutoCreate=1" -e "quit"

この時点でデータベースは空です。

5. DataStore接続属性が新しいシステム上の場所に正しく設定されていることを確認します。

6. ターゲット・システムで、ttMigrateユーティリティに-rオプションおよび-relaxedUpgradeオプションを指定して、ttMigrateCSで作成したファイルを新しいデータベースにインポートします。例:

ttMigrate -r -relaxedUpgrade salesdata2 salesdata.dat

7. 新しいシステムで要求どおりにデータベースが稼働したら、ttDestroyユーティリティを使用して古いシステムのデータベースを破棄し、古いDSNを削除します。

注意:
32-bitプラットフォームと64-bitプラットフォーム間の移動では、次の点に注意してください。

- ビット・レベルを変更する場合、レプリケーション・スキームにデータベースを含めることはできません。

- TimesTenは、32-bitおよび64-bitのデータベース間でのレプリケーションをサポートしません。

データベースの変更

この項では次の項目において、データベースが同じシステムにある場合のシナリオを説明します。

- 他のディレクトリへのデータベースの移動

- データベースのサイズの縮小

これらの手順は、スタンドアロンのTimesTenデータベースに使用できます。レプリケーションおよびTimesTen Cacheのシナリオは考慮されていません。

注意:
後述の各項の説明にあるとおり、プラットフォーム間またはビット・レベル間でデータベースを移動する場合、ttMigrateCS (ttMigrateのクライアント/サーバー・バージョン)またはWindowsでの同等の処理が必要です。このユーティリティは、保存するデータベースにリモートでアクセスし、ローカル・ターゲット・システムにデータ・ファイルを作成することでターゲット・システムの正しい形式を保証します。Windowsでの同等の処理では、ttMigrateを使用して定義済TimesTenクライアントDSNを通じてターゲット・システムからソース・システムに接続します。

他のディレクトリへのデータベースの移動

TimesTenデーモンは、データベースのチェックポイント・ファイルのフルパス名を使用してデータベースを識別します。TimesTenデータベースを別のディレクトリに移動するには、ttBackupユーティリティを使用してデータベースをバックアップし、新しいデータベースのパス名を示す新しいDSN定義を作成します。その後で、ttRestoreを使用して、データベースを新しい場所にリストアします。

次の手順の例では、一時記憶域として/tmp/dumpディレクトリを使用し、/old/SalesData/salesのデータベースSalesDataを、NewSalesDataという名前で/new/SalesData/salesに移動します。(この例はUNIXシステム向けです。Windowsシステムで同等の操作を実行します。)

1. 一時ディレクトリを作成します。例:

mkdir /tmp/dump

2. アプリケーションをデータベースから切断します。

3. ttBackupを使用して、データベースを一時ディレクトリにバックアップします。例:

ttBackup -dir /tmp/dump -fname salesdata SalesData

4. データベースをメモリーからアンロードします。詳細は、「メモリーからのデータベースのアンロード」を参照してください。

5. 新しい場所のDSN定義を作成し、新しいデータベースのパスを指定します。例: /new/SalesData/sales/NewSalesData

6. DataStore接続属性が新しい場所に正しく設定されていることを確認します。

7. 新しい場所でバックアップをリストアします。例:

ttRestore -dir /tmp/dump -fname salesdata NewSalesData

8. 一時ディレクトリを削除します。例:

rm -r /tmp/dump

9. データベースが新しい場所で稼働していることを確認したら、必要に応じてttDestroyユーティリティを使用して古い場所のデータベースを破棄し、古いDSNを削除します。

データベースのサイズの縮小

データベースに特定のサイズの永続領域(PermSize DSN属性で示される)を定義した場合は、表または行を削除しても、それより小さいサイズでロードすることはできません。ttBackupで作成したデータベースのコピーにも、埋め込まれたデータベースの永続領域のサイズが適用されます。

データベースの永続領域の割当てサイズを減らすには、ttMigrateユーティリティを使用してコピーを保存し、小さい永続領域サイズでデータベースを再作成し、データをリストアします。

データベースの永続領域のサイズを小さくするには、次の手順を実行します。

1. アプリケーションをデータベースから切断します。

2. ttMigrate -cオプションを使用してデータベースのデータ・ファイルを作成します。例:

ttMigrate -c salesdata /tmp/salesbackup

3. データベースをメモリーからアンロードします。詳細は、「メモリーからのデータベースのアンロード」を参照してください。

4. 新しいDSNを作成するのではなく、元のDSNを変更する場合は、ttDestroyユーティリティを使用して元のデータベース・ファイルを破棄してから、バックアップをリストアする必要があります。

5. より小さいPermSize値を指定するデータベースの新しいコピー用に、新しいDSN定義を作成します。

6. 次の例のように、AutoCreate=1を使用してデータベースを再作成します。

ttIsql -connstr "dsn=salesdata;AutoCreate=1" -e "quit"

この時点でデータベースは空です。

7. ttMigrate -rおよび-relaxedUpgradeオプションを使用して、バックアップをリストアします。例:

ttMigrate -r -relaxedUpgrade salesdata /tmp/salesbackup

注意:

- データベースの永続領域のサイズは、現在、データベースに格納されているデータで必要なサイズより小さくすることはできません。この値は、システム表sys.monitorのperm_in_use_size列を問い合せることによって判断できます。

- また、この手順を使用して、部分的な全表ページ、または索引ノードと範囲外の値を保管するヒープ・バッファに起因する断片化を減らすためにデータベースを圧縮することもできます。

移行時のグローバリゼーション・サポート

ttMigrateユーティリティを使用すると、1つ以上の移行オブジェクトをTimesTenデータベースからバイナリ・データ・ファイルに保存したり、それらのオブジェクトをバイナリ・データ・ファイルからTimesTenデータベースにリストアすることができます。移行オブジェクトには、表、キャッシュ・グループ定義、ビュー、順序などがあります。

次の項目では、移行時にグローバリゼーションの問題を伴って発生する事項を説明します。

- オブジェクトの移行とキャラクタ・セット

- 移行と長さセマンティクス

- 言語索引の移行

- キャッシュ・グループ表の移行

『Oracle TimesTen In-Memory Databaseリファレンス』のttMigrateに関する説明を参照してください。

オブジェクトの移行とキャラクタ・セット

ttMigrateユーティリティによって、オブジェクトのキャラクタ・セットで保存する各オブジェクトにタグが付けられます。デフォルトでは、ttMigrateによって、オブジェクトのデータがデータベース・キャラクタ・セットで格納されますが、-saveAsCharsetオプションを使用して異なるキャラクタ・セットを選択することもできます。このオプションは、作成モード(-c)または追加モード(-a)で指定できます。

ttMigrateを使用してオブジェクトをリストアすると、そのデータは必要に応じて暗黙的にターゲット・データベースのデータベース・キャラクタ・セットに変換されます。受信したデータの一部をターゲット・データベースのデータベース・キャラクタ・セットで表現できない場合は、キャラクタ・セット変換の結果、データが失われる可能性があります。

注意:

- オブジェクトを保存するときに-saveAsCharsetオプションを使用する場合は、ttMigrate -r -exactUpgradeを使用してオブジェクトをリストアできません。

- データの保存中またはリストア中に暗黙的または明示的なキャラクタ・セット変換が発生した場合は、常に、ttMigrateユーティリティによって警告が発行されます。

- データベースの移行時にキャラクタ・セット変換がリクエストされた場合は、キャラクタ・セット変換がリクエストされない場合よりパフォーマンスが低下します。

データがターゲット・データベースのデータベース・キャラクタ・セットでエンコードされているとわかっている場合は、-noCharsetConversionオプションをリストア時(-r)に使用できます。このオプションを使用すると、ttMigrateによって、データがターゲット・データベースと同じデータベース・キャラクタ・セットを使用しているとみなされます。

リリース7.0より前に作成されたタグ付けされていない文字データをリリース7.0以上のデータベースにリストアする場合、そのデータは、ttMigrateによってターゲット・データベースのデータベース・キャラクタ・セットと同様に処理されます。リリース7.0以下のすべてのTimesTenデータベースで、TIMESTEN8キャラクタ・セットが使用されています。

TIMESTEN8を使用するTimesTenデータベースから、別のキャラクタ・セットを使用するTimesTenデータベースへ移行中の場合、次の状況が発生する可能性があります。

- 問合せ結果は、新しいキャラクタ・セットの新しいTimesTenデータベースでは異なる場合があります。ユーザー・アプリケーションはマルチバイト・キャラクタ・セットにて動作する可能性があり、TIMESTEN8キャラクタ・セットを使用して、文字列をそのまま格納する可能性があります。部分文字列と一致するLIKE述語(または任意のスカラー関数)を使用してデータを問い合せる際に、問合せエンジンがTIMESTEN8キャラクタ・セットでの文字境界で開始または終了しないバイナリ・パターンと一致する可能性があります(これがシングルバイト・キャラクタ・セットであるため)。各バイトは、実際にはマルチバイト・キャラクタの中に存在する場合でも、1文字として扱われます。
ユーザーが長い文字列を分割して別の行に格納する場合は、別の問題が生じる可能性があります。複数行からの値を連結することによって、文字列が後で再構成される可能性があります。これは、TIMESTEN8キャラクタ・セットと連動する場合があります。ただしマルチバイト・キャラクタ・セットを使用する際に、パーティションが文字境界上にない場合は、文字列値を変更できます。この場合、文字列が文字境界で分割されていることを確認してください。

- TIMESTEN8以外のキャラクタ・セットのデータベースにおける、文字列上での述語またはスカラー関数を使用する問合せで、パフォーマンスが低下する場合があります。

移行と長さセマンティクス

ttMigrateユーティリティを使用すると、CHARおよびVARCHAR2列の長さのセマンティクス情報が保存されます。これによって、TimesTenリリース7.0以上で作成されたデータベースにオブジェクトをリストアする際に、長さのセマンティクス情報がリストアされます。

リリース7.0より前のTimesTenにオブジェクトをリストアすると、キャラクタ・セマンティクスを持つ列はバイト・セマンティクスに変換され、列長は元の列のバイト長と同じになるように調整されます。

7.0より前のオブジェクトをリリース7.0以上に移行する場合は、バイト・セマンティクスが使用されます。

言語索引の移行

ttMigrateユーティリティでは、言語索引をサポートするTimesTenリリースへの言語索引の移行がサポートされています。リリース7.0より前のTimesTenに移行する場合は、ttMigrateによって、言語索引をリストアできないことを示す警告が発行されます。言語索引なしでも、表の移行は実行されます。

キャッシュ・グループ表の移行

NCHAR/NVARCHAR2列を含むキャッシュ・グループ表は、7.0より前のリリースにはリストアできません。7.0より前のリリースでは、キャッシュ・グループ表にこれらのデータ型は使用できません。

3 TimesTenのアップグレード

この章では、TimesTenについて、あるリリースから新しいリリースへのアップグレードのプロセスについて説明します。次のトピックが含まれています。

- 事前の考慮事項

- アップグレード・モード

- インプレース・アップグレードの実行

- オフライン・アップグレードの実行

- レプリケーションを使用したオンライン・アップグレードの実行

- アクティブ・スタンバイ・ペア・レプリケーションを使用したアップグレードの実行

- Oracle Clusterware使用時のTimesTenのオフライン・アップグレードの実行

- Oracle Clusterwareの使用時のTimesTenのオンライン・アップグレードの実行

- パラレル・レプリケーション使用時のアップグレード

- クライアント/サーバーのオンライン・アップグレードの実行

- 構成済のレプリケーションを使用したアップグレードの記録

注意:
アップグレード時に使用するTimesTenユーティリティの全般情報については、「データベースのコピー、移行、およびリストア」を参照してください。

事前の考慮事項

この項では、TimesTenのアップグレード前に考慮するいくつかの事項を説明します。

- データ型に関する考慮事項

- データベースのキャラクタ・セットに関する考慮事項

- 既存のデータベース・ファイルの場所

- 11.2.1より前のリリースからアップグレードする際のアクセス制御

- レプリケーションに関する考慮事項

データ型に関する考慮事項

この項では、特にTimesTen 7.0より前のリリースからのアップグレードにおけるデータ型に関する考慮事項を説明します。この項の内容は次のとおりです。

- データ型の互換性

- 7.0より前のTimesTenリリースからアップグレードする際のデータ型に関する考慮事項

データ型の互換性

TimesTenでは、下位互換性のために保持されている元のTimesTenデータ型に加えて、Oracle Databaseデータ型を選択できます。すべてのデータ型の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のデータ型の仕様に関する説明を参照してください。いくつかのOracle Databaseデータ型の名前は、下位互換用のTimesTenデータ型と同じであるため、データ型を示す一連の別名があります。別名がどのデータ型を表すかは、データベースのTypeMode設定によって異なります。詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のTypeModeに関する説明を参照してください。

TimesTenの下位互換用のデータ型は、リリース7.0より前のTimesTenデータ型とレプリケーション互換があります。ただし、TimesTenの下位互換用のデータ型は、TimesTen Cacheと互換性がありません。TimesTen CacheではOracle Databaseデータ型のみ使用します。TimesTen Cacheを使用するには、ttMigrate (『Oracle TimesTen In-Memory Databaseリファレンス』を参照)を使用してデータベースを移行する際に、元のTimesTenデータ型をOracle Databaseデータ型に変換する必要があります。詳細は、後述の「Oracle Databaseデータ型へのTimesTenデータ型の変換」を参照してください。

Oracle Databaseデータ型は、リリース7.0より前のTimesTenとレプリケーション互換がありません。7.0より前のTimesTenとのレプリケーションが必要なアップグレードを実行する場合は、元のデータ型をTimesTenデータ型にアップグレードする必要があります。詳細は、「TimesTenデータ型の保持」を参照してください。

7.0より前のTimesTenリリースからアップグレードする際のデータ型に関する考慮事項

TimesTen 7.0より前のリリースからアップグレードを実行する場合、データベースのデータ型をTimesTenデータ型として保持するか、またはOracle Databaseデータ型に変換するかを選択する必要があります。どちらを選択するかは、データベースの使用計画と希望のアップグレード方法によって決まります。

次の項で、それぞれの方法を説明しています。

- Oracle Databaseデータ型へのTimesTenデータ型の変換

- TimesTenデータ型の保持

Oracle Databaseデータ型へのTimesTenデータ型の変換

TimesTen Cacheとともにデータベースを使用する場合は、TimesTenデータ型をOracle Databaseデータ型に変換する必要があります。

TimesTen 7.0より前のリリースからデータ型をOracle Databaseデータ型に変換するには、アップグレード手順の一部としてデータベースをリストアする際に、ttMigrate (『Oracle TimesTen In-Memory Databaseリファレンス』を参照)に-convertTypesToOraオプションを指定する必要があります。たとえば、アップグレード手順の一部としてデータベースsalesdataをリストアする場合は、次のコマンドを使用してデータ型をOracle Databaseデータ型にアップグレードします。

ttMigrate -r -convertTypesToOra salesdata salesdata.mig

詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』のTimesTenからOracle Databaseデータ型への変換に関する説明を参照してください。

注意:

- TimesTenデータ型からOracle Databaseデータ型へ変換する場合、データ型が同様のデータ型のみにレプリケートされる可能性があるため、レプリケーションを使用したオンライン・アップグレードは実行できません。(TimesTen 7.0以降からのアップグレードではこのレプリケーションの制限は問題ではなく、データ型はOracle Databaseデータ型に変換されています。)

- データ型によっては、Oracle DatabaseバージョンとTimesTenバージョンで動作が少し異なるため、Oracle Databaseデータ型を使用するTimesTen 7.0より前のリリース向けのアプリケーションは、展開前に新しいリリースのTimesTenで十分にテストする必要があります。

TimesTenデータ型の保持

レプリケーションを使用してオンライン・アップグレードを実行する場合は、データ型をTimesTenデータ型として保持する必要があります。詳細は、「レプリケーションを使用したオンライン・アップグレード」を参照してください。

TimesTen 7.0より前のリリースのデータベースのデータ型をTimesTenデータ型として保持する場合は、ttMigrateを使用してデータベースをリストアする際に特別なオプションを使用する必要はありません。TimesTen 7.0より前のリリースのデータ型は、自動的にTimesTenデータ型としてリストアされます。

注意:
デフォルトのTypeMode設定は0に設定され、Oracleの型モードを表します。このモードでは、CHARなどのデータ型はTimesTenのCHARデータ型ではなく、Oracle DatabaseのCHARデータ型のセマンティクスを持ちます。リリース7.0より前のTimesTen用に書かれたアプリケーションとの互換性を確保するために、アップグレード手順の一部としてttMigrate (『Oracle TimesTen In-Memory Databaseリファレンス』を参照)を使用してデータベースをリストアする前に、TypeMode設定を1にしてデータベースのDSNを構成する必要があります。
その他の情報については、『Oracle TimesTen In-Memory Databaseリファレンス』のTypeModeに関する説明を参照してください。

データベースのキャラクタ・セットに関する考慮事項

この項では、データベース・キャラクタ・セットに関する考慮事項を説明します。TimesTen 7.0より前のリリースからのアップグレードに関連する考慮事項が含まれます。この項の内容は次のとおりです。

- データベースのキャラクタ・セットの指定

- TimesTen 7.0より前のリリースからのアップグレードにおけるキャラクタ・セットの制限

- データベース・キャラクタ・セットの変換

データベースのキャラクタ・セットの指定

TimesTenでは、データベースの作成時に特定のキャラクタ・セットをサポートするようにデータベースを構成する必要があります。データベースのキャラクタ・セットは、『Oracle TimesTen In-Memory Databaseリファレンス』で説明しているデータベース属性DatabaseCharacterSetを使用して指定します。この属性の値は、キャラクタ・フィールドに対して入出力されるキャラクタと、キャラクタ・データの格納およびソート方法を決定します。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のデータベースのキャラクタ・セットの選択に関する説明、および『Oracle TimesTen In-Memory Databaseリファレンス』のサポートされているキャラクタ・セットに関する説明を参照してください。

次の点に注意してください。

- TimesTen Cacheとともにデータベースを使用する場合、またはttLoadFromOracle組込みプロシージャを使用してOracle DatabaseからTimesTen表を移入する場合は、TimesTenデータベースが接続するOracle Databaseで指定したキャラクタ・セットと同じDatabaseCharacterSetの値を指定する必要があります。

- キャラクタ・セットが異なるデータベース間でレプリケーションは実行できません。

TimesTen 7.0より前のリリースからのアップグレードにおけるキャラクタ・セットの制限

TimesTen 7.0より前のリリースからアップグレードする場合は、次の重要な制限事項を考慮してください。

- リリース7.0より前のTimesTenで作成されたデータベースには、データベース・キャラクタ・セットが指定されていないため、特別なデータベース・キャラクタ・セット(TIMESTEN8)が作成され、TimesTenの現行のリリースで作成したデータベースと、それより前のリリースで作成したデータベースの間でレプリケーションの互換性が保持されます。レプリケーションを使用したオンライン・アップグレードとしてTimesTenをアップグレードする場合は(「レプリケーションを使用したオンライン・アップグレードの実行」を参照)、DSNでDatabaseCharacterSetとしてTIMESTEN8を指定する必要があります。

- TimesTen Client/Serverを使用しており、TimesTen 7.0より前のリリースからアップグレードしたTimesTenインスタンスにある、Client ODBCライブラリとリンクしたアプリケーションを持つデータベースに接続する場合は、互換性を確保するために、DSNにDatabaseCharacterSetとしてTIMESTEN8を指定する必要があります。「クライアント/サーバーのオンライン・アップグレードの実行」を参照してください。

注意:
TIMESTEN8データベース・キャラクタ・セットは、リリース7.0より前のTimesTenから移行する場合のみ使用します。データベースをリリース7.0より前のTimesTenにレプリケートしたり、7.0より前のクライアント・アプリケーションに接続する必要がない場合は、ttMigrate(『Oracle TimesTen In-Memory Databaseリファレンス』参照)を使用して、データベースをTIMESTEN8以外のデータベース・キャラクタ・セットに変換する必要があります。詳細は、次の項「データベース・キャラクタ・セットの変換」を参照してください。

データベース・キャラクタ・セットの変換

いくつかの場合、アップグレード・プロセスの一部として、構成済のデータベース・キャラクタ・セットを変更する必要があります。データベース・キャラクタ・セットの変更が必要なケースには、次の2つがあります。

- データベースのキャラクタ・セットを、最初に指定したものから、より要件に合う新しいものに変更する必要があります。

- レプリケーションまたはクライアント/サーバーを使用したオンライン・アップグレードによって、リリース7.0より前のTimesTenをアップグレードするために、データベース・キャラクタ・セットをTIMESTEN8に指定しました。すべてのデータベースとクライアント・アプリケーションでアップグレードが完了したら、この特別な移行用のキャラクタ・セットから、地域で使用する各国のキャラクタ・セットに各データベースを変換する必要があります。

ttMigrateを使用して、任意のキャラクタ・セットから他のキャラクタ・セットにデータベースを変換できます。次の手順を実行します。

1. ttMigrateを使用して、データベースをファイルに保存します。たとえば、データベースsalesdataをファイルsalesdata.migに保存するには、次のコマンドを使用します。

ttMigrate -c salesdata salesdata.mig

2. ttDestroyを使用して、データベースを破棄します。

ttDestroy salesdata

3. データベースのDSN属性値DatabaseCharacterSetを、新しいキャラクタ・セットを指定する値に変更します。たとえば、データベースで、WE8ISO8859P1を使用する場合は、ODBCINIファイルで次の行を使用します。

DatabaseCharacterSet=WE8ISO8859P1

4. ttMigrateを使用してデータベースをファイルからロードします。TimesTenによって、キャラクタ・データは、ファイルが保存されたキャラクタ・セットから、DSNによって指定されるキャラクタ・セットに自動的に変換されます。

ttMigrate -r salesdata salesdata.mig

注意:

- 特定のキャラクタ・セットでは、キャラクタ・セット間でマッピングが存在しない場合に、変換プロセスでキャラクタ・データが失われる可能性があります。

- TimesTen 7.0より前のリリースからアップグレードしてTIMESTEN8キャラクタ・セットから変換する場合は、ttMigrate -noCharsetConversionオプションを使用します。これにより、新しいキャラクタ・セットを使用してデータがDSNにロードされる際、キャラクタ値は変更されないことが保証されます。例:

ttMigrate -r -noCharsetConversion salesdata salesdata.mig

既存のデータベース・ファイルの場所

「データベース・ファイルおよびその他のユーザー・ファイルの場所の考慮事項」に示すとおり、TimesTenのインストール・パスにデータベース・ファイルまたはユーザー・ファイルを保存しないことを強くお薦めします。アップグレードまたはアンインストールの際に削除される場合があります。

ただし、データベースがインストール・ディレクトリの下にない場合は、次の一般的な手順で各データベースを別の場所に移動できます。

1. ttBackupユーティリティを使用してデータベースをバックアップします。

2. ttDestroyユーティリティを使用して、データベースを破棄します。

3. DataStoreおよびLogDir接続属性がインストール・パス以外の場所を参照するように、データベースのDSN定義を更新します。

4. ttRestoreユーティリティを使用してデータベースを新しい場所にリストアします。

これらのユーティリティおよび属性の詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「ユーティリティ」および「接続属性」を参照してください。

「他のディレクトリへのデータベースの移動」も参照してください。

11.2.1より前のリリースからアップグレードする際のアクセス制御

リリース11.2.1以上のTimesTenではアクセス制御は必須です。アクセス制御のない以前のリリースのTimesTenを使用していて、現行のリリースへのアップグレード後に最初にデータベース・オブジェクトを保護しないようにするには、次のSQLコマンドを使用して、PUBLICにADMINシステム権限を付与する必要があります。

GRANT ADMIN TO PUBLIC;

PUBLICにADMIN権限を付与すると、すべてのユーザーがあらゆるデータベース・オブジェクトに対して無制限にアクセス可能になり、インスタンス管理者が実行する必要のあるタスク以外のすべての管理タスクを実行できるようになります。PUBLICへのADMIN権限の付与は、一時的な対処方法として、アップグレードの目的においてのみ行う必要があります。

注意:
この方法ではシステムが本質的に安全でなくなるため、長期的には使用しないことをお薦めします。

レプリケーションに関する考慮事項

ttMigrateユーティリティを使用してレプリケーション・スキームの一部であるデータベースをアップグレードする場合、ttMigrate -cを使用して最初にレプリケーション・スキームを作成したデータベースに、ttMigrate -rを使用してレプリケーション・スキームをリストアする必要があります。移行ファイルを別のデータベースにリストアしようとするとエラーが発生し、レプリケーション・スキームはリストアされません。

アップグレード・モード

実行できるアップグレードの種類(インプレース・アップグレード、オンライン・アップグレードまたはオフライン・アップグレード)は、アップグレードのレベル(メジャーまたはマイナー)およびその他の要素により異なります。メジャー・アップグレードは、異なるTimesTenメジャー・リリース間(11.2.1.x.xから11.2.2.x.xなど)のアップグレードです。一方、同じメジャー・リリースでパッチ・リリースの異なるTimesTenデータベースは、構造的に同等または同じであるため、新しいパッチ・リリースへのアップグレード(11.2.2.6.0から11.2.2.7.0など)は、マイナー・アップグレードとみなされます。

次の各項では、アップグレードの種類について説明します。

- インプレース・アップグレード

- オフライン・アップグレード

- レプリケーションを使用したオンライン・アップグレード

- クライアント/サーバーを使用したオンライン・アップグレード

マイナー・アップグレードでは、通常は、既存のデータベースの移行が必要になります。UNIXしすてむでは、インプレース・アップグレードを実行できます。

メジャー・アップグレードでは、通常は、状況に応じてオンライン・アップグレードを実行できます。

オフライン・アップグレードが必要となる状況は、オフライン・アップグレードの項で説明します。

重要:
アップグレードを実行する前に、次の手順を実行する必要があります。

- アップグレードの準備として、TimesTenをアップグレードする前に、すべてのデータベースがメモリーからアンロードされていることを確認します。データベースをメモリーからアンロードする手順については、「メモリーからのデータベースのアンロード」を参照してください。

- 新しいリリースのインストール時には、アプリケーションを切断する必要があります。アンインストール時に以前のリリースのTimesTenデーモン・プロセスが停止され、データベースに接続している事実上すべてのアプリケーションがデータベースから切断されます。

インプレース・アップグレード

リリース11.2.2.6.0からリリース11.2.2.7.0に移行する場合など、TimesTenの新しいパッチ・リリースに移行するために、UNIXシステムでインプレース・アップグレードを使用できます。これらの手順は、Windowsシステムでもアンインストールおよびインストールの手順として実行できます。

インプレース・アップグレードを実行するには、UNIXインストーラのオプションを使用して既存のインスタンスをアップグレードします。古いリリースのアンインストールおよび新しいリリースのインストールは、1つの操作で実行されます。新しいソフトウェアのライブラリおよびバイナリは、これまでと同じ場所にインストールされます。デフォルトの応答を選択すると、既存のデータベースが保持されます(データベースがinstall_dirディレクトリにない場合)。TimesTenのバックアップ・ユーティリティおよび移行ユーティリティを使用する必要はありません。

インプレース・アップグレード時には、すべてのアプリケーションは、アップグレード対象のTimesTenインスタンスにあるデータベースから切断する必要があります。

Windowsシステムでは、最初にTimesTenを削除し、DSNの保持を指定し、次に新しいリリースをインストールする同様の手順を実行して、パッチ・リリース間を移行できます。UNIXでのインプレース・アップグレードと同様、バックアップ・ユーティリティおよび移行ユーティリティを使用する必要はありません。

「インプレース・アップグレードの実行」を参照してください。

重要:
アップグレードする前に、TimesTenインストール・ディレクトリにデータベースまたは重要なファイルがないことを確認してください。関連情報については、「データベース・ファイルおよびその他のユーザー・ファイルの場所に関する考慮事項」および「既存のデータベース・ファイルの場所」を参照してください。

オフライン・アップグレード

オフライン・アップグレードの実行中は、アプリケーションでデータベースを利用できます。通常、オフライン・アップグレード処理には、アップグレードするTimesTenインスタンスの各データベースを2つコピーできる十分なディスク領域が必要となります。

オフライン・アップグレードを使用して次の内容を実行できます。

- ttMigrateを使用してTimesTenの新しいメジャー・リリースへ移行

- ttBackupおよびttRestoreを使用してTimesTenの新しいマイナー／リリースまたはパッチ・リリースへ移行

注意:
マイナー・アップグレードまたはパッチ・アップグレードでは、前項の「インプレース・アップグレード」のように、インプレース・アップグレードまたはWindowsの同等の処理を使用するのが通常です。

オフライン・アップグレードでは、アップグレード処理中、すべてのアプリケーションをTimesTenから切断する必要があります。また、共有メモリーのデータベースをアンロードする必要もあります。オフライン・アップグレードではTimesTen ttMigrateユーティリティ(メジャー・アップグレード用)またはttBackupユーティリティを使用する必要があります。(『Oracle TimesTen In-Memory Databaseリファレンス』のttMigrateに関する説明およびttBackupに関する説明を参照してください。)

「オフライン・アップグレードの実行」を参照してください。

レプリケーションを使用したオンライン・アップグレード

TimesTenの新しいメジャー・リリースにアップグレードする場合、連続してアプリケーションから使用可能な状態にする必要があるミッション・クリティカルなデータベースがある場合があります。データベースが異なるリリースのTimesTenで構成されている場合でも、TimesTenレプリケーションを使用して、データベースの2つのコピーの同期をとることができます。これによって、一方のデータベースのTimesTenインスタンスをアップグレードしている間に、データベースのもう一方のコピーにアプリケーションを接続したままにできます。アップグレードが完了すると、アクティブなデータベースに対して行われたすべての更新は、アップグレードされたTimesTenインスタンスのデータベースに即時に送信されるため、アプリケーションは、データの損失や停止時間なしで切り替えることができます。詳細は、「レプリケーションを使用したオンライン・アップグレードの実行」を参照してください。

オンライン・アップグレード処理は、アップグレード実行中のユーザー表の更新のみをサポートしています。CREATE TABLEやCREATE INDEXなどのデータ定義への変更はレプリケートされません。また、レプリケートする表には、PRIMARY KEYまたは一意索引(NULLを指定できない列)が含まれている必要があります。

アップグレードではデータベースの2つのコピー(データベースが複数ある場合はそれぞれの2つのコピー)が必要なため、アップグレードを1つのシステムで実行する場合は、データベースが通常必要とする量の2倍のメモリーとディスク領域が使用可能である必要があります。

注意:

- 読取り専用キャッシュ・グループの場合、キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレードのみがサポートされます。

- Oracle Clusterwareによって管理されるアクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレードは、サポートされません。

- 32-bitと64-bitのデータベース間でのレプリケーションはサポートされていません。ttMigrate -inlineコマンドを使用して移行した表は、インライン列のない表を使用してレプリケートできません。これは、インライン列は、インライン以外の列を使用してレプリケートすることはできないためです。

クライアント/サーバーを使用したオンライン・アップグレード

TimesTen Client/Serverインストールを新しいメジャー・リリースにアップグレードする場合は、クライアント/サーバー・オンライン・アップグレードを実行することによって、停止時間を最小限に抑えることができます。この処理の実行中に、以前のリリースのTimesTenクライアントは、新しいリリースにアップグレードされたTimesTenインスタンスのデータベースと通信し続けることができます。「クライアント/サーバーのオンライン・アップグレードの実行」を参照してください。

クライアント/サーバー・オンライン・アップグレード処理は、アップグレードするTimesTenインスタンスのデータベースへのクライアント・アプリケーションのアクセスが中断するのを最小限に抑えますが、中断をなくすことはできません。すべてのクライアントに対するデータベースの、ほぼ連続した可用性を維持するには、前の項「レプリケーションを使用したオンライン・アップグレード」に示す方法を使用します。この手順では、アップグレードしている間、同一のコピーが以前のリリースのTimesTen Serverに対し引き続き使用可能な状態になります。元のデータベースが新しいリリースのTimesTen Serverに対して使用可能になった後、同じポートをリスニングしたまま以前のリリースを停止し、新しいリリースを起動します。この方法で可用性が途切れるのは、以前のサーバーが停止してから新しいサーバーが起動するまでの非常に短い期間のみです。

インプレース・アップグレードの実行

パッチ・リリース間の移動(同じTimesTenメジャー・リリース)の場合、UNIXシステムのTimesTenインスタンスのインプレース・アップグレードを実行できます。たとえば、11.2.2.x.xリリースからそれ以降の11.2.2.x.xリリースに移行します。データベースの移行は必要ありません。

Windowsシステムでは、このようなアップグレードのインストーラ・オプションはありません。かわりに、パッチ・リリース間を移行する場合でも、TimesTenのアンインストールおよびインストールを個別に実行する必要があります。UNIXでのインプレース・アップグレードと同様、データベースの移行は必要ありません。

アップグレードの前に、インスタンス内の各データベースについて、すべてのアプリケーションはデータベースから切断する必要があり、データベースは共有メモリーからアンロードする必要があります。

次の項では、インプレース・アップグレードの実行またはWindowsでの同等の処理について説明します。

- メモリーからのデータベースのアンロード

- アップグレードの実行

- メモリーへのデータベースの再ロード

メモリーからのデータベースのアンロード

TimesTenデータベースは、アプリケーションまたはTimesTenエージェント(キャッシュ・エージェントやレプリケーション・エージェントなど)が接続している場合は共有メモリーにロードされたままです。アプリケーションやエージェントが接続されていなくても、ttAdminユーティリティで設定した特定のRAMポリシー構成のためにデータベースが共有メモリーに保持されることもあります。(『Oracle TimesTen In-Memory Databaseリファレンス』のttAdminに関する説明を参照してください。)

アップグレード対象のTimesTenインスタンスのメモリーからデータベースをアンロードするには、次の手順を実行します。TimesTenインスタンスのデータベースごとに、すべての手順を完了する必要があります。

1. すべてのアプリケーションをデータベースから切断します。

2. レプリケーション・エージェントがデータベースで実行されている場合は、レプリケーションの状態をpauseに設定し、レプリケーション・エージェントを停止します。この例は、アクティブ・スタンバイ・ペア(activedbとstandbydb)を参照しています。この場合、activedbは、アップグレード対象のTimesTenインスタンスに属しています。この例では、レプリケーションの状態を、activedbからstandbydbへ、そしてpauseへ設定して、activedb上のレプリケーション・エージェントを停止します。standbydbは、アップグレード対象のTimesTenインスタンスに属していないと想定します。

ttRepAdmin -receiver -name activedb -state pause standbydb
ttAdmin -repStop activedb

3. キャッシュ・エージェントがデータベースで実行されている場合は、キャッシュ・エージェントを停止します。この例は、TimesTen Cacheを使用し、アップグレード対象のTimesTenインスタンスに属しているデータベースcachedbを参照しています。(この例では、レプリケーションを考慮していません。キャッシュ・エージェントが実行されている場合、データベースにレプリケーションが設定されているかどうかにかかわらずこの手順を実行する必要があります。)

ttAdmin -cacheStop cachedb

4. ttAdminを使用してメモリーからデータベースをアンロードします。最初の例はRAMポリシーがmanualに設定されていることを想定し、アップグレード中のTimesTenインスタンスに属するデータベースupgradedbを参照します。(この例では、レプリケーションを考慮していません。この手順は、データベースにレプリケーションまたはキャッシュが設定されているかどうかにかかわらず実行する必要があります。)

ttAdmin -ramUnload upgradedb

または、RAMポリシーがalwaysに設定されている場合は、manualに変更した後で、メモリーからデータベースをアンロードします。例:

ttAdmin -ramPolicy manual -ramUnload upgradedb

または、RAMポリシーがinUseであり、猶予期間が設定されている場合は、猶予期間に0(ゼロ)を設定するか、または猶予期間に設定した時間が経過するまで待機します。これでデータベースがアンロードされます。例:

ttAdmin -ramGrace 0 upgradedb

5. ttStatusユーティリティを使用して、データベースがメモリーからアンロードされたことを確認します。このユーティリティにより、データ・ストアへの接続がないことが示されます。(データベースがメモリーにロードされると、サブデーモン接続が自動作成されます。)
『Oracle TimesTen In-Memory Databaseリファレンス』のttStatusに関する説明を参照してください。

6. 必要に応じてTimesTenデーモンを停止します。(インプレース・アップグレード時は、デーモンは自動的に停止します。)

ttDaemonAdmin -stop

後述の「メモリーへのデータベースの再ロード」も参照してください。

注意:
たとえば、activedb、cachedbおよびupgradedbデータベースは、同じデータベースにすることができます。TimesTenデータベースは、構成済のレプリケーションとキャッシュの両方と、それにmanual以外のRAMポリシーを持つことができます。

アップグレードの実行

UNIXシステムでインプレース・アップグレードを実行するには、(新しいインスタンスをインストールするのではなく)TimesTenインストーラ・オプションを使用して既存のインスタンスをアップグレードします。UNIXインストーラ・オプションについては、「TimesTenのインストール」を参照してください。

古いリリースのアンインストールおよび新しいリリースのインストールは、1つのプロセスで実行されます。新しいソフトウェアのライブラリおよびバイナリは、これまでと同じ場所にインストールされます。install_dir/infoおよびinstall_dir/network/admin/samplesのファイルを削除するかどうかの確認を求められます。デフォルトの応答「no」を選択すると、既存のデータベースが保持されます(データベースがinstall_dirディレクトリ下にない場合)。構成はinfoディレクトリに保持され、データベースを移行する必要はありません。

Windowsシステムでは、このようなアップグレードのインストーラ・オプションはありません。かわりに、パッチ・リリース間(同じTimesTenメジャー・リリース内)を移行する場合は、TimesTenをアンインストールした後、新しいリリースをインストールする必要があります。Windowsでのアンインストールについては、「WindowsシステムでのTimesTenの削除」で説明します。アンインストール時にDSNを保存すると、既存のデータベースが保持され(データベースがinstall_dirディレクトリ下にない場合)、データベースを移行することなくデータベースの構成が保持されます。Windowsでのインストールは、「TimesTenのインストール」で説明します。

重要:
アップグレードする前に、TimesTenインストール・ディレクトリにデータベースまたは重要なファイルがないことを確認してください。関連情報については、「データベース・ファイルおよびその他のユーザー・ファイルの場所に関する考慮事項」および「既存のデータベース・ファイルの場所」を参照してください。

メモリーへのデータベースの再ロード

メモリーからデータベースをアンロードし(「メモリーからのデータベースのアンロード」のとおり)、TimesTenインスタンスをアップグレードした後で、次のようなコマンドを使用してデータベースをメモリーに再ロードします。(これらの例は、互いに無関係です。)該当する場合は、アップグレードされたインスタンスのデータベースごとに、そのような手順を実行する必要があります。

1. TimesTenデーモンが開始していることを確認します。(インプレース・アップグレード時は、デーモンは自動的に開始されます。)必要に応じて次の操作を実行します。

ttDaemonAdmin -start

2. ttAdminを使用してデータベースをメモリーに再ロードします。アップグレード前にRAMポリシーのupgradedbがmanualに設定されている場合、次の操作を実行します。

ttAdmin -ramLoad upgradedb

または、RAMポリシーがアップグレード前にalwaysに設定されていた場合は、alwaysに戻します。これでデータベースが再ロードされます。例:

ttAdmin -ramPolicy always upgradedb

または、RAMポリシーがinUseに設定されていて、猶予期間を0に変更した場合は、元の設定に変更してください。例:

ttAdmin -ramPolicy inUse -ramGrace 300 upgradedb

3. レプリケーションを再起動するには(アクティブ・スタンバイ・ペアのactivedbがアップグレード対象のTimesTenインスタンスにあると想定)、次のようにします。

ttRepAdmin -receiver -name activedb -state start standbydb
ttAdmin -repStart activedb

4. TimesTen Cacheを再起動するには(cachedbがキャッシュを使用し、また、アップグレード対象のTimesTenインスタンスにあると想定)、次のようにします。

ttAdmin -cacheStart cachedb

オフライン・アップグレードの実行

データベースを外部ファイルにエクスポートし、変更したデータベースをインポートすることで、オフライン・アップグレードを実行できます。このようなアップグレード手順を実行するには、すべてのアプリケーションをデータベースから切断し、共有メモリーからデータベースをアンロードする必要があります。継続的な接続を必要とするアプリケーションについては、「レプリケーションを使用したオンライン・アップグレードの実行」を参照してください。

この項では、次のトピックを取り扱います:

- TimesTenの他のメジャー・リリースへの移行

- TimesTenの別のマイナー・リリースまたはパッチ・リリースへの移行(オフライン・アップグレード)

これらの手順は、スタンドアロンのTimesTenデータベースに使用できます。レプリケーションおよびTimesTen Cacheのシナリオは考慮されていません。

TimesTenの他のメジャー・リリースへの移行

TimesTenの複数のメジャー・リリースを、システムに同時にインストールすることができます。ただし、あるメジャー・リリースで作成したTimesTenのデータベースには、異なるメジャー・リリースのアプリケーションから直接アクセスすることはできません。たとえば、TimesTenのメジャー・リリース間でのデータの移行を、TimesTen 11.2.1から11.2.2で行う場合、ttMigrateユーティリティを使用して以前のリリースのデータをエクスポートし、さらにttMigrateユーティリティを使用して新しいリリースからインポートする必要があります。

注意:
TimesTenのメジャー・アップグレードでオフライン・アップグレードが必要になる特定のシナリオの詳細は、「キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのオンライン・アップグレード」および「Oracle Clusterware使用時のTimesTenのオフライン・アップグレードの実行」を参照してください。

オフライン・アップグレードの一般的な手順は、次のとおりです。この手順は、古いリリースがインストールされている状態で新しいリリースをインストールすることを想定しています。新しいリリースでデータベースが正しく構成されて完全に使用可能なことを確認するまで、一般的にこの手順を使用することをお薦めします。

古いリリースで、データベースごとに次操作を実行します。

1. すべてのアプリケーションをデータベースから切断します。

2. ttMigrateを-cを指定して実行し、データベース・コンテンツのコピーを保存します。例:

ttMigrateCS -c salesdata salesdata.dat

3. データベースをメモリーからアンロードします。詳細は、「メモリーからのデータベースのアンロード」を参照してください。オフライン・アップグレードでは、メモリーからデータベースをアンロードした後、TimesTenデーモンを停止します(ttDaemonAdmin -stop)。

4. 必要に応じて、ttDestroyユーティリティを使用して古いデータベースを破棄します。新しいデータベースが古いデータベースと同じ場所にある場合は、この手順は必須です。
重要: 予防措置として、最初にttBackupを使用してデータベースをバックアップすることをお薦めします。新しいリリースでデータベースが使用可能になると、バックアップを削除できます。

各データベースで前述の手順を完了したら、TimesTenの新しいリリースをインストールします。詳細は、第1章「TimesTenのインストール」を参照してください。

次に、システムの環境変数PATHおよびLD_LIBRARY_PATHが新しいTimesTenリリースを正しく参照するように設定されていることを確認します。

新しいリリースで、データベースごとに次の操作を実行します。

1. アップグレード後、DataStore接続属性が正しく設定されていることを確認します。

2. 次の例のように、AutoCreate=1を使用してデータベースを再作成します。

ttIsql -connstr "dsn=salesdata;AutoCreate=1" -e "quit"

この時点でデータベースは空です。

3. -rおよび-relaxedUpgrade (通常)を指定してttMigrateを使用して、バックアップしたデータベースを新しいTimesTenリリースにリストアします。例:

ttMigrate -r -relaxedUpgrade salesdata salesdata.dat

新しいリリースでデータベースが正しく設定されて完全に使用可能になれば、必要に応じて古いリリースをアンインストールします。アンインストールは、第1章「TimesTenのインストール」で説明しています。

TimesTenの別のマイナー・リリースまたはパッチ・リリースへの移行(オフライン・アップグレード)

同じメジャー・リリース・ラインの新しいマイナー・リリースまたはパッチ・リリースに移行するには、ttBackupおよびttRestoreユーティリティを使用します。

注意:

- マイナー・アップグレードまたはパッチ・アップグレードでは、「インプレース・アップグレードの実行」の説明のように、インプレース・アップグレードまたはWindowsの同等の処理を使用するのが通常です。

- Windowsでは、同じメジャー・リリースで2つの異なるリリース(11.2.2.6.0と11.2.2.7.0など)を同時にシステムにインストールできません。

新しいマイナー・リリースまたはパッチ・リリースへのオフライン・アップグレードの一般的な手順は次のとおりです。

古いリリースで、データベースごとに次操作を実行します。

1. すべてのアプリケーションをデータベースから切断します。

2. ttBackupを使用して、元のシステムのデータベースをバックアップします。例:

ttBackup -dir /tmp/dump -fname salesdata SalesData

3. データベースをメモリーからアンロードします。詳細は、「メモリーからのデータベースのアンロード」を参照してください。オフライン・アップグレードでは、メモリーからデータベースをアンロードした後、TimesTenデーモンを停止します(ttDaemonAdmin -stop)。

4. 必要に応じて、ttDestroyユーティリティを使用して古いデータベースを破棄します。新しいデータベースが古いデータベースと同じ場所にある場合は、この手順は必須です。

各データベースで前述の手順を完了したら、TimesTenの古いリリースをアンインストールして新しいリリースをインストールします。詳細は、第1章「TimesTenのインストール」を参照してください。

次に、システムの環境変数PATHおよびLD_LIBRARY_PATHが新しいTimesTenリリースを正しく参照するように設定されていることを確認します。

新しいリリースで、データベースごとに次の操作を実行します。

1. アップグレード後、DataStore接続属性が正しく設定されていることを確認します。

2. ttRestoreを使用して新しいシステムでバックアップをリストアします。例:

ttRestore -dir /tmp/dump -fname salesdata SalesData

レプリケーションを使用したオンライン・アップグレードの実行

「オフライン・アップグレードの実行」では、すべてのアプリケーションの停止が必要なTimesTenデータベースでの様々なメンテナンス操作について説明しました。この項では、TimesTenレプリケーション機能を使用して、データの継続使用が必要なアプリケーションのオンライン・アップグレードを実行する方法について説明します。

通常、データの高可用性が求められるアプリケーションでは、TimesTenレプリケーションを使用して、最新のデータベースのコピーを1つ以上保持しておきます。これらの2つのコピーの一方が更新中の場合にも、一方をアプリケーションで使用できるように保持することで、オンライン・アップグレードが機能します。この項で説明した手順は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』の「単方向または双方向のレプリケーション」の説明のとおり、双方向のレプリケーション・スキームが構成されていて、2つのデータベースに対して実行されていることを前提としています。

次の点に注意してください。

- 異なるリリース間でレプリケーションが機能するのは、最新リリースのTimesTenのデータベースが、以前のリリースのTimesTenのデータベースからアップグレードされている場合のみです。最新リリースのTimesTenで作成されたデータベースと、以前のリリースとのレプリケーションは、サポートされていません。たとえば、リリース7.0.6.x.xのTimesTenで作成されたデータベースと、11.2.2.x.xのTimesTenで作成されたデータベース間のレプリケーションは、サポートされていません。ただし、あるデータベースを7.0.6.x.xで作成し、もう一方のデータベースをリリース7.0.6.x.xで作成してから、リリース11.2.2.x.xのTimesTenにアップグレードした場合、これらのデータベース間ではレプリケーションがサポートされます。

- アクティブ・スタンバイ・ペアについては、必要に応じて、「キャッシュ・グループを使用しないアクティブ・スタンバイ・ペアのオンライン・アップグレード」および「キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのオンライン・アップグレード」を参照してください。読取り専用キャッシュ・グループの場合、キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレードのみがサポートされます。かわりに、「キャッシュ・グループが構成されているアクティブ・スタンバイ・ペアのオフライン・アップグレード」を参照してください。

- Oracle Clusterwareの使用については、必要に応じて、「Oracle Clusterware使用時のTimesTenのオンライン・アップグレードの実行」を参照してください。Oracle Clusterwareによって管理されるアクティブ・スタンバイ・ペアの場合、オンライン・メジャー・アップグレードはサポートされません。かわりに、「Oracle Clusterware使用時のTimesTenのオンライン・アップグレードの実行」を参照してください。

次の項では、レプリケーションを使用したオンライン・アップグレードの実行方法について説明します。

- プロシージャの概要

- 制限事項

- 要件

- アップグレード手順

- オンライン・アップグレードの例

プロシージャの概要

以前のリリースのTimesTenから新しいリリースへのデータベースのアップグレードは、データベースのレプリケートされる2つのコピーのいずれかからすべてのアプリケーションを切断して、以前のリリースのttMigrateユーティリティを使用してデータベースのバックアップを作成し、新しいリリースのttMigrateユーティリティを使用して新しいリリースのデータベースにバックアップをロードしてから、すべてのアプリケーションをアップグレード済のTimesTenインスタンスのデータベースに再接続することで実行されます。

オンライン・アップグレードの一般的な手順は、次のとおりです。

1. すべてのアプリケーションをアップグレードするTimesTenインスタンスのデータベースから切断します。

2. アップグレードするTimesTenインスタンスのレプリケーションを停止します。

3. -cオプションを指定して以前のリリースのttMigrateを使用し、アップグレードするTimesTenインスタンスに存在するデータベースをバックアップします。

4. アップグレード中のシステムに新しいリリースのTimesTenをインストールします。

5. -rオプションを指定して新しいリリースのttMigrateを使用し、アップグレード済のTimesTenのインスタンスでレプリケートされたデータベースをリストアします。

6. アップグレードしたTimesTenのインスタンスでレプリケーションを再起動します。

7. アップグレードしたTimesTenインスタンスのデータベースに、すべてのアプリケーションを再接続します。

注意:
ttMigrateを使用した後は、アクティブ・スタンバイ・ペアを構成しないアップグレード後のデータベースのすべての自動リフレッシュ・キャッシュ・グループで、アップグレード前のデータベースでの設定にかかわらずAUTOREFRESH STATEがOFFに設定されます。ALTER CACHE GROUP文を使用して、AUTOREFRESH STATEをONに設定しなおしてください。

継続的な可用性を維持するため、切断されたデータベースのコピーのTimesTenインスタンスでアップグレードが実行される間、アプリケーションはデータベースの一方のコピーで引き続き実行されます。TimesTenレプリケーションでは、アップグレード期間中にデータベースのアクティブなコピーに加えられる更新を保持し、レプリケーションが再開されると更新内容をアップグレード後のデータベースに転送して適用します。レプリケートされた更新が完全に適用されると、アプリケーションはアップグレード後のデータベースに再接続されます。

制限事項

オンライン・アップグレードは、すべてのユーザー表がレプリケーション要件を満たしているデータベースでのみ実行できます。すべてのユーザー表には、PRIMARY KEY宣言が含まれているか、NULLを指定できない列に一意索引が宣言されている必要があります。

要件

レプリケーションを使用してオンライン・アップグレードを実行する場合は、静的ポートを使用するようにレプリケーションを構成する必要があります。『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のポートの割当てに関する説明を参照してください。

双方向レプリケーション構成が存在しない1つのシステムでオンライン・アップグレードを実行する場合、アップグレードが実行されているデータベースの2つのコピーをサポートするのに十分なメモリーとディスク領域が使用可能であることを確認する必要があります。アップグレード中は、元のデータベースとそのコピーの両方がアクティブなままです。本番アプリケーションのパフォーマンスを維持するために、2つ目のシステムでデータベースのコピーを作成することもできます。

ttMigrateユーティリティを使用して作成したデータベースのバックアップ・コピーを格納するために、追加のディスク領域を割り当てる必要があります。通常、バックアップ・コピーのサイズは、使用中のデータベースのサイズとほぼ同じです。このサイズを確認するには、ttIsqlを使用してsys.monitor表を問い合せます。

Command> SELECT perm_in_use_size FROM sys.monitor;

アップグレード手順

次の表に、レプリケーションの実行中にオンライン・アップグレードを実行する手順を示します。アップグレード・システムは、データベースのアップグレードが実行されているシステムで、アクティブなシステムは、アプリケーションが引き続き接続されるデータベースを含むシステムです。

注意:
次のステップで、標準アップグレードを行います。接続属性ReplicationApplyOrderingが0に設定されているTimesTen 11.2.1のデータベースや、ReplicationParallelismが<2に設定されているTimesTen 11.2.1または11.2.2のデータベースからのアップグレードでは、リリースが同じメジャー・リリース・ラインであっても、データベースの再作成が必要です。

手順

アップグレード・システム

アクティブ・システム

1.

静的ポートを使用してアクティブ・システムにレプリケートされるように、レプリケーションを構成します。

静的ポートを使用してアップグレード・システムにレプリケートされるように、レプリケーションを構成します。

2.

すべてのアプリケーションをアクティブ・データベースに接続します(接続されていない場合)。

3.

すべてのアプリケーションをアップグレード・データベースから切断します。

4.

アップグレード・システムへのレプリケーションをPAUSE状態に設定します。

5.

アクティブ・システムに更新が伝播されるまで待機します。

6.

レプリケーションを停止します。

7.

ttMigrate -cを使用して、データベースをバックアップします。

8.

以前のリリースのTimesTenのTimesTenデーモンを停止します。

9.

新しいリリースのTimesTenをインストールします。

10.

WindowsではODBC Data Source Administratorを使用し、UNIXでは.odbc.iniファイルを使用して、新しいTimesTenリリースのアップグレード後のデータベースのDSNを作成します。DSNの並列処理オプションを調整します。

11.

ttMigrate -rを使用して、バックアップからデータベースをリストアします。

12.

ttRepAdmin -receiver -resetを使用して、アクティブ・システムへのレプリケーションをstopに設定した後start状態に設定し、レプリケーション・ブックマークおよびログを消去します。

13.

レプリケーションを開始します。

14.

アップグレード・システムへのレプリケーションをstart状態に設定し、レプリケーションの再開後、蓄積された更新が確実に伝播されるようにします。

15.

レプリケーションを開始します。

16.

すべての更新内容がアップグレード・システムに伝播されるまで待機します。

17.

アップグレード後のデータベースにすべてのアプリケーションを再接続します。

前述の手順をアップグレード・システムで実行した後、同じ手順を使用して、アクティブ・システムをアップグレードできます。

オンライン・アップグレードの例

この項では、具体的な例を使用して、双方向でレプリケートされている2つのTimesTenデータベースのシナリオでオンライン・アップグレードを実行する手順について説明します。

注意:
TimesTen 11.2.1には、キャッシュ・グリッド機能が導入されています。この機能はデフォルトで有効になっていますが、データベースにキャッシュ・グループを作成する前に追加の構成を行う必要があります。11.2.1より前のリリースのキャッシュ・グループを含む環境をアップグレードする場合は、その開始前に、各DSN定義でCacheGridEnable属性を0に設定しておく必要があります。詳細は、Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイドのキャッシュ・グリッドの作成に関する説明を参照してください。

ここでは、2つのTimesTenシステムを、アップグレード・システム(TimesTenインスタンスとデータベースがアップグレードされる)およびアクティブ・システム(アップグレード期間中、操作可能でアプリケーションに接続される)と呼びます。手順が完了した後、同じ手順を繰り返してアクティブ・システムをアップグレードできます。ただし、アップグレードされたTimesTenインスタンスを最初にテストするために、アクティブ・システムの変換を遅延することもできます。

この例では、アップグレード・システムは、サーバーupgradehost上のデータベースupgradeで構成されています。アクティブ・システムは、サーバーactivehost上のデータベースactiveで構成されています。

次に示す手順は、その順序どおりに示されています。オンライン・アップグレードの手順は、次のとおりです。

手順

アップグレード・システム

アクティブ・システム

1.

データベースがリリース間で通信できるように静的レプリケーション・ポート番号を設定し、ttIsqlを使用してレプリケーション・スキームrepschemeを変更します。
Command> call ttRepStop;

Command> ALTER REPLICATION repscheme ALTER STORE upgrade ON upgradehost SET PORT 40000 ALTER STORE active ON activehost SET PORT 40001;

Command> call ttRepStart;

データベースがリリース間で通信できるように静的レプリケーション・ポート番号を設定し、ttIsqlを使用してレプリケーション・スキームrepschemeを変更します。
Command> call ttRepStop;

Command> ALTER REPLICATION repscheme ALTER STORE upgrade ON upgradehost SET PORT 40000 ALTER STORE active ON activehost SET PORT 40001;

Command> call ttRepStart;

2.

データベースに接続されているすべての本番アプリケーションを切断します。かわりに、アップグレード・システムで実行されているワークロードがアクティブ・システムでの動作を開始する必要があります。

ttRepAdminユーティリティを使用して、データベースactiveからデータベースupgradeへのレプリケーションを一時停止します。

ttRepAdmin -receiver -name upgrade
-state pause active

このコマンドにより、データベースactiveからデータベースupgradeへの更新のレプリケーションは一時的に停止されますが、activeに対する更新内容はデータベースのトランザクション・ログ・ファイルに保存されます。アップグレード手順の実行中にactiveに対して行われた更新は、後でupgradeが再起動されたときに適用されます。レプリケーションの状態の設定の詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のサブスクライバのレプリケーションの状態の設定に関する説明を参照してください。

3.

データベースactiveに送信されるすべてのレプリケーションの更新を待機します。データベースupgradeで、更新の確認用として予約されている表に認識可能な更新を適用することで、更新がすべて送信されたことを確認できます。データベースactiveに更新が適用されると、すべての以前の更新が送信されたことになります。

4.

ttAdminを使用して、レプリケーション・エージェントを停止します。

ttAdmin -repStop upgrade

これ以降、データベースactiveに更新は送信されません。

ttAdminを使用して、レプリケーション・エージェントを停止します。

ttAdmin -repStop active

これ以降、データベースupgradeに更新は送信されません。

レプリケーション・エージェントの起動と停止の詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』の「レプリケーション・エージェントの起動と停止」に関する説明を参照してください。

5.

ttRepAdminを使用して、データベースupgradeからデータベースactiveへのレプリケーションを停止します。

ttRepAdmin -receiver -name active
-state stop upgrade

この手順によって、activeでのupgradeに送信される更新の蓄積が回避され、いくつかのレプリケーション・ブックマークがリセットされます。

6.

ttMigrateを使用して、データベースupgradeをバックアップします。データベースが非常に大規模な場合は、この手順に長時間かかる可能性があります。/backupファイル・システムに十分なディスク領域の空きがある場合は、次のttMigrateコマンドを使用します。

ttMigrate -c upgrade /backup/upgrade.dat

7.

ttMigrateコマンドが正常に実行された場合、データベースupgradeを破棄します。
永続データベース(Temporary=0)を破棄するには、ttDestroyを使用します。

ttDestroy upgrade

一時データベース(Temporary=1)を破棄するには、ttAdminを使用します。

ttAdmin -ramUnload upgrade

データベースactiveのレプリケーション・エージェントを再開します。

ttAdmin -repStart active

8.

新しいリリースのTimesTenをインストールします。

レプリケーション状態をstartに設定して、activeからupgradeへのレプリケーションを再開します。

ttRepAdmin -receiver -name upgrade
-start start active

9.

ttMigrateを使用して、手順6で作成したバックアップを新しいリリースのTimesTenのデータベースupgradeにロードします。

ttMigrate -r upgrade /backup/upgrade.dat

データベースが一時データベース(Temporary=1)の場合は、最初にttAdmin -ramLoadを使用します。

ttAdmin -ramLoad upgrade

注意: この手順では、アップグレードしているTimesTenの新しいリリースのttMigrateユーティリティを使用する必要があります。

10.

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秒かかるものもあるため、それぞれの状態が確実に有効になるようにsleepコマンドを使用しています。

11.

ttAdminを使用して、新しいデータベースupgradeのレプリケーション・エージェントを開始し、データベースactiveへの更新の送信を開始します。

ttAdmin -repStart upgrade

12.

データベースupgradeがデータベースactiveから更新を受信するかを確認します。データベースactiveで、更新の確認用として予約されている表に認識可能な更新を適用することで、更新が送信されたことを確認できます。upgradeに更新が適用されると、レプリケーションが動作していることになります。

アプリケーションがデータベースactiveで実行中の場合は、データベースupgradeの移行が正常に終了し、更新がactiveからupgradeに正しくレプリケートされたことを確認するまで、そのまま実行しておきます。

13.

更新が正常にレプリケートされていることを確認したら、すべてのアプリケーションをデータベースactiveから切断し、データベースupgradeに再接続できます。activeからの最後の更新がupgradeにレプリケートされたことを確認した後、activeのTimesTenインスタンスはアップグレード可能となります。
注意: 新しいリリースのTimesTenでデータベースupgradeで十分なテストが実行されるまで、新しいリリースのTimesTenへのactiveのTimesTenインスタンスのアップグレードを遅延できます。

アクティブ・スタンバイ・ペア・レプリケーションを使用したアップグレードの実行

アクティブ・スタンバイ・ペア・レプリケーションにより、アプリケーションへのデータの可用性が向上します。アクティブ・スタンバイ・ペアでは、非同期ライトスルー・キャッシュ・グループも使用する構成でTimesTenの新しいメジャー・リリースへアップグレードする場合を除き、オンライン・アップグレードを実行してTimesTenのアップグレード中にデータの可用性を継続して維持できます。この項では、次の手順について説明します。

- キャッシュ・グループが構成されていないアクティブ・スタンバイ・ペアのオンライン・アップグレード

- キャッシュ・グループが構成されているアクティブ・スタンバイ・ペアのオンライン・アップグレード

- キャッシュ・グループが構成されているアクティブ・スタンバイ・ペアのオフライン・アップグレード

注意:
非同期ライトスルーまたは読取り専用キャッシュ・グループのみがアクティブ・スタンバイ・ペアでサポートされます。

キャッシュ・グループが構成されていないアクティブ・スタンバイ・ペアのオンライン・アップグレード

この項では、アクティブ・スタンバイ・ペアを使用した、キャッシュ・グループのないシナリオにおけるオンライン・アップグレードについて説明します。

- スタンバイ・マスターおよびサブスクライバのオンライン・マイナー・アップグレード

- アクティブ・マスターのオンライン・マイナー・アップグレード

- アクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード

概要、制限および要件については、「レプリケーションを使用したオンライン・アップグレードの実行」も参照してください。

スタンバイ・マスターおよびサブスクライバのオンライン・マイナー・アップグレード

スタンバイ・マスター・データベースおよびサブスクライバ・データベースの新しいTimesTenのパッチ・リリースへのオンライン・マイナー・アップグレードを実行するには、各データベースで次のタスクを実行します。この手順では、キャッシュ・グループはないものとします。

1. ttRepStop組込みプロシージャまたはttAdminユーティリティを使用して、データベースのレプリケーション・エージェントを停止します。たとえば、スタンバイ・データベースmaster2のレプリケーション・エージェントを停止するには、次のコマンドを使用します。

ttAdmin -repStop master2

2. 新しいTimesTenのパッチ・リリースをインストールします。「インプレース・アップグレードの実行」を参照してください。

3. ttRepStart組込みプロシージャまたはttAdminユーティリティを使用して、レプリケーション・エージェントを再開します。

ttAdmin -repStart master2

アクティブ・マスターのオンライン・マイナー・アップグレード

アクティブ・マスター・データベースの新しいTimesTenパッチ・リリースへのマイナー・アップグレードを実行するには、アクティブ・マスター・データベースとスタンバイ・マスター・データベースの役割を逆にしてから、インプレース・アップグレードを行う必要があります。この手順では、キャッシュ・グループはないものとします。

1. アクティブ・マスター・データベースで更新を生成しているすべてのアプリケーションを一時停止します。

2. スタンバイ・マスター・データベースのDSNおよびホストを使用して、アクティブ・マスター・データベースのttRepSubscriberWait組込みプロシージャを実行します。たとえば、すべてのトランザクションがホストmaster2hostのスタンバイ・マスターmaster2にレプリケートされるようにするには、次のようにします。

call ttRepSubscriberWait( null, null, 'master2', 'master2host', 120 );

3. ttRepStop組込みプロシージャまたはttAdminユーティリティを使用して、現行のアクティブ・マスター・データベースのレプリケーション・エージェントを停止します。たとえば、アクティブ・マスター・データベースmaster1のレプリケーション・エージェントを停止するには、次のようにします。

ttAdmin -repStop master1

4. 現行のアクティブ・マスター・データベースでttRepDeactivate組込みプロシージャを実行します。これによって、データベースがIDLE状態になります。

call ttRepDeactivate;

5. スタンバイ・マスター・データベースで、ttRepStateSet組込みプロシージャを使用して、データベースをACTIVE状態に設定します。このデータベースがアクティブ・スタンバイ・ペアのアクティブ・マスターになります。

call ttRepStateSet( 'ACTIVE' );

6. 手順1で一時停止したアプリケーションを再開し、現在アクティブ・マスターとして動作しているデータベース(この例では、データベースmaster2)に接続します。

注意:
この時点では、新しいアクティブ・データベースからサブスクライバ・データベースへのレプリケーションは発生しません。レプリケーションは、新しいスタンバイ・データベースがアップグレードされ、新しいスタンバイ・データベースのレプリケーション・エージェントが実行されてから再開されます。

7. 前のアクティブ・マスター・データベース(今のスタンバイ・マスター・データベース)のTimesTenインスタンスをアップグレードします。「インプレース・アップグレードの実行」を参照してください。

8. ttRepStart組込みプロシージャまたはttAdminユーティリティを使用して、アップグレードしたTimesTenインスタンスのデータベースのレプリケーションを再起動します。

ttAdmin -repStart master2

9. 新しくアップグレードしたTimesTenインスタンスのデータベースを再びアクティブ・マスター・データベースにするには、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のアクティブ・マスター・データベースとスタンバイ・マスター・データベースの役割の入替えに関する説明を参照してください。

アクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード

アクティブ・スタンバイ・ペアからTimesTenの新しいメジャー・リリースへのオンライン・アップグレードを実行するには、各データベースのTCP/IPポートを明示的に指定する必要があります。アクティブ・スタンバイ・ペアのレプリケーション・スキームで各データベースのPORT属性が構成されていない場合は、アップグレードの準備として次の手順を実行する必要があります。この手順では、キャッシュ・グループはないものとします。(読取り専用キャッシュ・グループの場合、キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレードのみがサポートされます。)

1. ttRepStop組込みプロシージャをコールするか、ttAdminユーティリティを使用して、すべてのデータベースでレプリケーション・エージェントを停止します。たとえば、データベースmaster1のレプリケーション・エージェントを停止するには、次のようにします。

ttAdmin -repStop master1

2. アクティブ・マスター・データベースで、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;

3. ttDestroyユーティリティを使用して、スタンバイ・マスター・データベースおよびすべてのサブスクライバを破棄します。たとえば、データベースsubscriber1を破棄するには、次のようにします。

ttDestroy subscriber1

4. 通常の手順に従ってアクティブ・スタンバイ・ペアを起動し、アクティブ・マスターからスタンバイ・データベースおよびサブスクライバ・データベースを複製します。『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のキャッシュ・グループのないアクティブ・スタンバイ・ペアの設定に関する説明を参照してください。

アクティブ・スタンバイ・ペアのTimesTenインスタンスをアップグレードするには、まずスタンバイ・マスターのインスタンスをアップグレードします。このノードのアップグレード中はスタンバイ・マスター・データベースが存在しないため、アクティブ・マスター・データベースでの更新は、サブスクライバ・データベースに直接伝播されます。スタンバイ・ノードのアップグレード後に、アクティブ・ロールとスタンバイ・ロールが切り替えられ、新しいアクティブ・ロールから新しいスタンバイ・ロールが作成されます。最後に、サブスクライバ・ノードがアップグレードされます。

1. アクティブ・マスター・データベースでttRepStateSave組込みプロシージャを実行して、アクティブ・マスター・データベースに、スタンバイ・マスターへの更新のレプリケートを停止するように指示ます。たとえば、ホストmaster2hostのスタンバイ・マスター・データベースmaster2へのレプリケートを停止するには、次のようにします。

call ttRepStateSave( 'FAILED', 'master2', 'master2host' );

2. ttRepStop組込みプロシージャまたはttAdminユーティリティを使用して、スタンバイ・マスター・データベースのレプリケーション・エージェントを停止します。次の例では、スタンバイ・マスター・データベースmaster2のレプリケーション・エージェントを停止します。

ttAdmin -repStop master2

3. ttMigrateユーティリティを使用してスタンバイ・マスター・データベースをバイナリ・ファイルにバックアップします。

ttMigrate -c master2 master2.bak

ttMigrateの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』を参照してください。

4. ttDestroyユーティリティを使用して、アクティブ・マスター・データベースを破棄します。

ttDestroy master2

5. 古いリリースを削除し、新しいリリースのTimesTenをスタンバイ・マスター・ホストmaster2hostにインストールします。「UNIXシステムへのTimesTenのインストール」または「WindowsシステムへのTimesTenのインストール」を参照してください。

6. master2hostの新しいTimesTenインスタンスで、ttMigrateを使用して、前に作成したバイナリ・ファイルからスタンバイ・マスター・データベースをリストアします。(この例では、20MB分のデータがリストアされるたびにチェックポイント操作が実行されます。)

ttMigrate -r -C 20 master2 master2.bak

7. ttRepStart組込みプロシージャまたはttAdminユーティリティを使用してスタンバイ・マスター・データベースのレプリケーション・エージェントを開始します。

ttAdmin -repStart master2

アップグレードしたTimesTenインスタンスのスタンバイ・マスター・データベースがアクティブ・マスター・データベースと同期化すると、このスタンバイ・マスター・データはRECOVERING状態からSTANDBY状態に移行します。また、このスタンバイ・マスター・データベースは、サブスクライバに更新の送信も開始します。スタンバイ・マスター・データベースがSTANDBY状態になるタイミングは、ttRepStateGet組込みプロシージャをコールすることで決まります。

call ttRepStateGet;

8. アクティブ・マスター・データベースで更新を生成しているすべてのアプリケーションを一時停止します。

9. スタンバイ・マスター・データベースのDSNおよびホストを使用して、アクティブ・マスター・データベースのttRepSubscriberWait組込みプロシージャを実行します。たとえば、すべてのトランザクションがホストmaster2hostのスタンバイ・マスターmaster2にレプリケートされるようにするには、次のようにします。

call ttRepSubscriberWait( null, null, 'master2', 'master2host', 120 );

10. ttRepStop組込みプロシージャまたはttAdminユーティリティを使用して、アクティブ・マスター・データベースのレプリケーション・エージェントを停止します。たとえば、アクティブ・マスター・データベースmaster1のレプリケーション・エージェントを停止するには、次のようにします。

ttAdmin -repStop master1

11. スタンバイ・マスター・データベースで、ttRepStateSet組込みプロシージャを使用して、データベースをACTIVE状態に設定します。このデータベースがアクティブ・スタンバイ・ペアのアクティブ・マスターになります。

call ttRepStateSet( 'ACTIVE' );

12. アクティブ・マスター・データベースでttRepStateSave組込みプロシージャを実行して、新しいアクティブ・マスター・データベース(この例では、master2)に、現在のスタンバイ・マスター(master1)への更新のレプリケートを停止するように指示します。たとえば、ホストmaster1hostのスタンバイ・マスター・データベースmaster1へのレプリケートを停止するには、次のようにします。

call ttRepStateSave( 'FAILED', 'master1', 'master1host' );

13. ttDestroyユーティリティを次のように使用して、前のアクティブ・マスター・データベースを破棄します。

ttDestroy master1

14. 古いリリースを削除し、master1hostに新しいTimesTenをインストールします。

15. 11.2.1より前のTimesTenバージョンからアップグレードする場合、アクセス制御が導入されていると、データベースを複製するために新しいアクティブ・マスター・データベースでADMIN権限を持つユーザーを作成する必要があります。(11.2.1以降からアップグレードする場合は、ttMigrateによって移行したADMINユーザーを使用できる場合があります。)たとえば、スタンバイ・マスター・データベースにパスワードpatpwdを使用するユーザーpatを作成するには、次のようにします。

CREATE USER pat IDENTIFIED BY patpwd;
GRANT ADMIN TO pat;

16. ttRepAdminユーティリティを使用して、新しいスタンバイ・マスター・データベースを複製することによって、新しいスタンバイ・マスター・データベースを作成します。たとえば、ホストmaster2hostのデータベースmaster2をデータベースmaster1に複製するには、データベースmaster1を含むホストで次のコマンドを使用します。

ttRepAdmin -duplicate -from master2 -host master2host -uid pat -pwd patpwd
-setMasterRepStart master1

17. ttRepStart組込みプロシージャまたはttAdminユーティリティを使用して新しいスタンバイ・マスター・データベースのレプリケーション・エージェントを開始します。

ttAdmin -repStart master1

18. ttRepStop組込みプロシージャまたはttAdminユーティリティを使用して、最初のサブスクライバ・データベースのレプリケーション・エージェントを停止します。たとえば、サブスクライバ・データベースsubscriber1のレプリケーション・エージェントを停止するには、次のようにします。

ttAdmin -repStop subscriber1

19. ttDestroyユーティリティを使用して、サブスクライバ・データベースを破棄します。

ttDestroy subscriber1

20. 古いリリースを削除し、新しいリリースのTimesTenをサブスクライバ・ホストにインストールします。

21. ttRepAdminユーティリティを使用して、新しいスタンバイ・マスター・データベースを複製することによってサブスクライバ・データベースを作成します。

ttRepAdmin -duplicate -from master1 -host master1host -uid pat -pwd patpwd
-setMasterRepStart subscriber1

22. ttRepStart組込みプロシージャまたはttAdminユーティリティを使用して、複製したサブスクライバ・データベースのレプリケーション・エージェントを開始します。

ttAdmin -repStart subscriber1

23. 他の各サブスクライバ・データベースで、手順18から手順22を繰り返します。

キャッシュ・グループが構成されているアクティブ・スタンバイ・ペアのオンライン・アップグレード

この項では、アクティブ・スタンバイ・ペアおよびキャッシュ・グループを使用したシナリオにおけるオンライン・マイナー・アップグレードについて説明します。

- スタンバイ・マスターおよびサブスクライバのオンライン・マイナー・アップグレード(キャッシュ・グループ)

- アクティブ・マスターのオンライン・マイナー・アップグレード(キャッシュ・グループ)

- アクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード(読取り専用キャッシュ・グループ)

概要、制限および要件については、「レプリケーションを使用したオンライン・アップグレードの実行」も参照してください。

スタンバイ・マスターおよびサブスクライバのオンライン・マイナー・アップグレード(キャッシュ・グループ)

スタンバイ・マスター・データベースおよびサブスクライバ・データベースの新しいTimesTenのパッチ・リリースへのオンライン・マイナー・アップグレードを実行するには、キャッシュ・グループを使用した構成で、各データベースで次のタスクを実行します(例外については説明を参照)。

1. ttRepStop組込みプロシージャまたはttAdminユーティリティを使用して、データベースのレプリケーション・エージェントを停止します。たとえば、スタンバイ・データベースmaster2のレプリケーション・エージェントを停止するには、次のようにします。

ttAdmin -repStop master2

2. ttCacheStop組込みプロシージャまたはttAdminユーティリティを使用して、スタンバイ・データベースのキャッシュ・エージェントを停止します。

ttAdmin -cacheStop master2

3. TimesTenパッチをインストールします。「インプレース・アップグレードの実行」を参照してください。

4. ttCacheStart組込みプロシージャまたはttAdminユーティリティを使用して、スタンバイ・データベースのキャッシュ・エージェントを再開します。

ttAdmin -cacheStart master2

5. ttRepStart組込みプロシージャまたはttAdminユーティリティを使用して、レプリケーション・エージェントを再開します。

ttAdmin -repStart master2

注意:
手順2および手順4のキャッシュ・エージェントの停止および再起動は、サブスクライバ・データベースには適用できません。

アクティブ・マスターのオンライン・マイナー・アップグレード(キャッシュ・グループ)

アクティブ・マスター・データベースの新しいTimesTenのパッチ・リリースへのオンライン・マイナー・アップグレードを実行するには、キャッシュ・グループを使用した構成で、各データベースで次の手順を実行します。最初に、アクティブ・マスター・データベースとスタンバイ・マスター・データベースの役割を逆にしてから、インプレース・アップグレードを行う必要があります。

1. アクティブ・マスター・データベースで更新を生成しているすべてのアプリケーションを一時停止します。

2. スタンバイ・マスター・データベースのDSNおよびホストを使用して、アクティブ・マスター・データベースのttRepSubscriberWait組込みプロシージャを実行します。たとえば、すべてのトランザクションがホストmaster2hostのスタンバイ・マスターmaster2にレプリケートされるようにするには、次のようにします。

call ttRepSubscriberWait( null, null, 'master2', 'master2host', 120 );

3. ttRepStop組込みプロシージャまたはttAdminユーティリティを使用して、現行のアクティブ・マスター・データベースのレプリケーション・エージェントを停止します。たとえば、アクティブ・マスター・データベースmaster1のレプリケーション・エージェントを停止するには、次のようにします。

ttAdmin -repStop master1

4. ttCacheStop組込みプロシージャまたはttAdminユーティリティを使用して、現行のアクティブ・マスター・データベースのキャッシュ・エージェントを停止します。

ttAdmin -cacheStop master1

5. 現行のアクティブ・マスター・データベースでttRepDeactivate組込みプロシージャを実行します。これによって、データベースがIDLE状態になります。

call ttRepDeactivate;

6. スタンバイ・マスター・データベースで、ttRepStateSet組込みプロシージャを使用して、データベースをACTIVE状態に設定します。このデータベースがアクティブ・スタンバイ・ペアのアクティブ・マスターになります。

call ttRepStateSet( 'ACTIVE' );

7. 手順1で一時停止したアプリケーションを再開し、現在アクティブ・マスターとして動作しているデータベース(この例では、データベースmaster2)に接続します。

8. 前のアクティブ・マスター・データベース(今のスタンバイ・マスター・データベース)のTimesTenインスタンスをアップグレードします。「インプレース・アップグレードの実行」を参照してください。

9. ttCacheStart組込みプロシージャまたはttAdminユーティリティを使用して、アップグレード後のデータベースのキャッシュ・エージェントを再開します。

ttAdmin -cacheStart master1

10. ttRepStart組込みプロシージャまたはttAdminユーティリティを使用して、アップグレード後のデータベースのレプリケーションを再開します。

ttAdmin -repStart master1

11. アップグレード後のデータベースを再びアクティブ・マスター・データベースにするには、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のアクティブ・データベースとスタンバイ・データベースの役割の入替えに関する説明を参照してください。

アクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード(読取り専用キャッシュ・グループ)

読取り専用キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのシナリオで、リリース11.2.1.x.xからリリース11.2.2.x.xへのTimesTenメジャー・アップグレードを実行するには、次の手順を実行します。

この手順では、アクティブ・マスター・データベースmaster1はホストmaster1host、スタンバイ・マスター・データベースmaster2はホストmaster2hostにあるとします。

注意:
ここで述べている組込みプロシージャおよびユーティリティの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「組込みプロシージャ」および「ユーティリティ」を参照してください。

1. アクティブ・マスター・ホストでttAdminユーティリティを実行し、アクティブ・マスター・データベースのレプリケーション・エージェントを停止します。

ttAdmin -repStop master1

2. アクティブ・マスター・データベースでDROP ACTIVE STANDBY PAIR文を使用し、アクティブ・スタンバイ・ペアを削除します。たとえば、ttIsqlユーティリティから次のようにします。

Command> DROP ACTIVE STANDBY PAIR;

3. アクティブ・マスター・データベースで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によって所有されている読取り専用のキャッシュ・グループです。

4. アクティブ・マスター・データベースでttRepStateSet組込みプロシージャを呼び出し、アクティブ・マスター・データベースのレプリケーション状態をACTIVEに設定します。

Command> call ttRepStateSet('ACTIVE');

アクティブ・マスター・データベースのレプリケーション状態がACTIVEに設定されていることを確認するには、ttRepStateGet組込みプロシージャを呼び出します。

Command> call ttRepStateGet();
< ACTIVE, NO GRID >
1 row found.

5. アクティブ・マスター・データベースでttRepStart組込みプロシージャを呼び出し、レプリケーション・エージェントを起動します。

Command> call ttRepStart();

6. スタンバイ・マスター・ホストでttAdminユーティリティを実行し、スタンバイ・マスター・データベースのレプリケーション・エージェントを停止します。

ttAdmin -repStop master2

7. スタンバイ・マスター・ホストでttAdminユーティリティを実行し、スタンバイ・マスター・データベースのキャッシュ・エージェントを停止します。

ttAdmin -cacheStop master2

8. スタンバイ・マスター・ホストでttDestroyユーティリティを実行し、スタンバイ・マスター・データベースを破棄します。-forceオプションを追加するか、最初にすべてのキャッシュ・グループを削除する必要があります。

ttDestroy -force master2

9. 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権限を持っています。
キャッシュ・グループ表を維持するには、-keepCGオプションを追加するときにキャッシュ管理ユーザーが必要です。この例では、cachepwdパスワードで識別されるcacheuserユーザーが、キャッシュ管理ユーザーです。

10. 新しいスタンバイ・マスター・データベースでDROP CACHE GROUP文を使用し、キャッシュ・グループをすべて削除します。

Command> DROP CACHE GROUP cacheuser.readcache;

11. スタンバイ・マスター・ホストでttMigrateユーティリティを実行し、スタンバイ・マスター・データベースをバイナリ・ファイルにバックアップします。

ttMigrate -c master2 master2.bak

12. スタンバイ・マスター・ホストでttDestroyユーティリティを実行し、スタンバイ・マスター・データベースを破棄します。

ttDestroy master2

13. 古いリリースを削除し、新しいリリースのTimesTenをスタンバイ・マスター・ホストにインストールします。「UNIXシステムへのTimesTenのインストール」または「WindowsシステムへのTimesTenのインストール」を参照してください。

14. スタンバイ・マスター・ホスト上の新しいTimesTenインスタンスで、ttMigrateユーティリティを実行し、前の手順で作成したバイナリ・ファイルからスタンバイ・マスター・データベースをリストアします。

ttMigrate -r -C 20 master2 master2.bak

注意:
この例では、20MB分のデータがリストアされるたびにチェックポイント操作が実行されます。

15. スタンバイ・マスター・データベースで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でのユーザーの作成に関する説明を参照してください。

16. キャッシュ管理ユーザーとしてスタンバイ・マスター・データベースに接続し、ttCacheUidPwdSet組込みプロシージャを呼び出して、新しいキャッシュ管理ユーザーの名前とパスワードを設定します。接続文字列内のOraclePWD接続属性で、Oracleデータベースのキャッシュ管理ユーザーのパスワードを必ず指定してください。

ttIsql "DSN=master2;UID=cacheuser2;PWD=cachepwd;OraclePWD=oracle"
Command> call ttCacheUidPwdSet('cacheuser2','oracle');

17. スタンバイ・マスター・データベースでttCacheStart組込みプロシージャを呼び出し、キャッシュ・エージェントを起動します。

Command> call ttCacheStart();

18. スタンバイ・マスター・データベースでttRepStart組込みプロシージャを呼び出し、レプリケーション・エージェントを起動します。

Command> call ttRepStart();

レプリケーション状態は、自動的にSTANDBYに設定されます。ttRepStateGet組込みプロシージャをコールしてこれを確認できます。(非同期で実行され、少し時間がかかります。)

Command> call ttRepStateGet();
< STANDBY, NO GRID >
1 row found.

19. スタンバイ・マスター・データベースで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データベース表の作成に関する説明を参照してください。

20. スタンバイ・マスター・データベースでLOAD CACHE GROUP文を使用し、Oracleデータベース表からTimesTenキャッシュ・グループにデータをロードします。

Command> LOAD CACHE GROUP cacheuser2.readcache
COMMIT EVERY 200 ROWS;

21. アクティブ・マスター・データベースで更新を生成しているすべてのアプリケーションを一時停止します。

22. アクティブ・マスター・データベースで、スタンバイ・マスター・データベースのDSNおよびホストを使用して、ttRepSubscriberWait組込みプロシージャを呼び出します。たとえば、すべてのトランザクションをmaster2hostホスト上のmaster2データベースにレプリケートするには、次のようにします。

Command> call ttRepSubscriberWait(NULL,NULL,'master2','master2host',120);

23. アクティブ・マスター・データベースでttRepStop組込みプロシージャを呼び出し、レプリケーション・エージェントを停止します。

Command> call ttRepStop();

24. アクティブ・マスター・データベースでttRepDeactivate組込みプロシージャを呼び出し、アクティブ・マスター・データベースのレプリケーション状態をIDLEに設定します。

Command> call ttRepDeactivate();

25. スタンバイ・マスター・データベースでttRepStateSet組込みプロシージャを呼び出し、スタンバイ・マスター・データベースのレプリケーション状態をACTIVEに設定します。このデータベースとそのホストが、アクティブ・スタンバイ・ペアのレプリケーション・スキームでアクティブ・マスターになります。

Command> call ttRepStateSet('ACTIVE');

注意:
この例では、master2hostホスト上のmaster2データベースが、アクティブ・スタンバイ・ペアのレプリケーション・スキームでアクティブ・マスターになったところです。同様に、master1hostホスト上のmaster1は、これ以降、アクティブ・スタンバイ・ペアのレプリケーション・スキームにおけるスタンバイ・マスターとみなされます。

26. 新しいアクティブ・マスター・データベースでttRepStop組込みプロシージャを呼び出し、レプリケーション・エージェントを停止します。

Command> call ttRepStop();

27. アクティブ・マスター・データベースでALTER CACHE GROUP文を使用し、すべてのキャッシュ・グループのAUTOREFRESHモードをPAUSEDに設定します。

Command> ALTER CACHE GROUP cacheuser2.readcache
SET AUTOREFRESH STATE PAUSED;

28. アクティブ・マスター・データベースでDROP ACTIVE STANDBY PAIR文を使用し、アクティブ・スタンバイ・ペアを削除します。

Command> DROP ACTIVE STANDBY PAIR;

29. アクティブ・マスター・データベースで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;

30. アクティブ・マスター・データベースでttRepStateSet組込みプロシージャを呼び出し、アクティブ・マスター・データベースのレプリケーション状態をACTIVEに設定します。

Command> call ttRepStateSet('ACTIVE');

31. アクティブ・マスター・データベースでttRepStart組込みプロシージャを呼び出し、レプリケーション・エージェントを起動します。

Command> call ttRepStart();

32. ステップ21で停止したアプリケーションがあれば再開し、新しいアクティブ・マスター・データベースに接続します。

33. 新しいスタンバイ・マスター・ホストでttDestroyユーティリティを実行し、新しいスタンバイ・マスター・データベースを破棄します。

ttDestroy master1

34. 古いリリースを削除し、新しいリリースのTimesTenをスタンバイ・マスター・ホストにインストールします。

35. ttRepAdminユーティリティで新しいスタンバイ・マスター・データベースを複製することによって、新しいスタンバイ・マスター・データベースを作成します。たとえば、master2hostホスト上のmaster2データベースをmaster1データベースに複製するには、master1データベースを含むホストで次のように実行します。

ttRepAdmin -duplicate -from master2 -host master2host -UID pat -PWD patpwd
-keepCG -cacheUid cacheuser2 -cachePwd cachepwd master1

36. スタンバイ・マスター・ホストでttAdminユーティリティを実行し、スタンバイ・マスター・データベースのキャッシュ・エージェントを起動します。

ttAdmin -cacheStart master1

37. スタンバイ・マスター・ホストでttAdminユーティリティを実行し、スタンバイ・マスター・データベースのキャッシュ・エージェントを起動します。

ttAdmin -repStart master1

キャッシュ・グループが構成されているアクティブ・スタンバイ・ペアのオフライン・アップグレード

非同期ライトスルー・キャッシュ・グループのあるアクティブ・スタンバイ・ペアのシナリオでTimesTenメジャー・アップグレードを実行するには、オフライン・アップグレードが必要です。これについては、後の項で説明します。

アクティブ・スタンバイ・ペアのオフライン・メジャー・アップグレード(キャッシュ・グループ)

キャッシュ・グループを使用したアクティブ・スタンバイ・ペアのシナリオで、リリース11.2.1.x.xからリリース11.2.2.x.xへのTimesTenメジャー・アップグレードを実行するには、次の手順を実行します。このアップグレードはオフラインで実行する必要があります。

注意:
この手順では、7.0.x以前のTimesTenリリースからのアップグレードはサポートされていません。その場合は、代替として、アップグレード前にレプリケーション・スキームからキャッシュ・グループを除外し、キャッシュ・グループを使用しないアップグレードの手順を使用して、除外したキャッシュ・グループをアップグレード後にレプリケーション・スキームに含めます。キャッシュ・グループを使用しないアップグレードについては、「アクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード」を参照してください。

この手順では、アクティブ・マスター・データベースmaster1はホストmaster1host、スタンバイ・マスター・データベースmaster2はホストmaster2hostにあるとします。(ここで述べている組込みプロシージャおよびユーティリティの詳細は、『Oracle TimesTen In-Memory Databaseリファレンス』の「組込みプロシージャ」および「ユーティリティ」を参照してください。)

1. アップグレード前に、アクティブ・データベースの更新をすべて停止します。

2. master1から、ttRepSubscriberWait組込みプロシージャをコールし、すべてのデータ更新がスタンバイ・データベースに適用されるようにします。numsecには適切な待機時間を指定します。

call ttRepSubscriberWait(null, null, 'master2', 'master2host', numsec);

3. master2から、ttRepSubscriberWait組込みプロシージャをコールし、すべてのデータ更新がOracle Databaseに適用されるようにします。

call ttRepSubscriberWait(null, null, '_ORACLE', null, numsec);

4. master1hostで、ttAdminユーティリティを使用してアクティブ・データベースのレプリケーション・エージェントを停止します。

ttAdmin -repStop master1

5. master2hostで、ttAdminを使用してスタンバイ・データベースのレプリケーション・エージェントを停止します。

ttAdmin -repStop master2

6. master1hostで、ttCacheStop組込みプロシージャをコールするか、ttAdminを使用してアクティブ・データベースのキャッシュ・エージェントを停止します。

ttAdmin -cacheStop master1

7. master2hostで、ttCacheStopをコールするか、ttAdminを使用してスタンバイ・データベースのキャッシュ・エージェントを停止します。

ttAdmin -cacheStop master2

8. master1hostで、ttMigrateユーティリティを使用して、アクティブ・データベースをバイナリ・ファイルにバックアップします。

ttMigrate -c master1 master1.bak

9. master1hostで、ttDestroyユーティリティを使用してアクティブ・データベースを破棄します。-forceオプションを使用するか、最初にすべてのキャッシュ・グループを削除する必要があります。-forceを使用する場合は、後でスクリプトcacheCleanup.sqlを実行します。

ttDestroy -force /data_store_path/master1

cacheCleanup.sqlスクリプトは、キャッシュ・ユーザーとしてOracle Databaseに接続後に実行するSQL*Plusスクリプトで、TimesTen_install_dir/oraclescriptsディレクトリにあります。パラメータとして、TimesTenのホスト名とデータベース名をフルパスを指定します。詳細は、Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイドの自動リフレッシュ・キャッシュ・グループで使用されるOracle Databaseオブジェクトの削除に関する説明を参照してください。

10. 古いバージョンを削除し、新しいメジャー・リリースのTimesTenをmaster1hostにインストールします。詳細は、「UNIXシステムへのTimesTenのインストール」または「WindowsシステムへのTimesTenのインストール」を参照してください。

11. ttIsqlとDSN接続属性設定AutoCreate=1を使用して、11.2.2.x.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;

12. master1hostの新しいTimesTenインスタンスで、キャッシュ・ユーザーとして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

13. master1hostで、ttAdminを使用してレプリケーション・エージェントを開始します。

ttAdmin -repStart master1

注意:
また、この手順によりデータベースはアクティブ状態になります。ここでttRepStateGet組込みプロシージャ(パラメータなし)をコールして状態を確認できます。

14. master1hostで、ttCacheStart組込みプロシージャをコールするか、ttAdminを使用してキャッシュ・エージェントを開始します。

ttAdmin -cacheStart master1

次に、ttStatusユーティリティを使用して、レプリケーションおよびキャッシュ・エージェントが開始されているかを確認できます。

15. 各自動リフレッシュ・キャッシュ・グループをAUTOREFRESH PAUSED状態にします。この例では、ttIsqlを使用します。

Command> ALTER CACHE GROUP mycachegroup SET AUTOREFRESH STATE paused;

16. master1から、各キャッシュ・グループを再ロードし、キャッシュ・グループの名前と捜査中のコミットの頻度を指定します。この例では、ttIsqlを使用します。

Command> LOAD CACHE GROUP cachegroupname COMMIT EVERY n ROWS;

オプションとして、パラレル・ロードも指定できます。LOAD CACHE GROUP SQL 文の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』を参照してください。

17. master2hostで、ttDestroyユーティリティを使用してスタンバイ・データベースを破棄します。-forceオプションを使用するか、最初にすべてのキャッシュ・グループを削除する必要があります。-forceを使用する場合は、前述のように後でスクリプトcacheCleanup.sqlを実行します。

ttDestroy -force /data_store_path/master2

18. 古いバージョンを削除し、新しいメジャー・リリースのTimesTenをmaster2hostにインストールします。

19. master2hostの新しいTimesTenインスタンスでttRepAdminを-duplicateオプションで使用し、アクティブ・データベースmaster1の複製を作成してスタンバイ・データベースmaster2として使用します。master1の適切な管理ユーザーを指定し、キャッシュ・マネージャのユーザーとパスワードを指定し、キャッシュ・グループを保持します。

ttRepAdmin -duplicate -from master1 -host master1host -uid pat -pwd patpwd
-cacheUid orcluser -cachePwd orclpwd -keepCG master2

20. master2hostで、ttAdminを使用してレプリケーション・エージェントを開始します。(かわりに、前の手順でttRepAdminオプションの-setMasterRepStartを使用できます。)

ttAdmin -repStart master2

21. master2で、レプリケーションの状態が自動的にSTANDBYに設定されます。ttRepStateGet組込みプロシージャをコールしてこれを確認できます。(非同期で実行され、少し時間がかかります。)

call ttRepStateGet();

22. 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のオフライン・アップグレードの実行

この項では、Oracle ClusterwareとともにTimesTenを使用する場合のTimesTenのオフライン・アップグレードの手順を説明します。TimesTenのアップグレード中に、Oracle Clusterwareを独立してアップグレードするオプションもあります。(オンライン・アップグレードの詳細は、「Oracle Clusterware使用時のTimesTenのオンライン・アップグレードの実行」を参照してください。)

注意:

- これらの手順は、TimesTenマイナー・リリース・アップグレード(11.2.2.x.xから新しい11.2.2.x.xへのアップグレード)またはTimesTenメジャー・リリース・アップグレード(11.2.1.x.xから新しい11.2.2.x.xへのアップグレード)に対応します。

- TimesTen 11.2.2では、Clusterwareリリース11.2.0.2および11.2.0.3のみがサポートされます。(TimesTen 11.2.1では、Clusterwareのリリース11.1.0.7、11.2.0.2、および11.2.0.3がサポートされます。)

- TimesTenでは、WindowsプラットフォームのClusterwareはサポートされません。

この手順では、特に記載されている場合を除き、クラスタ内のいずれのホストからでもttCWAdminコマンドを実行できます。各コマンドはすべてのホストに影響します。

1. アクティブ・スタンバイ・ペアのデータベースでレプリケーション・エージェントを停止します。

ttCWAdmin -stop -dsn advancedDSN

2. アクティブ・スタンバイ・ペアを削除します。

ttCWAdmin -drop -dsn advancedDSN

3. TimesTenクラスタ・エージェントを停止します。これによって、クラスタからホストが削除され、TimesTenデーモンが停止します。

ttCWAdmin -shutdown

4. 目的のホストでTimesTenをアップグレードします。

- TimesTenマイナー・アップグレードを実行するには、クラスタの各ノードに、同じメジャー・リリース・ライン(たとえばすべてがリリース11.2.2.x.xなど)のTimesTenがある必要があります。「インプレース・アップグレードの実行」のとおり、インプレース・アップグレードを実行できます。

- TimesTenのメジャー・アップグレードを実行するには、オフライン・アップグレードの実行に関する説明のとおり、ttMigrateを使用する必要があります。

5. Oracle Databaseドキュメントの説明に従って、必要に応じてOracle Clusterwareをアップグレードします。

1. http://www.oracle.com/pls/db112/homepageにアクセスします。

2. 「Installing and Upgrading」リンクを選択します。

3. ご使用のプラットフォームのGrid Infrastructureインストール・ガイドを参照します。

『Oracle Clusterware管理およびデプロイメント・ガイド』のOracle Clusterwareのアップグレードの概要に関する説明も参照してください。

TimesTenで使用するには、Clusterwareリリース11.1.0.7から11.2.0.3にアップグレードするか、11.2.0.2から11.2.0.3にアップグレードできますが、11.1.0.7から11.2.0.2へはアップグレードできません。

6. Oracle Clusterwareをアップグレード済の場合、ttmodinstallユーティリティ(『Oracle TimesTen In-Memory Databaseリファレンス』を参照)を使用して、Oracle ClusterwareでTimesTenを構成します。各ホストには、次を入力します。

ttmodinstall -crs

ttmodinstallによってttcrsagent.optionsファイルを上書きする権限が要求された場合、yes(デフォルト)を選択します。

ttcrsagent.optionsの関連情報については、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』の各ホストへのTimesTenインストールに関する説明およびTimesTenクラスタ・エージェントの開始に関する説明を参照してください。

7. TimesTenクラスタ・エージェントを起動します。これには、ttcrsagent.optionsで指定されたクラスタ内で定義されたホストを含みます。これにより、TimesTenデーモンも起動します。

ttCWAdmin -init

8. アクティブ・スタンバイ・ペアのレプリケーション・スキームを作成します。

ttCWAdmin -create -dsn advancedDSN

重要: このコマンドを実行するホストからcluster.oracle.iniファイルにアクセスできる必要があります。(このファイルの詳細は『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のcluster.oracle.iniファイルによるOracle Clusterware管理の設定に関する説明を参照してください。)

9. アクティブ・スタンバイ・ペアのレプリケーション・スキームを開始します。

ttCWAdmin -start -dsn advancedDSN

Oracle Clusterware使用時のTimesTenのオンライン・アップグレードの実行

この項では、アクティブ・スタンバイ・ペアがOracle Clusterwareによって管理されている構成で、TimesTenのオンライン・ローリング・インプレース・マイナー・バージョン・アップグレード(TimesTenのリリース11.2.2.x.xから新しいリリース11.2.2.x.xへのアップグレード)を実行する方法について説明します。(オフライン・アップグレードの詳細は、「Oracle Clusterware使用時のTimesTenのオフライン・アップグレードの実行」を参照してください。)

この章では、次の項目について説明します。

- サポートされている構成

- 制限と前提

- 1つのアクティブ・スタンバイ・ペアに対応したアップグレード・タスク

- 数多くのホストのペアでの複数アクティブ・スタンバイ・ペのアップグレード

- 1つのホスト・ペアでの複数アクティブ・スタンバイ・ペアのアップグレード

- インプレース・アップグレードの例

注意:

- TimesTen 11.2.2では、Clusterwareリリース11.2.0.2および11.2.0.3のみがサポートされます。(TimesTen 11.2.1では、Clusterwareのリリース11.1.0.7、11.2.0.2、および11.2.0.3がサポートされます。)

- TimesTenでは、WindowsプラットフォームのClusterwareはサポートされません。

サポートされている構成

TimesTenのオンライン・ローリング・インプレース・アップグレードには、次の基本構成がサポートされています。いずれの場合も、Oracle Clusterwareによってホストが管理されます。

- 2つのホスト上の1つのアクティブ・スタンバイ・ペア。

- 各ホストに1つのTimesTenデータベースを備えた複数のアクティブ・スタンバイ・ペア。

- 各ホストに1つ以上のTimesTenデータベースを備えた複数のアクティブ・スタンバイ・ペア。

(追加のスペア・システムを備えたものなど、他のシナリオもこれらのシナリオの1つと事実上同等です。)

制限と前提

Oracle Clusterwareを使用しているときにTimesTenをアップグレードするための次の前提に注意してください。

- 既存のアクティブ・スタンバイ・ペアは適切に構成され、動作しています。

- スタンバイ・データベースを停止および起動するためのOracle Clusterwareコマンドは、適切に使用されています。

- インプレース・アップグレードを実行しても、アクティブ・データベースおよびスタンバイ・データベース用のTimesTen環境は変化しません。

- インプレース・アップグレードは、TimesTen 11.2.2.x.xリリースから、後のTimesTen 11.2.2.x.xリリースに対するものです。これらの手順はTimesTenのマイナー・アップグレード専用です。Oracle Clusterwareによってアクティブ・スタンバイ・ペアが管理される構成では、現時点でオンライン・メジャー・アップグレードはサポートされていません。

- Oracle Clusterwareは、リリース11.2.0.2または11.2.0.3です。

- インプレース・アップグレードは、各ホストの1つのTimesTenインストールに適用されます。

- 少なくとも2つのホストがOracle Clusterwareによって管理されています。
Oracle Clusterwareによって管理されている複数のアクティブ・データベースまたはスタンバイ・データベースは、クラスタに少なくとも2つのホストがある場合のみホストに存在できます。

重要:

- 必要に応じてOracle Clusterwareをアップグレードします。ただし、TimesTenのオンライン・アップグレードと同時には実行できません。アクティブ・スタンバイ・ペアがOracle Clusterwareによって管理される構成でTimesTenのオンライン・マイナー・アップグレードを実行する場合は、TimesTenのアップグレードの前または後でClusterwareのアップグレードを個別に実行する必要があります。
TimesTenで使用するには、Clusterwareリリース11.1.0.7から11.2.0.3にアップグレード、または11.2.0.2から11.2.0.3にアップグレードできますが、11.1.0.7から11.2.0.2へはアップグレードできません。

- Oracle Clusterwareを使用したTimesTenのアップグレードでは、アクティブ・スタンバイ・ペアによってグローバル・キャッシュがレプリケートされる際に、オンライン・ローリング・インプレース・アップグレードはサポートされません。

注意:
Oracle Clusterwareのアップグレードについては、Oracle Databaseのドキュメントを参照してください。

1. http://www.oracle.com/pls/db112/homepageにアクセスします。

2. 「Installing and Upgrading」リンクを選択します。

3. ご使用のプラットフォームのGrid Infrastructureインストール・ガイドを参照します。

『Oracle Clusterware管理およびデプロイメント・ガイド』のOracle Clusterwareのアップグレードの概要に関する説明も参照してください。

1つのアクティブ・スタンバイ・ペア用のアップグレード・タスク

この項では、次の作業について説明します。

- アクティブ・スタンバイ・ペアが適切に機能していることの確認

- スタンバイ・データベースの停止

- スタンバイ・データベースのインプレース・アップグレードの実行

- スタンバイ・データベースを起動します。

- アクティブ・データベースとスタンバイ・データベースのロールの切替え

- 新しいスタンバイ・データベースの停止

- 新しいスタンバイ・データベースのインプレース・アップグレードの実行

- 新しいスタンバイ・データベースの開始

注意:
次の項の例では、ホスト名はhost2、DSNはmyDSN、TimesTenインスタンス名はupgrade2およびインスタンス管理者はterryです。

アクティブ・スタンバイ・ペアが適切に機能していることの確認

これらの手順を実行して、アクティブ・スタンバイ・ペアが適切に機能していることを確認します。

1. 次のことを確認します。

- アクティブ・データベースおよびスタンバイ・データベースでTimesTen 11.2.2.x.xリリースが実行されます。

- アクティブ・データベースおよびスタンバイ・データベースは、Oracle Clusterwareによって管理される別々のホストです。

- レプリケーションが機能しています。

- アクティブ・スタンバイ・ペアのレプリケーション・スキームにキャッシュ・グループが含まれている場合、次のことが正しくなります。

- AWTおよびSWTによる、スタンバイTimesTenデータベースからOracle Databaseへの書込みが機能しています。

- Oracle DatabaseからアクティブTimesTenデータベースへのリフレッシュが機能しています。

2. ttCWAdmin -status -dsn yourDSNコマンドを入力して、次のことを確認します。

- アクティブ・データベースは、スタンバイ・データベースとは違うホストにあります。

- アクティブ・データベースの状態は'ACTIVE'で、ステータスは'AVAILABLE'です。

- スタンバイ・データベースの状態は'STANDBY'で、ステータスは'AVAILABLE'です。

3. アクティブ・データベースでttStatusコマンドを入力して、次のことを確認します。

- ttCRSactiveserviceおよびttCRSmasterプロセスが実行されています。

- サブデーモンおよびレプリケーション・エージェントが実行されています。

- アクティブ・スタンバイ・ペアのレプリケーション・スキームにキャッシュ・グループが含まれている場合、キャッシュ・エージェントは実行されています。

4. スタンバイ・データベースでttStatusコマンドを入力して、次のことを確認します。

- ttCRSsubserviceおよびttCRSmasterプロセスが実行されています。

- サブデーモンおよびレプリケーション・エージェントが実行されています。

- アクティブ・スタンバイ・ペアのレプリケーション・スキームにキャッシュ・グループが含まれている場合、キャッシュ・エージェントは実行されています。

スタンバイ・データベースの停止

スタンバイ・データベースを停止するには、次の手順を実行します。

1. 次のようなOracle Clusterwareコマンドを入力して、スタンバイ・データベースのホスト上のOracle Clusterwareマスター・プロセス、デーモン・プロセスおよびエージェント・プロセスの名前を取得します。grep TTによって出力がフィルタされています。

crsctl status resource -n standbyHostName | grep TT

2. Oracle Clusterwareコマンドを使用してスタンバイ・データベースを停止します。Oracle Clusterwareコマンドは、スタンバイ・データベースのマスター・プロセス、TimesTenインストールのデーモン・プロセスおよびTimesTenインストールのエージェント・プロセスを停止します。

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

3. TimesTenメイン・デーモンを停止します。

ttDaemonAdmin -stop

ttDaemonAdmin -stopコマンドでエラー10028が発生する場合は、コマンドを再試行してください。

スタンバイ・データベースのインプレース・アップグレードの実行

次の手順で、スタンバイ・データベースのTimesTenインスタンスのインプレース・アップグレードを実行します。

1. 現行のTimesTenリリースのインストール・メディアのsetup.shスクリプトを使用して、インプレース・アップグレードを実行します。インプレース・アップグレードは、スタンバイ・データベースの11.2.2.x.xインストールより前のものをアンインストールします。現行リリースの新しいインストールは、同じディレクトリ構造にインストールする必要があります。
インプレース・アップグレードは、スタンバイ・データベースに次のファイルを維持する必要があります。

- スタンバイ・データベース・ファイル(チェックポイント・ファイル、トランザクション・ログ・ファイルなど)

- sys.odbc.ini

- ttendaemon.options

- cluster.oracle.ini
(このファイルの詳細は『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のcluster.oracle.iniファイルによるOracle Clusterware管理の設定に関する説明を参照してください。)

- ttcrsagent.options
このファイルの関連情報については、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』の各ホストへのTimesTenインストールに関する説明およびTimesTenクラスタ・エージェントの開始に関する説明を参照してください。

- tnsnames.ora

「インプレース・アップグレードの例」を参照してください。

2. Oracle Clusterware用の新しいインストールを構成します。

スタンバイ・データベースを起動します。

スタンバイ・データベースを起動するには、次の手順を実行します。

1. 次のttCWAdminコマンドを入力して、TimesTenメイン・デーモン、TimesTen Oracle Clusterwareエージェント・プロセスおよびTimesTen Oracle Clusterwareデーモン・プロセスを起動します。

ttCWAdmin -init -hosts localhost

2. スタンバイ・データベースの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

数多くのホストのペアでの複数アクティブ・スタンバイ・ペのアップグレード

前の項「1つのアクティブ・スタンバイ・ペアに対応したアップグレード・タスク」のとおり、複数ペアのホストで複数のアクティブ・スタンバイ・ペアのTimesTenインスタンスをアップグレードする処理は、2つのホストで1つのアクティブ・スタンバイ・ペアをアップグレードする処理と基本的に同じです。アクティブ・スタンバイ・ペアのアップグレードを一度に実行するのがベスト・プラクティスです。

ttCWAdmin -statusコマンドを使用して、Oracle Clusterwareによって管理されているデータベースの状態を調べます。

1つのホスト・ペアでの複数アクティブ・スタンバイ・ペアのアップグレード

前の項「数多くのホストのペアでの複数アクティブ・スタンバイ・ペのアップグレード」の説明のとおり、複数のアクティブ・スタンバイ・ペアは複数ペアのホスト上に存在できます。または、複数のアクティブ・スタンバイ・ペアはホストの1つのペア上で構成できます。1つのシナリオとして、すべてのアクティブ・データベースを1つのホストで稼働させ、すべてのスタンバイ・データベースを別のホストで稼働させることができます。より典型的なシナリオでは、ワークロードのバランスを向上させるため、各ホストで複数のアクティブ・データベースとスタンバイ・データベースを稼働させることができます。

図3-1に、Oracle Clusterwareによって管理されている2つのホスト上の2つのアクティブ・スタンバイ・ペアを示します。host1上のactive1というアクティブ・データベースは、host2上のstandby1にレプリケートされます。host2上のactive2というアクティブ・データベースは、host1上のstandby2にレプリケートされます。両方のスタンバイ・データベースからのAWT更新は、Oracle Databaseに伝播されます。Oracle Databaseからの読取り専用の更新は、アクティブ・データベースに伝播されます。

図3-1 2つのホスト上の複数のアクティブ・スタンバイ・ペア

この構成の場合、キャッシュ・グループ用の書込みスループットが増え、リソースの使用のバランスが向上することがあります。この種類の構成において、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つのホストに切り替わると、「スタンバイ」ホスト全体をアップグレードするために次の手順を実行します。

インプレース・アップグレードは、TimesTenインストール全体と、1つのホスト上にある関連のデータベースに影響を及ぼすことに注意してください。

1. スタンバイ・データベースが目的のホストで実行されることを確認します。ttCWAdmin -status -dsn DSNコマンドおよびttCWAdmin -statusコマンドを使用します。

2. Oracle Clusterware stopコマンドを変更して、すべてのスタンバイ・データベースがあるホスト上のすべてのマスター・プロセスを停止します。

3. Oracle Clusterware startコマンドを変更して、すべてのスタンバイ・データベースがあるホスト上のすべてのマスター・プロセスを起動します。

次の項では、関連した例について説明します。

- 構成ファイルの例: 1つのホストのペア上の複数アクティブ・スタンバイ・ペア

- スクリプトの例: 1つのホスト上での複数スタンバイ・プロセスの停止および開始

構成ファイルの例: 1つのホストのペア上の複数アクティブ・スタンバイ・ペア

次にsys.odbc.iniエントリの例を示します。

[databasea]
Driver=/scratch/terry/TimesTen/upgrade2/lib/libtten.so
DataStore=/scratch/terry/ds/databasea
PermSize=40
TempSize=32
PLSQL=1
DatabaseCharacterSet=WE8MSWIN1252
OracleNetServiceName=ORCL

[databaseb]
Driver=/scratch/terry/TimesTen/upgrade2/lib/libtten.so
DataStore=/scratch/terry/ds/databaseb
PermSize=40
TempSize=32
PLSQL=1
DatabaseCharacterSet=WE8MSWIN1252
OracleNetServiceName=ORCL

[databasec]
Driver=/scratch/terry/TimesTen/upgrade2/lib/libtten.so
DataStore=/scratch/terry/ds/databasec
PermSize=40
TempSize=32
PLSQL=1
DatabaseCharacterSet=WE8MSWIN1252
OracleNetServiceName=ORCL

[databased]
Driver=/scratch/terry/TimesTen/upgrade2/lib/libtten.so
DataStore=/scratch/terry/ds/databased
PermSize=40
TempSize=32
PLSQL=1
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属性に指定されているホスト名の順序を反転させます。

スクリプトの例: 1つのホスト上の複数のスタンバイ・プロセスの停止および起動

次のようなOracle Clusterwareコマンドを入力して、スタンバイ・データベースのホスト上のOracle Clusterwareマスター・プロセス、デーモン・プロセスおよびエージェント・プロセスの名前を取得します。grep TTによって出力がフィルタされています。

crsctl status resource -n standbyHostName | grep TT

次のスクリプトは、Oracle Clusterwareが管理する同じホスト上の複数のデータベース用のスタンバイの停止スクリプトの例です。TimesTenインスタンス名は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

インプレース・アップグレードの例

この項では、インプレース・アップグレードの例について説明します。

% ./setup.sh

There is 1 TimesTen instance installed locally :

1) sb1122 (TimesTen11.2.2.4)

Of the following options :

[1] Install a new instance
[2] Upgrade an existing instance
[3] Display information about an existing instance
[q] Quit the installation

Which would you like to perform? [ 1 ] 2

NOTE: There is only one instance which can be upgraded.

Instance Name          : sb1122
Product Installed      : TimesTen11.2.2.4
Installation Directory : /scratch/sboand/TimesTen/sb1122
BitLevel               : 64
Component Installed    : Client/Server and DataManager
Daemon Port            : 33333

NOTE: Upgrading will remove the selected instance (and any directories or files
under its path) and then re-install into the same directory. You will
have the option to retain configuration files in :
/scratch/sboand/TimesTen/sb1122/info

Would you like to upgrade this instance? [ yes ]

NOTE: <install_dir>/info contains information related to the data
stores that have been created with this release. If you remove
/scratch/sboand/TimesTen/sb1122/info
you will no longer be able to access your data stores,
nor would you be able to restore nor migrate your data.

Would you also like to remove all files in <install_dir>/info? [ no ]
Would you like to remove the DemoDataStore directory in
/scratch/sboand/TimesTen/sb1122/info/DemoDataStore? [ yes ] no
Would you also like to remove all files in <install_dir>/network/admin/samples? [ no ]
/scratch/sboand/TimesTen/sb1122 Removed (retained <install_dir>/info)
TimesTen uninstall completed.

Of the three components:
[1] Client/Server and Data Manager
[2] Data Manager Only
[3] Client Only

Which would you like to install? [ 1 ]
Upgrading installation in /scratch/sboand/TimesTen/sb1122
Where would you like to create the daemon home directory?
[ /scratch/sboand/TimesTen/sb1122/info ]

The daemon logs will be located in /scratch/sboand/TimesTen/sb1122/info
Would you like to specify a different location for the daemon logs? [ no ]
Installing into /scratch/sboand/TimesTen/sb1122 ...
Uncompressing ...

NOTE: For security, we recommend that you restrict access to the
TimesTen installation to members of a single OS group. Only members of
that OS group will be allowed to perform direct mode connections to
TimesTen, and only members of that OS group will be allowed to perform
operations that access TimesTen data stores, TimesTen files and shared
memory. The OS group defaults to the primary group of the instance
administrator. You can default to this group, choose another OS group
or you can make this instance world-accessible. If you choose to make
this instance world-accessible, all database files and shared memory
are readable and writable by all users.

Restrict access to the TimesTen installation to the group 'g900'? [ yes ]

NOTE: Enabling PL/SQL will increase the size of some TimesTen libraries.

Would you like to enable PL/SQL for this instance? [ yes ]

Do you want to replace the ttendaemon.options file in
/scratch/sboand/TimesTen/sb1122/info? [ yes ] no

NOTE: The existing daemon options file has been retained. The default options
file was written as
/scratch/sboand/TimesTen/sb1122/info/ttendaemon.options.sb1122.

In order to use the 'TimesTen 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/ttModInstall.

A value for TNS_ADMIN (/scratch/sboand/TimesTen/sb1122/network/admin/samples) was
found in the previous daemon options file.

Please enter a value for TNS_ADMIN (s=skip)?
[ /scratch/sboand/TimesTen/sb1122/network/admin/samples ] s

Installing server components ...
What is the TCP/IP port number that you want the TimesTen Server to listen on?
[ 33334 ]
Do you want to install QuickStart and the TimesTen Documentation? [ no ]
Would you like to install the documentation (without QuickStart)? [ yes ] no

An existing cluster.oracle.ini file has been detected in
/scratch/sboand/TimesTen/sb1122/info.

Would you like to replace the existing cluster.oracle.ini file? [ no ]

The existing cluster.oracle.ini file will be used.
The sample cluster.oracle.ini file will be saved as
'/scratch/sboand/TimesTen/sb1122/info/cluster.oracle.ini.tt1122'.

An existing sys.odbc.ini file has been detected in
/scratch/sboand/TimesTen/sb1122/info.

NOTE: You may not be able to successfully run the demos if you keep your
existing sys.odbc.ini file. If you choose to replace the existing
file, a backup will be made automatically.

Would you like to replace the existing
/scratch/sboand/TimesTen/sb1122/info/sys.odbc.ini file ? [ no ]

The existing sys.odbc.ini file will be used.
The sample sys.odbc.ini file will be saved as
'/scratch/sboand/TimesTen/sb1122/info/sys.odbc.ini.sb1122'.

An existing tnsnames.ora file has been detected in
/scratch/sboand/TimesTen/sb1122/network/admin/samples.

Would you like to replace the existing
/scratch/sboand/TimesTen/sb1122/network/admin/samples/tnsnames.ora file ? [ no ]

The existing tnsnames.ora file will be used.
The sample tnsnames.ora file will be saved as
'/scratch/sboand/TimesTen/sb1122/network/admin/samples/tnsnames.ora.tt1122'.

Installing client components ...

An existing sys.ttconnect.ini file has been detected in
/scratch/sboand/TimesTen/sb1122/info.

NOTE: You may not be able to successfully run the Client/Server demos if you keep
your existing sys.ttconnect.ini file. If you choose to replace the existing
file, a backup will be made automatically.

Would you like to replace the existing
/scratch/sboand/TimesTen/sb1122/info/sys.ttconnect.ini file ? [ no ]

The existing sys.ttconnect.ini file will be used.
The sample sys.ttconnect.ini file will be saved as
'/scratch/sboand/TimesTen/sb1122/info/sys.ttconnect.ini.sb1122'.

Would you like to use TimesTen Replication with Oracle Clusterware? [ no ] yes

A Clusterware installation was detected in /scratch/oracle/crs/app/11.2.0/grid

Please provide the path to the Oracle Clusterware installation on this machine
(s=skip)? [ /scratch/oracle/crs/app/11.2.0/grid ]

NOTE: The TimesTen Clusterware agent port must be the same on all nodes
of the cluster. Please refer to the TimesTen documentation for
additional information.

Please enter a port number for the TimesTen Clusterware agent? [ 33339 ]

Executing '/scratch/oracle/crs/app/11.2.0/grid/bin/olsnodes' ...
Oracle Clusterware is currently configured on the following nodes :

1. host1
2. host2
3. host3
4. host4
5. host5

NOTE: By default, all of the nodes listed above will be added to the TimesTen
Replication with Oracle Clusterware configuration. You can also
specify your own list of nodes based on the list above.

Would you like to specify a node list for TimesTen Replication with Oracle
Clusterware? [ no ] yes
From the nodes above, please provide a list of nodes that you would like to add
(ex: 1,2 or skip)? [  ] 4,5

TimesTen Replication with Oracle Clusterware will be configured for the following nodes :

host4
host5

Are you sure? [ yes ]
Overwrite the existing TimesTen Clusterware options file? [ no ]
The new TimesTen Clusterware options file will be located here :
/scratch/sboand/TimesTen/sb1122/info/ttcrsagent.options.tt1122.

NOTE: The TimesTen daemon startup/shutdown scripts have not been installed.

Run the 'setuproot' script :
cd /scratch/sboand/TimesTen/sb1122/bin
./setuproot -install
This will move the TimesTen startup script into its appropriate location.

The startup script is currently located here :
'/scratch/sboand/TimesTen/sb1122/startup/tt_sb1122'.

The documentation was not installed.
To manually install the documentation, run the command 'setup.sh -installDoc'

The 11.2.2.6 Release Notes are located here :
'/scratch/sboand/TimesTen/sb1122/README.html'

Starting the daemon ...
TimesTen Daemon startup OK.
End of TimesTen installation.

パラレル・レプリケーション使用時のアップグレード

自動パラレル・レプリケーションがデフォルトで有効化されます(TimesTenリリース11.2.2.2.0以上)。11.2.2の古いリリースおよびリリース11.2.1では、ユーザー独自のレプリケーションが利用可能でしたが、自動パラレル・レプリケーションは利用できませんでした。リリース11.2.2.8.0のTimesTenでは、コミット依存性を無効にした自動パラレル・レプリケーションが利用可能です。

注意:
『Oracle TimesTen In-Memory Databaseリファレンス』に記載されているReplicationApplyOrdering属性の値は変更されています。リリース11.2.2.2.0以上では、値0によって自動パラレル・レプリケーションが有効化されます。11.2.2.2.0よりも前のリリースでは、値0によってユーザー独自のパラレル・レプリケーションを無効化します。リリース11.2.2.8.0以上では、値に2を指定すると、コミット依存性を無効にして自動パラレル・レプリケーションを有効にすることができます。

パラレル・レプリケーションが有効でないデータベースから、パラレル・レプリケーションが有効なこのリリースのデータベースに、オンラインまたはオフラインのアップグレードを実行できます(コミット依存性は有効または無効)。

ここからは、オフライン・アップグレードが必要となるシナリオとともに、追加の考慮事項を説明します。

パラレル・レプリケーションに関する考慮事項

パラレル・レプリケーションを使用するシステムをアップグレードする際は、次の考慮事項に留意してください。

- パラレル・レプリケーションを有効にしないアクティブ・スタンバイ・ペアを考慮します。TimesTenインスタンスをリリース11.2.2.3.0以上にアップグレードして自動パラレル・レプリケーションを使用するには(ReplicationApplyOrdering属性のデフォルト値は0)、アクティブ・スタンバイ・ペアをアップグレードする適切な手順を実行します。「アクティブ・スタンバイ・ペア・レプリケーションを使用したアップグレードの実行」を参照してください。

- キャッシュ・グループがなく、自動パラレル・レプリケーションが有効なアクティブ・スタンバイ・ペア(ReplicationApplyOrderingの属性で値が0)を考えてみます。TimesTenインスタンスをリリース11.2.2.8.0以上にアップグレードし、コミット依存性を無効にして自動パラレル・レプリケーションを使用する(ReplicationApplyOrdering属性の値が2)には、アクティブ・スタンバイ・ペアをオンライン・メジャー・アップグレードする手順を実行します。「アクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード」を参照してください。データベースをリストアする前に、ReplicationApplyOrdering属性の値は0から2に変更する必要があります。例:

ttMigrate -r "DSN=master2;ReplicationApplyOrdering=2;ReplicationParallelism=2;
LogBufParallelism=4" master2.bak

注意:
同じアクティブ・スタンバイ・ペアのオンライン・メジャー・アップグレード手順を使用すれば、ReplicationApplyOrdering=2のレプリケーション・スキームを持つTimesTenデータベースを、ReplicationApplyOrdering=0のデータベースにアップグレードできます。
コミット依存性を無効にした自動パラレル・レプリケーションでは、キャッシュ・グループなしの非同期アクティブ・スタンバイ・ペアのみがサポートされます。詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』のパラレル・レプリケーションの構成に関する説明を参照してください。

- ReplicationParallelism属性が1よりも大く、ReplicationApplyOrdering属性の値が異なるデータベース同士ではレプリケートできません。

オフライン・アップグレードが必要なシナリオ

次のシナリオの場合、オフライン・アップグレードを使用する必要があります。

- ユーザー指定のパラレル・レプリケーションから自動パラレル・レプリケーションへ移行する場合。たとえば、11.2.2.3.0よりも前のリリースから、ReplicationApplyOrdering属性をデフォルト値(0)に設定したリリース11.2.2.3.0以上への場合。

- 自動パラレル・レプリケーション環境から、ReplicationParallelism属性の値によって示されるように異なるトラック数を持つ別の自動パラレル・レプリケーション環境へ移行する場合。

- メジャー・リリース間(11.2.1.x.xから11.2.2.x.xなど)を移行し、非同期ライトスルー・キャッシュ・グループを使用する場合。

- 11.2.1.x.xにおける非同期ライトスルーの通常のレプリケーションから、11.2.2.x.xの非同期ライトスルーの自動パラレル・レプリケーションへ移行する場合。

オフライン・アップグレードの場合、「オフライン・アップグレードの実行」に記載されている手順を使用できます。あるいは、一方をアップグレードし、ttRepAdmin -duplicate -recreateコマンドを使用して新規データベースを作成できます。

構成済のレプリケーションを使用したアップグレードの記録

データベースでレプリケーションを構成すると、ttMigrate -rコマンドを実行するたびに、接頭辞ttrep_schema_version-が付いた表の新しいセットが作成されます。これらの表には、リリース間にわたるレプリケーション・スキームの履歴が提供されます。

これらの表は、領域を大幅に消費するようなことはありません。また、アップグレードの問題をデバッグする際に役立ちます。ただし、ttMigrateを実行してもレプリケーションで問題が発生しなかった場合は、これらの表を削除することができます。

たとえば、2つの移行を実行した後、データベースに次のような表が含まれる場合があります。

TTREP_SCHEMA_VERSION_004.REPELEMENTS
TTREP_SCHEMA_VERSION_004.REPLICATIONS
TTREP_SCHEMA_VERSION_004.REPPEERS
TTREP_SCHEMA_VERSION_004.REPSTORES
TTREP_SCHEMA_VERSION_004.REPSUBSCRIPTIONS
TTREP_SCHEMA_VERSION_004.REPTABLES
TTREP_SCHEMA_VERSION_004.TTSTORES
TTREP_SCHEMA_VERSION_005.REPELEMENTS
TTREP_SCHEMA_VERSION_005.REPLICATIONS
TTREP_SCHEMA_VERSION_005.REPPEERS
TTREP_SCHEMA_VERSION_005.REPSTORES
TTREP_SCHEMA_VERSION_005.REPSUBSCRIPTIONS
TTREP_SCHEMA_VERSION_005.REPTABLES
TTREP_SCHEMA_VERSION_005.TTSTORES

クライアント/サーバーのオンライン・アップグレードの実行

TimesTen Serverは、TimesTen Client ODBCドライバ・リリース6.0以上にリンクされているすべてのユーザー・アプリケーションと直接通信できます。TimesTen Client/Serverインストールをアップグレードする場合、データベースへのクライアント・アクセスの要件に応じて少なくとも次の2つの方法があります。

- アップグレード対象のTimesTenインスタンスのデータベースをクライアント・アプリケーションで継続して使用可能にする必要がない場合は、以前のバージョンのサーバーを停止し、ttMigrateを使用してデータベースの移行を実行した後で、新しいリリースのサーバーを起動できます。新バージョンのサーバーは、以前のリリースと同じサーバー・ポートでリスニングが行われるように構成する必要があります。

- データベースをクライアント・アプリケーションで継続して使用可能にする必要がある場合は、「レプリケーションを使用したオンライン・アップグレードの実行」の手順を実行して、データベースの1つ目のコピーの移行時に2つ目のコピーを継続して使用可能にすることができます。

クライアント/サーバーのオンライン・アップグレード

最小限の再構成で新しいメジャー・リリースへのTimesTen Client/Serverシステムのオンライン・アップグレード(11.2.1.x.xから11.2.2.x.xなど)を実行するには、次の手順を実行します。

1. 以前のリリースのTimesTenのTimesTen Serverを停止します。この時点から新しいリリースのTimesTen Serverが起動される時点まで、クライアント・アプリケーションからデータベースにアクセスすることはできません。クライアントでデータベースを更新しようとしても正常には実行されないため、必要に応じて、ユーザー・アプリケーションを停止する必要があります。

2. 新しいリリースのTimesTenをインストールします。インストール時に、以前のリリースのTimesTenと同じポートでリスニングが行われるようにサーバーを構成します。

3. ttMigrateを使用してデータベースを以前のリリースから新しいリリースに移行します。この手順の例については、「TimesTenの他のメジャー・リリースへの移行」を参照してください。

4. 新しいリリースのTimesTen Serverを起動します。これで、アップグレード後のデータベースにクライアント・アプリケーションからアクセスできるようになります。

注意:
この手順では、両方のリリースのTimesTen Serverが同じポートでリスニングを行うように構成されているため、以前のリリースのサーバーを再起動するには、まず、異なるポートでリスニングが行われるようにそのサーバーを構成する必要があります。

データベースに継続してアクセスした状態でのクライアント/サーバーのオンライン・アップグレード

ttMigrateを使用してデータベースを移行するプロセスは、データベースが非常に大規模な場合、時間がかかる可能性があります。クライアント/サーバーのオンライン・アップグレード手順の実行時にクライアント・アプリケーションからデータベースにほとんど途切れずアクセスする必要がある場合は、次の手順を実行して、オンライン・アップグレードを実行する手順をレプリケーションに統合することができます。

1. 以前のリリースと同じポートでリスニングが行われるようにTimesTen Serverが構成されていることを確認して、新しいリリースのTimesTenをインストールします。インストール・スクリプトで、新しいサーバーを起動するかどうかを尋ねられます。noと答える必要があります。

2. 「レプリケーションを使用したオンライン・アップグレードの実行」の手順を実行して、データベースのいずれかのコピーでTimesTenインスタンスをアップグレードします。クライアント・アプリケーションはもう一方のアップグレードされないデータベースのコピーに接続されたままです。

3. すべてのクライアントを以前のリリースのデータベースから切断します。

4. 以前のリリースのTimesTen Serverを停止します。

5. 以前のリリースから新しいリリースへのデータベースのすべての更新が終了するまで待機します。

6. 新しいリリースのTimesTen Serverを起動します。これは以前のリリースと同じポートでリスニングを開始するため、構成を変更せずにクライアント・アプリケーションを新しいリリースのデータベースに接続できるようになります。

A Oracle TimesTen In-Memory Databaseのライセンス情報

この章にはOracle TimesTen In-Memory Databaseのライセンス情報が記載されています。この項の内容は次のとおりです。

- ライセンス・オプション

- Oracle TimesTen製品コンポーネント

ライセンス・オプション

Oracle TimesTen In-Memory Databaseは、後述のTimesTen製品コンポーネントを参照する4つのライセンス・オプションで利用できます。

Oracle TimesTen In-Memory Database

Oracle TimesTen In-Memory Databaseライセンスには、次の製品コンポーネントによって提供される機能が含まれます。

- TimesTen基本機能

- TimesTenインメモリー解析

- TimesTenレプリケーション

Oracle TimesTen Application-Tier Database Cache

Oracle TimesTen Application-Tier Database Cacheのライセンスには、次の製品コンポーネントによって提供される機能が含まれます。

- TimesTen基本機能

- Oracle DatabaseからのTimesTenのキャッシュ

- TimesTenレプリケーション

このライセンスでは、ソース・データベースにOracle Database Enterprise Editionのライセンスが必要です。

Oracle TimesTen Application-Tier Database Cache for Oracle Applications

TimesTen Application-Tier Database Cache for Oracle Applicationsライセンスでは、TimesTen Application-Tier Database Cache製品で提供される機能と同じ機能が提供されます。

このライセンスはOracle Billing and Revenue Management (BRM)サーバー製品とともに使用する場合のみ使用可能です。

Oracle TimesTen In-Memory Database forExalytics

TimesTen In-Memory Database for Exalyticsライセンスには、次の製品コンポーネントによって提供される機能が含まれます。

- TimesTen基本機能

- TimesTenインメモリー解析

- Oracle Exalytics In-Memory Machine上で稼働するメモリー内レポートおよび分析のためのOracle Business Intelligence (OBI)サーバーとの統合

Oracle TimesTen製品コンポーネント

TimesTen基本機能

- ディスク記憶域およびフラッシュ・ストレージで持続するリレーショナル・インメモリー・データベース

- ACIDプロパティによるSQL問合せ処理およびトランザクション処理

- データベース操作と管理のためのユーティリティおよび組込みプロシージャ

- 直接リンクとクライアント/サーバー接続をサポートするJDBC、ODBC、OCI (Oracle Call Interface)、ODP.NET、PL/SQLなどのアプリケーション・プログラミング・インタフェース

- TimesTenデータベース・アプリケーション開発向けSQL Developerのサポート

- Oracle Enterprise Manager向けTimesTenプラグイン

- 後述の各項で明示的に定義されていないその他すべての機能

TimesTenインメモリー解析

- インメモリー列圧縮

- Cube、Grouping Set、RollupなどのOLAPグループ演算子

- Star-Join問合せパフォーマンスの最適化

TimesTenレプリケーション

- TimesTenデータベース間のリアルタイム・トランザクション・レプリケーション

- クラシック・アクティブ・スタンバイ、アクティブ・スタンバイ・ペア、読取り専用サブスクライバによるアクティブ・スタンバイ・ペアなどのすべてのレプリケーション・トポロジ

- Oracle Clusterwareを使用するTimesTenデータベース、プロセス、およびアプリケーションの自動フェイルオーバー管理。

Oracle Clusterwareを使用したアクティブ・スタンバイ・ペアの管理は、いずれかのTimesTen製品ライセンスのOracle Supportの契約が有効な場合は追加のライセンス料なしで利用できます。

Oracle DatabaseからのTimesTenのキャッシュ

- TimesTenデータベースとOracle Database間の自動データ同期によるOracle Database表のTimesTenデータベースへのキャッシュ

- キャッシュ・グループ機能

- キャッシュ表の自動データ同期による読取り/書込みおよび読取り専用アクセス

- 複数ノード・キャッシュ・グリッド機能

索引
A  B  C  D  E  F  G  H  I  J  L  M  N  O  P  Q  R  S  T  U  W

A

アクセス制御

アップグレード, 3.1.4

アクティブ・スタンバイ・ペア

オフライン・メジャー・アップグレード(キャッシュ・グループあり), 3.6.3.1

オンライン・メジャー・アップグレード(キャッシュ・グループなし), 3.6.1.3

オンライン・メジャー・アップグレード(読取り専用キャッシュ・グループあり), 3.6.2.3

アクティブのオンライン・マイナー・アップグレード(キャッシュ・グループなし), 3.6.1.2

アクティブのオンライン・マイナー・アップグレード(キャッシュ・グループあり), 3.6.2.2

スタンバイおよびサブスクライバのオンライン・マイナー・アップグレード(キャッシュ・グループなし), 3.6.1.1

スタンバイおよびサブスクライバのオンライン・マイナー・アップグレード(キャッシュ・グループあり), 3.6.2.1

アップグレード, 3.6

データベースの変更

断片化, サイズの縮小, 2.4.2

概要, 2.1

他のディレクトリへの移動, 2.4.1

データベース・サイズの縮小, 2.4.2

自動クライアント・フェイルオーバー, UDPの前提条件, 1.3

B

バックアップ

データベース, 2.2

完全, 2.2.2

増分, 2.2.2

ストリーム, 2.2.2

タイプ, 2.2.2

C

キャラクタ・セット, 3.1.2.1

移行上の問題, 2.5.1

TIMESTEN8, 2.5.1

CLASSPATH変数

Java, 1.12.2.7.1

クライアント

UNIX, 1.2.1

クライアント/サーバー

アップグレード, 3.11

クライアント/サーバーのオンライン・アップグレード, 3.2.4 互換性, 3.1.1.1 コンポーネント, 1.2

TimesTen, 1.8.1

UNIX, 1.2.1

Windows, 1.2.2

データベースのコピー, 2.1

D

デーモン

ホーム・ディレクトリ(UNIX), 1.7.1

ホーム・ディレクトリ(Windows), 1.8.1

情報メッセージ, 1.7.2

ポート番号, 1.1.2

ポート番号, 変更, 1.7.3

Data Manager

UNIX, 1.2.1

データ型

互換性, 3.1.1.1

変換, 3.1.1.2

Oracle Databaseデータ型への変換(7.0より前からのアップグレード), 3.1.1.2.1

TimesTen型の保持(7.0より前からのアップグレード), 3.1.1.2.2

データベース

変更, 2.1

バックアップ, 2.2

キャラクタ・セット, 3.1.2.1

コピー, 2.1

移行, 2.1

移動, 2.4.1

サイズ, 縮小, 2.4.2

状態, 3.3.1

アンロード, 3.3.1

アップグレード, 3

メジャー・リリース, 3.4.1

マイナー・リリース(オフライン), 3.4.2

DatabaseCharacterSet属性, 3.1.2.1, 3.1.2.3 データベースの最適化, 2.4.2 デモ・アプリケーション

インストール, 1.13

ディレクトリ

デフォルト, 1.4

一時, 1.4

構成, 1.4

ディレクトリ権限, 1.6.2 ドキュメント

表示, 1.14

DSN

定義, 1.12.2.3

DYLD_LIBRARY_PATH変数, 1.12.2.6

E

環境

DYLD_LIBRARY_PATH変数, 1.12.2.6

LD_LIBRARY_PATH変数, 1.12.2.6, 1.12.2.6

LIB変数, 1.12.2.6

LIBPATH変数, 1.12.2.6

ODBCINI変数, 1.12.2.2

PATH変数, 1.12.2.1, 1.12.2.7.4

SYSODBCINI変数, 1.12.2.3

SYSTTCONNECTINI変数, 1.12.2.4

THREADS_FLAG変数, 1.12.2.7.3

TNS_ADMIN変数, 1.7.1, 1.8.1, 1.9.1, 1.12.2.5

変数, 1.12

環境変数

変更, 1.12.1

F

ファイル権限, 1.6, 1.6.2

データベースの断片化, サイズの縮小, 2.4.2

G

グリーン・スレッド, 1.12.2.7.3

グループ

オペレーティング・システム, 1.6

作成, 1.6.3.1

H

HugePages, Linux, 1.3.3.2

I

情報メッセージ, 1.8.5

インプレース・アップグレード, 3.2.1, 3.3

インストール, 1

デフォルトのディレクトリ, 1.4

デモ・アプリケーション, 1.13

Mac OS X, 1.9

前提条件, 1.3

一時ディレクトリ, 1.4

変更, 1.4

TimesTenインスタンス, 1.1 トラブルシューティング, 1.15 UNIX, 1.7, 1.9, 1.10 確認, 1.8.3 Windows, 1.8 インスタンス

複数のインストール, 1.1

名前, 1.1.1

ポート番号, 1.1.2

インスタンス

複数, 1.8

J

Java

CLASSPATH変数, 1.12.2.7.1

環境, 1.12.2.7

PATH変数, 1.12.2.7.4

共有ライブラリ・パス, 1.12.2.7.2

JDBC

グリーン・スレッド, 1.12.2.7.3

JDK要件, 1.3

ネイティブ・スレッド, 1.12.2.7.3

JDK

要件, 1.3

jmsxla.xml構成ファイル, 1.12.2.7.1

L

ラージ・ページ

Linux, 1.3.3.2

Windows, 1.3.5.1

LD_LIBRARY_PATH変数, 1.12.2.6, 1.12.2.6 LIB変数, 1.12.2.6 LIBPATH変数, 1.12.2.6 Linux

クライアント/サーバーの要件, 1.3.3.4

ラージ・ページの要件, 1.3.2.1, 1.3.3.2

要件, 1.3.3

セマフォの要件, 1.3.3.3

共有メモリーの要件, 1.3.3.1

LOG_USER syslog機能, 1.7.2

M

Mac OS X

インストール, 1.9

削除, 1.9.2

メジャー・アップグレード, 3.2 メッセージ

情報, 1.8.5

表示, 1.8.5

データベースの移行

概要, 2.1

他のコンピュータ(同一プラットフォーム)への移動, 2.3.1

他のプラットフォームへの移動, 2.3.2

マイナー・アップグレード, 3.2 データベースの移動, 2.4.1

N

名前

インスタンス, 1.1.1

ネイティブ・スレッド, 1.12.2.7.3

O

ODBCINI変数, 1.12.2.2

オフライン・アップグレード, 3.2.2, 3.4

オンライン

アップグレード

制限, 3.5.2

オンライン・アップグレード

レプリケーション, 3.5

レプリケーションを使用したオンライン・アップグレード, 3.2.3 オペレーティング・システム・グループ, 1.6

作成

UNIX, 1.6.3.1

Oracle Clusterware

Clusterwareを使用したTimesTenのオフライン・アップグレード, 3.7

Clusterwareを使用したTimesTenのオンライン・マイナー・アップグレード, 3.8

P

パラレル・レプリケーション

アップグレード, 3.9

PATH変数, 1.12.2.1, 1.12.2.7.4 権限

ディレクトリ, 1.6.2

ファイル, 1.6.2

PermSize属性, 2.4.2 ポート番号

デーモン, 変更, 1.7.3

インスタンス, 1.1.2

レプリケーション, 1.1.2

前提条件, 1.3

Q

クイック・スタート・デモ, 1.13

R

-remoteDaemonPortオプション, 1.1.2

レプリケーション

アクティブ・スタンバイ・ペアのアップグレード, 3.6

オンライン・アップグレード, 3.2.3, 3.5

ポート番号, 1.1.2

root

インストールの警告, 1.7.1

S

セマフォ

Linux, 1.3.3.3

Solaris, 1.3.4.2

UNIX, 一般, 1.3.1.2

setupスクリプト, 1.7.4, 1.9.1, 1.9.2 setup.exe, 1.8.1 setup.shスクリプト, 1.7.1, 1.9.1 共有ライブラリ・パス

Java, 1.12.2.7.2

データベースのサイズ, 縮小, 2.4.2 Solaris

プロジェクトの作成, 1.3.4.2

ファイル・システムの要件, 1.3.4.1

要件, 1.3.4

セマフォの要件, 1.3.4.2

syslog機能, 1.7.2 sys.odbc.iniファイル, 1.12.2.3 SYSODBCINI変数, 1.12.2.3 システムDSN, 1.12.2.3 sys.ttconnect.iniファイル, 1.12.2.4 SYSTTCONNECTINI変数, 1.12.2.4

T

TCP/IPポート番号, 1.1.2

THREADS_FLAG変数, 1.12.2.7.3

TimesTen

コンポーネント, 1.2, 1.8.1

UNIX, 1.2.1

Windows, 1.2.2

Data Manager

UNIX, 1.2.1

TimesTen Client

Mac OS X, 1.9

UNIX, 1.2.1

TimesTenデーモン, 1.1.2

ポート番号, 1.1.2

TNS_ADMIN変数, 1.7.1, 1.8.1, 1.9.1, 1.12.2.5 トラブルシューティング

インストール, 1.15

ttAdminユーティリティ, 3.3.1, 3.6.2.1 ttBackupユーティリティ, 2.1, 3.2.2 ttBulkCpユーティリティ, 2.1 ttDaemonLogユーティリティ, 1.8.5 ttDestroyユーティリティ, 2.1, 3.1.2.3 ttendaemon.optionsファイル, 1.7.2 ttenvスクリプト, 1.12.1 tterrors.logファイル, 1.8.5 ttMigrateユーティリティ, 2.1, 3.1.1.2.2, 3.2.2, 3.2.3, 3.4, 3.5.1 ttmodinstallユーティリティ, 1.7.3, 1.12.2.5 ttRepAdminユーティリティ, 3.3.1 ttRestoreユーティリティ, 2.1 ttSchemaユーティリティ, 2.1 ttStatusユーティリティ, 3.3.1 ttVersionユーティリティ

ポート番号の確認, 1.1.2

TypeMode属性, 3.1.1.2.2

U

自動クライアント・フェイルオーバーのためのUDPの前提条件, 1.3

削除

Mac OS X, 1.9.2

UNIX, 1.7.4

Windows, 1.8.6

UNIX

デーモン・ポート番号, 変更, 1.7.3

デフォルトのディレクトリ, 1.4

ファイル・システム・オプション, 1.3.1.1

情報メッセージ, 1.7.2

インストール, 1.7, 1.10

Java環境, 1.12.2.7

Javaの要件, 1.3.1.3

複数のインスタンス, 1.1

オペレーティング・システム・グループ

作成, 1.6.3.1

要件, 1.3.1 セマフォの要件, 1.3.1.2 TimesTenコンポーネント, 1.2.1 TimesTenの削除, 1.7.4 アンロード

データベース, 3.3.1

アップグレード, 3

アクセス制御, 3.1.4

アクティブなスタンバイ・ペア, 3.6

クライアント/サーバー, 3.2.4, 3.11

デバッグ, 3.10

インプレース, 3.2.1, 3.3

メジャー・リリース, 3.4.1

メジャー・アップグレード, 3.2

マイナー・リリース(アップグレード), 3.4.2

マイナー・アップグレード, 3.2

オフライン, 3.2.2, 3.4

オンライン

制限, 3.5.2

レプリケーション, 3.5

オンライン(レプリケーションを使用), 3.2.3 パラレル・レプリケーション, 3.9 Oracle Clusterware(オンライン)使用時のTimesTenのマイナー・バージョン・アップグレード, 3.8 Oracle Clusterwareを使用する場合のTimesTen (オフライン), 3.7

W

Windows

デフォルトのディレクトリ, 1.4

メモリー内のページのロックの付与, 1.3.5.1

情報メッセージ, 1.8.5

インストール, 1.8

確認, 1.8.3

Java環境, 1.12.2.7 ラージ・ページ, 1.3.5.1 複数のインスタンス, 1.1, 1.8 要件, 1.3.5.2 TimesTenコンポーネント, 1.2.2 削除, 1.8.6

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2015, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。