主コンテンツへ
Oracle® TimesTen In-Memory Database Scaleoutユーザーズ・ガイド
リリース18.1
E98636-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

2 TimesTen Scaleoutの前提条件とインストール

この章では、TimesTen Scaleoutを正常にデプロイするために必要な前提条件について説明します。次の各項では、グリッドで使用される各ホストの要件について説明します。

一般的な前提条件

TimesTen Scaleoutは、Linuxプラットフォームでのみサポートされています。サポートされているLinuxプラットフォームのバージョンは、ドキュメント・ライブラリのプラットフォームおよび構成の項を参照してください。特定のTimesTenリリースに関する最新情報は、インストール・ディレクトリにあるOracle TimesTen In-Memory Databaseリリース・ノート(README.html)を参照してください。

グリッドの管理およびデータ・インスタンスおよびメンバーシップ・サーバーを実行するすべてのホストで、次のステップを実行します。

  • 各ホストに同じバージョンおよびリリースのオペレーティング・システムをインストールします。

  • すべてのホストに対する同じタイム・ゾーンの構成

    ネットワークを設定する場合は、すべてのグリッド・コンポーネントに対する単一の内部ネットワークを作成し、相互に通信する必要があります。複数のクライアントが同じ内部ネットワークを使用してインスタンスに接続できますが、クライアント接続用の外部ネットワークを作成する場合があります。

  • NTP (ネットワーク・タイム・プロトコル)をインストールして構成します。クロックが同期されている必要があります。

  • グリッド内のすべてのインスタンスが、すべてのポートで内部ネットワークを介してグリッド内の他のすべてのインスタンスと通信できることを確認します。

  • インストール前後の問題を回避するために、ファイル・システムに十分な領域があることを確認します。(詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのTimesTenの記憶域のプロビジョニングを参照してください。)

オペレーティング・システムの前提条件

次の各項では、オペレーティング・システムの前提条件について説明します。

TimesTenユーザー・グループとオペレーティング・システム・ユーザーの理解

次の各項では、TimesTenユーザー・グループとオペレーティング・システム・ユーザー(インスタンス管理者として機能する)について説明し、これらの作成方法を示します。

TimesTenユーザー・グループ

TimesTenは、インストールおよびそのインストールから作成されたインスタンスへのアクセスを、単一のオペレーティング・システム・グループのメンバーに制限します。このグループはTimesTenユーザーグループと呼ばれ、インストールおよびインストールから作成されたインスタンスを所有します。このグループ(timestenなど)を作成し、インストールを実行する前に、必要なオペレーティング・システム・ユーザーを追加します。TimesTenユーザー・グループを作成すると、そのグループ名またはグループIDは変更できません。詳細は、TimesTenユーザー・グループとOSユーザーの作成を参照してください。

次の点に注意してください。

  • インスタンス管理者のプライマリ・グループは、TimesTenユーザー・グループである必要があります。

  • TimesTenユーティリティまたはダイレクト・モードのアプリケーションを介してデータベースにアクセスするユーザーは、TimesTenユーザー・グループのメンバーである必要があります。このグループは、ユーザーのプライマリまたはセカンダリ・グループにすることができます。

  • クライアント接続を介してデータベースに接続するユーザーは、TimesTenユーザー・グループのメンバーである必要はありません。

オペレーティング・システム・ユーザー

グリッドのすべてのインスタンスのインスタンス管理者は、アクティブな管理インスタンスを作成するオペレーティング・システム・ユーザーです。このユーザーが、TimesTen Scaleoutの他のすべてのインスタンス(2番目の管理インスタンスおよびすべてのデータ・インスタンスを含む)のインスタンス管理者になります。

次の点に注意してください。

  • インスタンス管理者は、ルート・ユーザーにすることはできません。

  • インスタンス管理者はグリッドを構成し、グリッドのデータベースを作成および管理し、グリッドのデータベースを起動および停止し、すべての管理アクティビティを実行し、バックアップおよびリストア操作を実行します。

  • インスタンス管理者がアクティブな管理インスタンスを作成した後は、この管理者を変更できません。

  • インスタンス管理者は、TimesTenユーザー・グループのメンバーです。詳細は、TimesTenユーザー・グループを参照してください。

  • インスタンス管理者のユーザー名とUID、およびTimesTenユーザー・グループのグループ名とグループID (GID)は、グリッド内のすべてのホスト(管理およびデータ・インスタンスが存在するホストなど)、およびすべてのSCPリポジトリ・ホストで同じである必要があります。

  • インストールとインスタンスの所有者(インスタンス管理者)は同じである必要があります。

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

