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

TimesTen Classicをインストールする前に、次のオペレーティング・システムの前提条件を確認(および実行)してください。

Linuxの前提条件

Linuxで次の前提条件を実行します。

Linuxの一般的な前提条件の完了

要件は、Linuxシステムによって異なります:
  • Oracle Linux 7、8および9システムでは、Times Tenにはlibaioライブラリが必要です。このライブラリをインストールするには、次を実行します:
    sudo yum install libaio
  • Oracle Linux 8システムおよびRed Hat Enterprise Linux 8システムでは、Times Tenにはncurses-compat-libsパッケージが必要です。このパッケージをインストールするには、次を実行します:
    sudo yum install ncurses-compat-libs
  • Oracle Linux 8および9とRed Hat Enterprise Linux 8および9システムでは、Times Tenには/usr/1ib64/1ibnsl.so.1ライブラリが必要です。このライブラリをインストールするには、次を実行します:
    sudo yum install libnsl
  • Ubuntuでは、TimesTenにはlibaioライブラリが必要です。このライブラリをインストールするには、次を実行します:
    sudo apt-get install libaio1

TimesTenのスタック・トレースを有効にすることをお薦めします。Linuxシステムでは、pstackまたはgdbを使用してスタック・トレースを取得します。

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

この項では、TimesTenユーザー・グループを作成するステップの概要を示します。

  • TimesTenユーザー・グループを作成し、目的のユーザーを追加します。

  • インスタンス管理者になるオペレーティング・システム・ユーザーを決定します。このユーザーは、TimesTenユーザー・グループのメンバーである必要があります。このユーザーはインストール環境を作成します。

    ノート:

    TimesTenのインストール環境をTimesTen事前定義済内部ユーザーの名前(GRIDPUBLICSYSSYSTEMまたはTTREP)と一致するオペレーティング・システム・ユーザーとして作成しないでください。

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

  1. TimesTenユーザー・グループの作成グループIDが10000のグループにtimestenという名前を付けます。この情報はHugePagesを構成する場合に必要です。詳細は、HugePagesの構成を参照してください。
    sudo groupadd -g 10000 timesten
    
  2. UIDが55000instanceadminユーザーを作成し、このユーザーをtimestenプライマリ・グループに割り当てます。次に、instanceadminユーザーのパスワードを作成します。
    sudo useradd -u 55000 -g timesten instanceadmin
    sudo passwd instanceadmin

AIXの前提条件

UNIXでは、セマフォはカーネルによって動的に構成されます。

必要なパッチ・レベルが適用されたUNIXホストでは、TimesTen Classicでラージ・ページを使用できます。ラージ・ページを使用すると、共有セグメントがメモリーにロックされるため、ページのサイズ設定ができなくなります。ユーザーには、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

ノート:

vmoを使用して、vmm_mpsize_supportを値3 (使用可能な場合)または2に設定すると、メモリー・ページの使用量が最適化される効果があります。

TimesTenのスタック・トレースを有効にすることをお薦めします。AIXシステムでは、procstackを使用してスタック・トレースを取得します。

Solarisの前提条件

TimesTenのスタック・トレースを有効にすることをお薦めします。Solarisシステムでは、pstackを使用してスタック・トレースを取得します。

さらに、インストール前に、次の項の情報を使用して、SolarisシステムでのTimesTen Classicのパフォーマンスを改善します。

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

Solaris UFSファイル・ホストで、DurableCommits=1を使用するアプリケーションを使用する場合は、-forcedirectioオプションを指定してファイル・システムをマウントします。

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

プロジェクトを作成してシステム・リソース(共有メモリー、ファイル記述子、およびセマフォなど)を管理します。

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

ノート:

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

たとえば、グループtimesten (TimesTenユーザー・グループ)に対して、プロジェクトtimestenprojを500GBの共有メモリー、4096セマフォおよび65,535ファイル記述子を指定して作成するには、次のようにします。

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

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

    # projadd -G timesten timestenproj
    
  3. グループの共有メモリを500GBに変更します。

    # projmod -a -K "project.max-shm-memory=(priv,500GB,deny)" timestenproj
    
  4. セマフォの最大数を4096に変更します。

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

    ノート:

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

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

    # projmod -a -K "process.max-file-descriptor=(priv,65535,deny)" timestenproj
    
  6. TimesTenデーモンを再起動する前に、newtaskコマンドを実行します。

    # newtask -p timestenproj -c $$
    

たとえば、ユーザーtimestenuserに対するユーザー・プロジェクトを500GBの共有メモリー、4096セマフォおよび65,535ファイル記述子を指定して作成するには、次のようにします。

  1. rootユーザーとしてログインします。
  2. ユーザー・プロジェクトを追加します。
    # projadd -U timestenproj user.timestenuser
    
  3. グループの共有メモリを500GBに変更します。
    # projmod -a -K "project.max-shm-memory=(priv,500GB,deny)" user.timestenuser
    
  4. セマフォの最大数を4096に変更します。
    # projmod -a -K "process.max-sem-nsems=(priv,4096,deny)" user.timestenuser

    ノート:

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

  5. ファイル記述子の最大数を65,535に変更します。
    # projmod -a -K "process.max-file-descriptor=(priv,65535,deny)" user.timestenuser
    

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

ノート:

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

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

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

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

    # newtask -p timestenproj -c $$

ノート:

Solarisホストでは、MemoryLockを3または4に設定して使用します。MemoryLockを1または2に設定した場合、rootとしてインストールされたTimesTenが必要になり、これはお薦めしません。