この例では、instanceadminはオペレーティング・システム・ユーザーの名前で、timestenはTimesTenユーザー・グループの名前です。

  1. TimesTenユーザー・グループの作成グループIDが10000のグループにtimestenという名前を付けます。

    # sudo groupadd -g 10000 timesten
    
  2. UIDが55000instanceadminユーザーを作成し、このユーザーをtimestenプライマリ・グループに割り当てます。次に、instanceadminユーザーのパスワードを作成します。

    # sudo useradd -u 55000 -g timesten instanceadmin
    # sudo passwd instanceadmin
    

オペレーティング・システムのカーネル・パラメータの構成

インスタンスを実行するホストでカーネル・パラメータを構成する必要があります。

データ・インスタンスを実行するホストの場合:

管理インスタンスを実行するホストの場合:

shmmaxおよびshmallの構成

TimesTen Scaleout内のデータベースは複数の要素で構成されており、各要素にはデータベースのデータの一部が格納されています。各要素は、共有メモリー・セグメント内に存在します。Linuxでは、共有メモリー・セグメントは複数のページで構成されており、デフォルトのページ・サイズは通常4 KB (4,096バイト)です。デフォルトのページ・サイズを確認するには、getconf PAGESIZEコマンドを実行します。

% getconf PAGESIZE
4096

次の共有メモリーのカーネル・パラメータを構成して、共有メモリー・セグメントのサイズを制御します。

  • shmmax: 1つの共有メモリー・セグメントの最大サイズ(バイト単位)。この値は、要素の共有メモリー・セグメントの合計サイズに対応できる十分な大きさである必要があります。

  • shmall: システム全体のすべての共有メモリー・セグメントの合計サイズ。この値は、ページ・サイズ(4 KB)の倍数で表され、shmmaxの値以上にする必要があります。shmallの値は、物理RAMの合計量以下に設定することをお薦めします。物理メモリーの合計量を表示するには、Linux cat /proc/meminfoコマンドを実行します。

要素のサイズは、PermSizeTempSizeLogBufMBおよびConnections接続属性の値に基づいています。要素のサイズ設定の式は次のとおりです。

PermSize + TempSize + LogBufMB + 1 + (0.042 * Connections)

PermSizeTempSizeおよびLogBufMBの値はMB (メガバイト)で表されます。PermSizeTempSizeLogBufMBおよびConnectionsは、データベース定義ファイルで定義する接続属性です。これらの属性の値を定義しない場合は、デフォルト値が使用されます。各接続属性の詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのPermSize、TempSizeおよびLogBufMBを参照してください。

PermSize値の決定の詳細は、PermSize属性の値の決定を参照してください。PermSizeまたはTempSize属性の変更の詳細は、データベースの接続属性の変更を参照してください。

たとえば、各要素のPermSize値は32 GB (32,768 MB)、TempSize値は4 GB (4,096 MB)、LogBufMB値は1 GB (1,024 MB)、Connections値は2,048であると仮定します。サイズ設定の式を適用すると、各要素のサイズは次のようになります。

37975 MB (32768 MB + 4096 MB + 1024 MB + 1 + (0.042 MB * 2048))

ノート:

管理インスタンスを実行するホストの場合、shmmaxおよびshmallのサイズは、共有メモリー・セグメントのサイズに基づいて400 MB以上に設定します。より大きいshmmaxおよびshmallが他のアプリケーションで必要になる場合は、これらの設定を増やすことができます。

shmmaxおよびshmallの値は、データ・インスタンスを実行する各ホストで同じである必要があります。同様に、これらの値は管理インスタンスを実行する各ホストで同じである必要があります。


この例では、shmmaxおよびshmallのサイズを設定します。

  1. rootユーザーとして、/etc/sysctl.confファイルを編集し、kernel.shmmaxおよびkernel.shmallを変更します。要素のサイズは37,975 MBで、shmmaxおよびshmallの値は要素のサイズより大きくする必要があると仮定すると、この例の場合、shmmaxを48 GB (51,539,607,552バイト)、およびshmallを56GB (60,129,542,144バイト= 58,720,256 KB /4 KBページ・サイズ= 14,680,064 KBページ)に設定します。

    # sudo vi /etc/sysctl.conf
    ...
    kernel.shmmax=51539607552
    kernel.shmall=14680064
    
  2. 変更された/etc/sysctl.confファイルから設定を再ロードします。

    # sudo /sbin/sysctl -p
    
  3. Linux ipcs lmコマンドを実行して、現在のshmmaxおよびshmallの設定を表示します。max seg size (kbytes)shmmax値で、max total shared memory (kbytes)shmall値です。KBで表されるshmmax値は50,331,658 (51,539,607,552バイト)で、KBで表されるshmall値は58,720,256 (60,129,542,144バイト)です。

    % ipcs -lm
     
    ------ Shared Memory Limits --------
    max number of segments = 4096
    max seg size (kbytes) = 50331648
    max total shared memory (kbytes) = 58720256
    min seg size (bytes) = 1
    

ノート:

より大きいshmmaxおよびshmallが他のアプリケーションで必要となる場合は、これらの例のこれらの設定を増やすことができます。

HugePagesの構成

メモリー管理を効率化するためにHugePagesを構成できます。管理インスタンスを実行するホストの場合、HugePagesを構成する必要はありません。データ・インスタンスを実行するホストの場合、要素の共有メモリー・セグメントが256 GBを超える場合は、HugePagesを構成する必要があります。構成後は、HugePagesに割り当てられたメモリーは、Linuxシステム上のRAM合計から取得され、他の用途には使用できません。また、HugePagesメモリー・セグメントは自動的にロックされ、ファイル・システムにスワップできません。

HugePagesを構成するには、次のことを把握する必要があります。

  • 要素の共有メモリー・セグメントの最大サイズ

  • LinuxシステムのHugePagesページ・サイズ

  • インスタンス管理者のグループID

shmmaxおよびshmallの構成の項の例(要素のサイズは37,975 MBで、shmmax値は48 GB)、およびTimesTenユーザー・グループとOSユーザーの作成の項の例(instanceadminユーザーのグループIDは10000)を使用します。

  • 共有メモリー・セグメントの合計サイズは48 GBです。

  • HugePagesページ・サイズは2,048 KBです。(この値はプラットフォームごとに固定され、構成できません。)

    HugePagesページ・サイズを決定するには、Linux cat /proc/meminfo|grep Hugepagesizeコマンドを実行します。

    % cat /proc/meminfo | grep Hugepagesize
    Hugepagesize:       2048 kB
    
  • グループIDは10,000です。

    インスタンス管理者のグループIDを決定するには、instanceadminユーザーとしてログインし、Linux idコマンドを実行します。

    % id
    uid=55000(instanceadmin) gid=10000(g10000)groups=10000(g10000)
    

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

  1. 共有メモリー・セグメントの合計サイズ(MBで表される)をHugepagesizeの値(MBで表される)で除算して、HugePages数を決定します。この例では、要素の共有メモリー・セグメント合計は48 GB (49,152 MB)で、Hugepagesize値は2,048 KB (2 MB)です。

    49152 MB/ 2 MB = 24576 
    
  2. rootユーザーとして、/etc/sysctl.confファイルを編集し、vm.nr_hugepagesHugePages数(この例では24,576)に設定し、vm.hugetlb_shm_groupをインスタンス管理者のグループID (この例では10,000)に設定します。後者の設定により、HugePagesへのアクセスがグループのメンバーに制限されます。

    # sudo vi /etc/sysctl.conf
    ...
    ...
    vm.nr_hugepages=24576
    vm.hugetlb_shm_group=10000
    
  3. 変更された/etc/sysctl.confファイルから設定を再ロードします。

    # sudo /sbin/sysctl -p
    
  4. HugePagesが正しく構成されていることを確認するには、Linuxのcat/proc/meminfo|grep HugePagesコマンドを実行し、HugePages_Totalの値が24,576で、HugePages_Freeの値が24,576であることを確認します。

    % cat /proc/meminfo|grep HugePages
    HugePages_Total:   24576
    HugePages_Free:    24576
    ...
    

ノート:

  • データ・インスタンスを実行するホストの場合、これらのホストのHugePagesは同じである必要があります。

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

  • 256 GB以下のデータベースが、使用可能なHugePages領域に収まらない場合は、通常のページが使用されます。256 GBを超えるデータベースがHugePages領域に収まらない場合は、データベースをメモリーにロードできません。

  • TimesTen PL/SQL共有メモリー・セグメントは、構成されているHugePagesの割当ての一部を使用します(PLSQL_MEMORY_SIZE接続属性の値によって決定されます)。詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのPLSQL_MEMORY_SIZEを参照してください。

  • Linuxでは、HugePagesセグメントは自動的にロックされ、メモリー・セグメントはファイル・システム・スワップの対象になりません。したがって、HugePagesを構成する場合は、MemoryLock接続属性を設定する必要はありません。


memlock設定の変更

/etc/security/limits.confファイルのmemlockエントリは、ユーザーがロックできるメモリー量を制御します。これらのエントリはシステム・レベルで設定され、MemoryLock接続属性の設定とは異なります。管理インスタンスを実行するホストの場合、memlock設定の設定はオプションです。データ・インスタンスを実行するホストの場合、hard memlockおよびsoft memlockのエントリ(KBで表される)を、各要素の共有メモリー・セグメントのサイズに設定します。HugePagesが構成されている場合、memlock値は、共有メモリー・セグメントのサイズに対応できるように大きくする必要があります。そうしないと、要素がメモリーにロードされません

たとえば、instanceadminユーザーの場合、共有メモリー・セグメントの合計サイズが48 GB (49,152 MB)と仮定すると、memlockエントリを50,331,648 kB (49,152 * 1,024)に設定します。

  1. rootユーザーとして、/etc/security/limits.confファイルを編集し、instanceadminユーザーのmemlockエントリを50,331,648 KBに設定します。この値は、instanceadminユーザーがロックできるメモリーの合計量を示します。

    # sudo vi /etc/security/limits.conf
    ...
    ...
    instanceadmin soft   memlock 50331648
    instanceadmin hard   memlock 50331648
    
  2. 変更を反映するには、instanceadminユーザーとして、ログアウトして再度ログインします。


ノート:

データ・インスタンスを実行するホストの場合、これらのホストのmemlock設定は同じにする必要があります。同様に、管理インスタンスを実行するホストのmemlock設定を設定する場合、これらのホストのmemlock設定は同じにする必要があります。

セマフォ値の設定

TimesTenでは、データベースへの最大接続数に上限があります。データベース接続は次のもので構成されます。

  • ユーザー接続: ユーザー・アプリケーションによって確立されます

  • システム接続: TimesTenによって内部的に確立されます(接続数を48に設定)

ユーザー接続数は、ローカルのグリッド要素へのユーザー接続だけでなく、グリッドのすべての要素にわたるすべてのユーザー接続の合計です。たとえば、グリッドが10,000のコンカレント・アプリケーションをサポートする場合、データ・インスタンスを実行する各ホストは10,000の接続(およびシステム接続)をサポートするように構成する必要があります。

各ユーザー接続およびシステム接続(データベース接続)には1つのセマフォが割り当てられ、データベースのセマフォ合計は次のようになります。

Total semaphores = user connections (N) + system connections (48) + 
                   other required connections (107)

Total semaphores = N + 155

セマフォ設定は、/etc/sysctl.confkernel.sem構成ディレクティブにあります。

kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI

説明:

  • SEMMSLは、配列ごとのセマフォの最大数です。この値は、155と接続数の合計に構成します。

  • SEMMNSは、システム全体のセマフォの最大数です。ガイドラインとして、式SEMMNS = (SEMMNI * SEMMSL)を使用します。

  • SEMOPMは、semopコールごとの最大処理数です。

  • SEMMNIは、配列の最大数です。

次のステップに従って、SEMMSLおよびSEMMNSの設定を構成します(ユーザーは必ずrootにしてください)。

  1. 既存のカーネル・パラメータ設定を表示します。

    # /sbin/sysctl -a | grep kernel.sem
    kernel.sem = 2500 320000 1000 1280
    
  2. /etc/sysctl.confファイルを編集し、semmsl (kernel.semの最初の値)を155と接続数の合計に変更します。管理インスタンスを実行するホストの場合、接続数は400です。データ・インスタンスを実行するホストの場合、接続数は固定されていません。この例では、最大3,845の接続をサポートするために、semmsl値を4,000 (155 + 3,845)に設定します。semmns (kernel.semの2番目の値)を400,000に変更します。

    # sudo vi /etc/sysctl.conf
    ...
    ...
    kernel.sem = 4000 400000 2000 2560
    
  3. 変更された/etc/sysctl.confファイルから設定を再ロードします。

    # sudo /sbin/sysctl -p
    

ノート:

データ・インスタンスを実行するホストの場合、これらのホストのセマフォ値は同じである必要があります。同様に、管理インスタンスを実行するホストの場合、これらのホストのセマフォ値は同じである必要があります。

ネットワーク要件

ほとんどの本番環境で、TimesTen Scaleoutには1つのプライベート内部ネットワークと1つ以上の外部ネットワークが必要です。この項では、これらのネットワークの要件について説明します。

内部ネットワーク

グリッド内のインスタンスは、TCPプロトコルを使用して単一の内部ネットワーク経由で相互に通信します。TimesTen Scaleoutでは、このネットワークを使用して、グリッドとそのデータベースが必要とするすべてのSQL、バックアップおよび管理操作を実行します。さらに、インスタンスはこのネットワークを介してメンバーシップ・サーバーと通信します。メンバーシップ・サーバー間は、このネットワークを使用して通信します。

内部ネットワークに次の特性があることを確認します。

  • 高帯域幅。ネットワークが高速になるほど、スループット(ギガビット/秒)は向上します。本番環境では、少なくとも10ギガビット・イーサネット・ネットワークまたは同等のものを確保してください。

  • 低待機時間。ネットワーク待機時間(あるホストから別のホストにメッセージを転送する時間)を最小限にするために、内部ネットワークにアタッチされたホストおよびメンバーシップ・サーバーは次のいずれかである必要があります。

    • 1つのデータ・センターが少数のラック内にまたがっている。

    • メトロポリタン・エリア・ネットワーク(MAN)によって接続された小さい地理的地域(都市または周辺)内に複数のデータ・センターがまたがっている。10GbEまたはそれ以上のネットワークでのみお薦めします。

    • ワイド・エリア・ネットワーク(WAN)によって接続された複数のデータ領域(都道府県または州)にまたがっていない。

  • IPv4またはIPv6のアドレス。

  • ネットワーク・アドレス変換(NAT)がない。

  • TCPパケット・フィルタリングがない。

オンプレミス環境の場合、内部ネットワークが次の要件を満たしていることを確認してください。

  • 内部ネットワークが単一のネットワーク・セグメントで構成されている場合、すべてのホストが単一のイーサネット・スイッチまたは同等のものに接続されている。

  • 内部ネットワークが複数のネットワーク・セグメントで構成されている場合、それらのセグメントがIPルーターではなくブリッジを介して接続されている。

  • 内部ネットワークがMANを使用している場合、MANがワークロードに必要な帯域幅と待機時間を提供できることを確認してください。

内部アドレスの構文

グリッドのホストを定義する場合は、そのホストの内部アドレスに単一の値を指定する必要があります。オプションで、そのホストの外部アドレスの値を指定します。ホストの内部アドレスに指定する値は、IPv4アドレス、IPv6アドレス、または1つ以上のIPv4アドレスまたはIPv6アドレスに解決される名前のいずれかです。次に例を示します。

  • ドット区切り10進数IPv4アドレス(192.168.1.1など)

  • コロン16進数IPv6アドレス(2606:fe80::f816:3eff:fe15:44b3など)

  • /etc/hostsファイルで指定された名前(host1など)

  • プライベート・ドメイン・ネーム・サーバー(DNS)で定義された名前(int-host1.example.comなど)

名前を使用してホストの内部アドレスを定義するとします。

  • 名前が複数のIPアドレスに解決される場合、それらのアドレスは同じネットワーク・セグメントに存在する必要があります。

  • グリッド内のすべてのホストが、名前を同じアドレスに解決できる必要があります。たとえば、hostsファイルを使用して名前を定義する場合、グリッド内の各ホスト上のhostsファイルに、その名前と同じエントリが含まれている必要があります。

外部ネットワーク

グリッドでは、オプションで1つ以上のパブリック外部ネットワークを使用できます。これらのネットワークにより、グリッドの一部ではないマシンで実行されているアプリケーションがグリッド内のデータベースへのクライアント/サーバー接続を作成できます。外部ネットワークを介してグリッドまたはデータベース管理操作を実行することはできません。

外部ネットワークのパフォーマンスは重要ですが、内部ネットワークのパフォーマンスよりも重要ではありません。内部ネットワークのパフォーマンスがよくないか信頼性がない場合、グリッドとそのデータベースのパフォーマンスはすべてのユーザーにとってよくないか信頼性がない可能性があります。逆に、外部ネットワークのパフォーマンスがよくないか信頼性がない場合は、そのネットワークを介してグリッド内のデータベースに接続されるアプリケーションにしか影響が及ばない可能性があります。その結果、外部ネットワークの要件は内部ネットワークより少なくなります。

外部ネットワークには、次の特性が必要です。

  • クライアント/サーバー・アプリケーションの要件に基づいた帯域幅。

  • クライアント/サーバー・アプリケーションの要件に基づく待機時間。

  • IPv4またはIPv6のアドレス。

  • 各データ・インスタンスのサーバー・ポートへのTCP接続。

  • ネットワーク・テクノロジ(VPN、ルーター、LAN、WANなど)の任意の組合せ。

グリッドで単一の外部ネットワークを使用する場合、ホストの外部アドレスの値は、内部アドレスの構文項に説明されているどの形式でも指定できます。グリッドで複数の外部ネットワークを使用する場合は、名前を使用してホストの外部アドレスを定義する必要があります。名前は、使用する外部ネットワークごとに少なくとも1つのIPアドレスに解決される必要があります。

TimesTen Scaleoutのインストール

ホストでTimesTenディストリビューションを解凍したら、インストール(読取り専用)を作成します。インストールを削除する場合を除いて、インストール内のファイルまたはディレクトリを追加、変更または削除しないでください。

インストールは、完全インストールまたはクライアントのみのインストールです。クライアントのみのインストールは、TimesTenのクライアントによる使用をサポートします。

タイプ 説明
完全インストール このタイプのインストールではTimesTenのフル・ディストリビューションを使用します(timesten181410.server.linux8664.zipなど)。
クライアントのみのインストール TimesTen Classic内のデータベースにクライアントを介して接続およびアクセスできます。完全インストールを使用して(timesten181410.server.linux8664.zipなど)ディストリビューションを解凍してから、ttInstanceCreate -clientonlyを指定します。クライアントのタイプおよびデータベースへの接続方法の詳細は、データベース接続を参照してください。

インスタンス管理者として指定されたオペレーティング・システム・ユーザーは、次の手順でインストールを作成します。

  1. アクティブな管理インスタンスを含むホストにTimesTenディストリビューションをダウンロードします。ディストリビューションはZIPファイルで、ZIPファイル名はプラットフォーム、リリース番号およびディストリビューションのタイプを示します。たとえば、timesten181410.server.linux8664.zipのようになります。

  2. ZIPファイルを解凍して、TimesTenインストールを作成します。インストールには、バイナリ・ファイルおよびサポート・ファイル(グリッド(およびそのすべてのコンポーネント)、メンバーシップ・サーバーおよびクライアントを作成できる)が含まれています

最初のインストールのみ、インスタンス管理者が、アクティブな管理インスタンスを含むホストに手動で作成します。その他のインスタンスで使用される追加のインストールは、TimesTen Scaleoutユーティリティによって作成されます。その他のインスタンス用の追加のインストールを作成する場合の詳細は、グリッドの構成を参照してください。

ディストリビューションをダウンロードした後、次のステップを実行します。

  1. 最初の管理インスタンスを含むホストにインスタンス管理者としてログインします。この例では、instanceadminはインスタンス管理者の名前です。Linux idコマンドを使用して、インスタンス管理者を確認できます。

  2. インストールに必要なディレクトリ(/grid/installation1など)を作成します。

    % mkdir -p /grid/installation1
    
  3. ディストリビューション・ファイルを抽出してディレクトリに解凍します。この例では、unzipコマンドを使用して、インストールを解凍します。

    % unzip /timesten181410.server.linux8664.zip -d /grid/installation1
    [...UNZIP OUTPUT...]
    

インストールの最上位ディレクトリはTimesTenリリースです。たとえば、/grid/installation1の下に作成されるディレクトリは次のとおりです。

dr-xr-x--- 19 instanceadmin timesten 4096 Mar  2 22:07 tt18.1.4.1.0

インストールの確認

次の各項では、インストールの確認方法について詳しく説明します。

ttInstallationCheckユーティリティの実行

ttInstallationCheckユーティリティはinstallation_dir/tt18.1.4.1.0/binディレクトリにあり、インストールが成功したか失敗したかを検証します。このユーティリティでは、インストールのチェックサム値が元のチェックサム値と異なっている場合にエラーを生成します。インストール・ディレクトリまたはファイルに次のいずれかの変更があった場合に、チェックサム値が異なります。

  • ファイルの内容

  • ファイルの名前

  • ディレクトリへのファイルの追加

  • ディレクトリからのファイルの削除

  • ファイルまたはディレクトリの権限の変更

この例では、インストールが検証されます。

% ttInstallationCheck
This installation has been verified.

この例では、ファイルの権限が変更されているため、ttInstallationCheckによってエラーが生成されます。

% ttInstallationCheck 
Cannot validate the installation in /grid/installation1/tt18.1.4.1.0.

ttInstallationCheckユーティリティの詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのttInstallationCheckを参照してください。

インストール・ディレクトリおよびサブディレクトリの確認

TimesTenの完全インストールでは、上位レベルのinstallation_dir/tt18.1.4.1.0ディレクトリの下に次のサブディレクトリが含まれています。

  • 3rdparty: 次のリソースが含まれています。

    • Apache ZooKeeper

    • Java Message Service (JMS)

  • bin: TimesTenユーティリティおよび実行可能ファイル

  • grid: TimesTen Scaleoutのファイルおよびリソース

  • include: TimesTen includeファイル。timesten.h (TimesTen ODBC機能用)およびtt_errCode.h (TimesTenエラー・コードの詳細)

  • lib: TimesTenライブラリ

  • plsql: TimesTen PL/SQLのファイルおよびリソース

  • ttoracle_home: Oracle Database Instant Clientのファイルおよびリソース(OCI、Pro*C/C++およびODP.NET用)


ノート:

クライアントのみのインストールには、3rdpartyディレクトリまたはgridディレクトリは含まれていません。

パスワードなしSSHの設定

インスタンス管理者は、管理インスタンスおよびttGridAdminユーティリティがグリッドおよびすべてのメンバーを設定および管理できるように、グリッド内のすべてのホストにパスワードを使用せずにSSHを使用してログインできる必要があります。

具体的には、管理インスタンスを持つすべてのホストで、インスタンスとリポジトリを持つすべてのホストに対してインスタンス管理者がパスワードなしでSSHアクセスできる必要があります。また、データ・インスタンスを持つホストで、リポジトリを持つすべてのホストに対してインスタンス管理者がパスワードなしでSSHアクセスできる必要があります。

ttGridAdmin gridSshConfigコマンドは、現在のユーザーに対して必要なパスワードなしSSHアクセスを設定できます。このコマンドは必ず、インスタンス管理者として意図しているユーザーを使用して実行してください。

グリッドを設定する前に、後でホスト管理インスタンス、データ・インスタンスおよびリポジトリに使用するアドレスまたはDNS名を指定しながら、ttGridAdmin gridSshConfigコマンドを実行できます。プロンプトが表示されたら、コマンドを実行するユーザーのOSパスワードを入力します。このユーザーとパスワードは、すべてのシステムですでに設定されていて同一である必要があります。インスタンス管理者の詳細は、TimesTenユーザー・グループとオペレーティング・システム・ユーザーの理解を参照してください。

% grid/installation1/tt18.1.4.1.0/bin/ttGridAdmin gridSshConfig
 -mgmtAddress int-host1 int-host2
 -dataAddress int-host3 int-host4 int-host5 int-host6 int-host7 int-host8
Enter password:
Setup ssh configuration on local system...............................OK
Setup ssh configuration on int-host1..................................OK
Setup ssh configuration on int-host2..................................OK
Setup ssh configuration on int-host3..................................OK
Setup ssh configuration on int-host4..................................OK
Setup ssh configuration on int-host5..................................OK
Setup ssh configuration on int-host6..................................OK
Setup ssh configuration on int-host7..................................OK
Setup ssh configuration on int-host8..................................OK
Setup passwordless ssh from local system to int-host1.................OK
Setup passwordless ssh from local system to int-host2.................OK
Setup passwordless ssh from local system to int-host3.................OK
Setup passwordless ssh from local system to int-host4.................OK
Setup passwordless ssh from local system to int-host5.................OK
Setup passwordless ssh from local system to int-host6.................OK
Setup passwordless ssh from local system to int-host7.................OK
Setup passwordless ssh from local system to int-host8.................OK
Setup passwordless ssh from int-host1 to int-host1....................OK
Setup passwordless ssh from int-host1 to int-host2....................OK
Setup passwordless ssh from int-host1 to int-host3....................OK
Setup passwordless ssh from int-host1 to int-host4....................OK
Setup passwordless ssh from int-host1 to int-host5....................OK
Setup passwordless ssh from int-host1 to int-host6....................OK
Setup passwordless ssh from int-host1 to int-host7....................OK
Setup passwordless ssh from int-host1 to int-host8....................OK
Setup passwordless ssh from int-host2 to int-host1....................OK
Setup passwordless ssh from int-host2 to int-host2....................OK
Setup passwordless ssh from int-host2 to int-host3....................OK
Setup passwordless ssh from int-host2 to int-host4....................OK
Setup passwordless ssh from int-host2 to int-host5....................OK
Setup passwordless ssh from int-host2 to int-host6....................OK
Setup passwordless ssh from int-host2 to int-host7....................OK
Setup passwordless ssh from int-host2 to int-host8....................OK
 
Passwordless ssh working between hosts:
 
From\To   int-host1 int-host2 int-host3 int-host4 int-host5 ... int-host8
--------- --------- --------- --------- --------- --------- ... ---------
*us*      Yes       Yes       Yes       Yes       Yes       ... Yes
int-host1 Yes       Yes       Yes       Yes       Yes       ... Yes
int-host2 Yes       Yes       Yes       Yes       Yes       ... Yes
int-host3 N/A       N/A       N/A       N/A       N/A       ... N/A
int-host4 N/A       N/A       N/A       N/A       N/A       ... N/A
int-host5 N/A       N/A       N/A       N/A       N/A       ... N/A
int-host6 N/A       N/A       N/A       N/A       N/A       ... N/A
int-host7 N/A       N/A       N/A       N/A       N/A       ... N/A
int-host8 N/A       N/A       N/A       N/A       N/A       ... N/A

モデルの最新バージョンがまだ適用されておらず、新しいホストおよびインスタンスがモデルに追加されているグリッドの場合、アクティブ管理インスタンスでttGridAdmin gridSshConfigコマンドを実行します。次に、ttGridAdminユーティリティが、モデルの最新バージョンを問い合せ、モデルに記述されているホスト間の適切なSSH接続性を設定します。

% ttGridAdmin gridSshConfig
Enter password:
Setup ssh configuration on local system...............................OK
Setup ssh configuration on int-host1..................................OK
Setup ssh configuration on int-host2..................................OK
Setup ssh configuration on int-host3..................................OK
Setup ssh configuration on int-host4..................................OK
Setup ssh configuration on int-host5..................................OK
Setup ssh configuration on int-host6..................................OK
Setup ssh configuration on int-host7..................................OK
Setup ssh configuration on int-host8..................................OK
Setup passwordless ssh from local system to int-host1.................OK
Setup passwordless ssh from local system to int-host2.................OK
Setup passwordless ssh from local system to int-host3.................OK
Setup passwordless ssh from local system to int-host4.................OK
Setup passwordless ssh from local system to int-host5.................OK
Setup passwordless ssh from local system to int-host6.................OK
Setup passwordless ssh from local system to int-host7.................OK
Setup passwordless ssh from local system to int-host8.................OK
Setup passwordless ssh from int-host1 to int-host1....................OK
Setup passwordless ssh from int-host1 to int-host2....................OK
Setup passwordless ssh from int-host1 to int-host3....................OK
Setup passwordless ssh from int-host1 to int-host4....................OK
Setup passwordless ssh from int-host1 to int-host5....................OK
Setup passwordless ssh from int-host1 to int-host6....................OK
Setup passwordless ssh from int-host1 to int-host7....................OK
Setup passwordless ssh from int-host1 to int-host8....................OK
Setup passwordless ssh from int-host2 to int-host1....................OK
Setup passwordless ssh from int-host2 to int-host2....................OK
Setup passwordless ssh from int-host2 to int-host3....................OK
Setup passwordless ssh from int-host2 to int-host4....................OK
Setup passwordless ssh from int-host2 to int-host5....................OK
Setup passwordless ssh from int-host2 to int-host6....................OK
Setup passwordless ssh from int-host2 to int-host7....................OK
Setup passwordless ssh from int-host2 to int-host8....................OK
 
Passwordless ssh working between hosts:
 
From\To   int-host1 int-host2 int-host3 int-host4 int-host5 ... int-host8
--------- --------- --------- --------- --------- --------- ... ---------
*us*      Yes       Yes       Yes       Yes       Yes       ... Yes
int-host1 Yes       Yes       Yes       Yes       Yes       ... Yes
int-host2 Yes       Yes       Yes       Yes       Yes       ... Yes
int-host3 N/A       N/A       N/A       N/A       N/A       ... N/A
int-host4 N/A       N/A       N/A       N/A       N/A       ... N/A
int-host5 N/A       N/A       N/A       N/A       N/A       ... N/A
int-host6 N/A       N/A       N/A       N/A       N/A       ... N/A
int-host7 N/A       N/A       N/A       N/A       N/A       ... N/A
int-host8 N/A       N/A       N/A       N/A       N/A       ... N/A

ttGridAdmin gridSshConfigコマンドの詳細は、Oracle TimesTen In-Memory DatabaseリファレンスのSSHの構成(gridSshConfig)を参照してください。