TimesTenをインストールする前に、該当する要件がご使用のオペレーティング・システムで満たされていることを確認します。
JDBCがサポートされるプラットフォームでJDBCを使用するには、マシンに適切なバージョンのJDKをインストールしておく必要があります。プラットフォームに必要なJDKについては、「プラットフォームおよび構成」を参照してください。
一般的に、UNIX Systemsでは、次の構成を行う必要があります。
また、次の項目も行う必要があります。
この項では、UNIX Systemで行う必要がある変更の一部について、その概要を示します。この後に、TimesTenでサポートされているそれぞれのUNIX Platformに必要な変更について説明します。
Veritasファイル・システムでは、DurableCommits=1を使用するTimesTenアプリケーションをインストールする場合、永続性を保証するためにmincache=directおよびconvosync=directオプションを使用します。
dsyncをsyncに変換するオプション、fdatasyncをsyncに変換するオプション、またはO_SYNCを指定してファイルが開かれるようにすべての書込みを処理するオプションは使用しないでください。
TimesTenは、アクティブなデータ・ストアごとにSEMMNIを1つ消費し、クライアント/サーバー通信が共有メモリーを介して実行されるTimesTenインスタンスごとに、さらにSEMMNIを1つ消費します。Connections属性がデフォルト値に設定されている場合、TimesTenは、アクティブなデータ・ストアごとに100のSEMMSLを消費します。また、デフォルト値を超える接続ごとにSEMMSLを1つ消費します。
UNIX SystemsでJDBCを実行する場合は、最新のJDKパッチおよびベンダーで必要なパッチをインストールします。必要なパッチについては、OS JDKプロバイダのWebサイトを参照してください。
Sun 64-bit JVMを使用している場合、AIX Systemを除くすべてのシステムで64-bitのJavaアプリケーションを実行するには、Javaコマンドラインに-d64オプションを指定する必要があります。
TimesTenで許容されているTimesTen Serverへの同時IPC接続の最大数は9,999です。ただし、システムでの制限が、単一のDSNへの接続数よりも優先します。クライアント/サーバーのユーザーは、ファイル記述子の制限を引き上げることで、多数の接続および処理をサポートすることができます。
たとえば、Solarisで、サーバーの同時接続が最大1024である場合に、次の行を追加してファイル記述子の制限を変更することができます。
set rlim_fd_max = 1080
これは、/etc/systemに追加します。
この例では、予想されるクライアント/サーバー接続は1080以下であるため、接続数にいくらか余裕を持たせることができます。
レプリケーション用に、TCP送信バッファおよびTCP受信バッファを512KB以上に増やす必要があります。次のコマンドを、システムの起動時に実行可能なスクリプトに組み込む必要があります。
# /usr/sbin/no -p -o tcp_recvspace=524288
# /usr/sbin/no -p -o tcp_sendspace=524288
HP-UX Systemsでは、2つ以上のデータ・ストアに同時に接続する場合は、カーネル・パラメータsemmnsの値を増やす必要があります。
既存のカーネル・パラメータ設定を表示するために、rootユーザーとしてログインします。
HP-UX 11iの場合は、次のコマンドを使用します。
# /usr/sbin/kmtune
HP-UX 11iv2の場合は、次のコマンドを使用します。
# /usr/sbin/kctune
HP-UX Systemsでは、パラメータshmmaxの値も増やす必要があります。この変更を行うには、次の手順を実行します。
kmtuneまたはkctuneコマンドを使用するか、HP System Administration Managerを実行して、既存のカーネル・パラメータ設定を参照します。# /usr/sbin/sam
semmnsを表示し、その値を4096(最小値)以上に変更します。shmmaxを表示して、その値を最大値0x40000000に変更します。| 注意: | 値0x40000000(24と7桁の0(ゼロ))は、作成できる最大の共有メモリー・セグメントが1024MBであることを示します。共有データ・ストアに必要な共有メモリー・セグメントのサイズは、要求したデータ・ストアのサイズよりも大きくなります。この値には、必要となる最大の共有メモリー・セグメントをサポート可能な、高い値を設定してください。 |
64-bit HP-UX Systemsでは、データ・ストアが2GBを超える場合、大規模ファイルを有効にします。HP-UXがデフォルトでサポートするファイル・サイズは2GB以下です。
大規模ファイルを有効にするには、fsadmに-o largefilesオプションを指定して、ファイル・システムを変換します。次のコマンドを使用します。
% /usr/sbin/fsadm -F hfs -o largefiles device_name
例:
% /usr/sbin/fsadm -F hfs -o largefiles \
/dev/vg02/rlvol1
レプリケーション用に、TCP送信バッファおよびTCP受信バッファを512KB以上に増やす必要があります。次のコマンドを、システムの起動時に実行可能なスクリプトに組み込む必要があります。
HP-UX 11i、11.23(11iv2)の場合は、次のコマンドを使用します。
# /usr/bin/ndd -set /dev/tcp tcp_xmit_hiwater_lfp 524288
# /usr/bin/ndd -set /dev/tcp tcp_recv_hiwater_lfp 524288
# /usr/bin/ndd -set /dev/tcp tcp_xmit_hiwater_lnp 524288
# /usr/bin/ndd -set /dev/tcp tcp_recv_hiwater_lnp 524288
# /usr/bin/ndd -set /dev/tcp tcp_xmit_hiwater_max 524288
# /usr/bin/ndd -set /dev/tcp tcp_recv_hiwater_max 524288
Linuxでは、TimesTenはAsianux 2.0、Red Hat Enterprise Linux 3、3.1および4、MontaVista Linux Carrier Grade Editionリリース4.0、SUSE LINUX Enterprise Server 9および10の最小限の構成でテスト済です。マシン上でシステム固有の開発を行うには、C開発ツールが必要です。
| 注意: | TimesTenはSELinuxをサポートしていません。TimesTenで使用するためにLinuxをインストールするには、SELinuxオプションを無効にしておく必要があります。 |
ラージ・ページ(Linuxではヒュージ・ページとも呼ぶ)は、実行中のLinuxカーネルでラージ・ページがサポートされている場合にのみ有効にできます。
カーネルでラージ・ページがサポートされている場合、/procディレクトリに、ラージ・ページの数およびサイズを指定する特別なファイルが存在する必要があります。
Linux 2.4.x Systemsでは、/proc/sys/vm/hugetlb_poolはラージ・ページの合計サイズを示します。
2.6.x Systemでは、/proc/sys/vm/nr_hugepagesファイルはラージ・ページの合計数を示します。
ラージ・ページの合計数および合計サイズは、これらのファイルの内容を変更すると変更できます。たとえば、次のコマンドを使用して変更できます。
echo "32" > /proc/sys/vm/nr_hugepages
割り当てられたラージ・ページの数およびサイズを確認するには、次のコマンドを使用します。
cat /proc/meminfo
このコマンドでは次のように出力されます。16のラージ・ページが存在し、合計4GB(各サイズ256MB)であることが示されています。
HugePages_Total: 16
HugePages_Free: 16
Hugepagesize: 262144 kB
| 注意: | ラージ・ページは連続したメモリー領域に割り当てる必要があるため、割り当てられたラージ・ページの実際のサイズは、要求されたサイズより小さくなる場合があります。また、ラージ・ページのサイズ自体は構成できません。/proc/meminfo内のHugepagesizeの値によって、システムの固定ラージ・ページ・サイズが指定されます。 |
PAM(Pluggable Authentication Modules)が有効な場合は、/etc/security/limits.confファイルを変更する必要がある場合があります。
また、/proc/sys/vm/hugetlb_shm_groupをTimesTenのメイン・デーモンを実行しているユーザーのグループIDに設定する必要があります。TimesTenがrootとしてインストールされている場合、0を指定します。これはデフォルトです。
この時点で、OSではラージ・ページをサポートできます。TimesTenでこの機能を有効にするには、-linuxLargePageAlignment Size_in_MB をデーモン・オプション・ファイル(ttendaemon.options)に設定します。
ラージ・ページの位置サイズは、/proc/meminfoのHugepagesize値にMBで指定する必要があります。
ラージ・ページを設定すると、TimesTenではできるだけ多数のラージ・ページが使用されます。十分なページがない場合は、すべての使用可能なラージ・ページを消費した後、通常のページが使用されます。
TimesTenでラージ・ページを使用する場合は、/proc/meminfoのHugePages_Freeファイルが変更されます。
既存のカーネル・パラメータ設定を表示するには、rootとしてログインし、次のコマンドを使用します。
# /sbin/sysctl -a
たとえば、共有メモリー・サイズを2048MBに増やすには、rootとして、次の行を追加して/etc/sysctl.confファイルを編集します。
kernel.shmmax=2147483648
構成が8GBを超える場合、shmallパラメータの値を増やす必要があります。値はKBで、ceil(SHMMAX/PAGE_SIZE)と同じである必要があります。通常、ページ・サイズは、x86 Systemsでは4K、Itaniumでは16Kです。たとえば、Itaniumの64GBのデータ・ストアの場合は、次のパラメータ値を指定する必要があります。
kernel.shmmax=68719476736
kernel.shmall=4194304
再起動せずに共有メモリーのサイズを増やすには、次のコマンドを使用します。
% /sbin/sysctl -w kernel.shmmax=2147483648
/procファイル・システムにカーネルを構成してマウントしている場合は、次のコマンドを使用して共有メモリーの現在の最大セグメント・サイズ(バイト単位)を確認できます。
% cat /proc/sys/kernel/shmmax
この値は、次のコマンドを使用して変更することもできます。
% echo 2147483648 > /proc/sys/kernel/shmmax
このコマンドの機能は、sysctlコマンドと同じです。
Red Hat Linux Systemsで、6を超えるShmIpcクライアント/サーバー接続を可能にするには、次の行を追加します。
kernel.sem = "250 32000 128 100"
これは、/etc/sysctl.confファイルに追加し、その後で再起動します。
再起動せずに共有メモリーのサイズを増やすには、次のコマンドを使用します。
% /sbin/sysctl -w kernel.sem = "250 32000 128 100"
これによって、パラメータ値が次のように設定されます。
SEMMSL=250
SEMMNS=32000
SEMOPM=100
SEMMNI=100
Cache Connect to Oracleオプションをインストールして、WebベースのCache Administratorを使用する場合、またはTimesTen Client/Server構成を使用する場合は、次のRPMパッケージをインストールします。
Red Hat 3.0の場合:
compat-libstdc++-7.3-2.96.123
Red Hat 4.0の場合:
compat-libstdc++-296-2.96.132.7.2
これらのパッケージは、rpmコマンドを使用してインストールするか、「Legacy Software Development」にあるRed HatのGUIインストーラを使用してインストールします。
レプリケーション用に、TCP送信バッファおよびTCP受信バッファを512KB以上に増やす必要があります。このように変更するには、次の行を追加します。
net.ipv4.tcp_rmem="4096 4194304 4194304"
net.ipv4.tcp_wmem="98304 4194304 4194304"
net.ipv4.tcp_mem="98304 4194304 4194304"
net.core.rmem_default=65535
net.core.wmem_default=65535
net.core.rmem_max=4194304
net.core.wmem_max=4194304
net.ipv4.tcp_window_scaling=1
これは、/etc/sysctl.confファイルに追加し、その後で再起動します。
Cache Connect用に、TCP送信バッファおよびTCP受信バッファをより大きな値に増やす必要があります。このように変更するには、次の行を追加します。
net.ipv4.tcp_rmem="4096 4194304 4194304"
net.ipv4.tcp_wmem="98304 4194304 4194304"
net.ipv4.tcp_mem="98304 4194304 4194304"
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=4194304
net.ipv4.tcp_window_scaling=1
net.ipv4.ip_local_port_range="1024 65000"
これは、/etc/sysctl.confファイルに追加し、その後で再起動します。
Solaris 8では、パッチ108827-36以上が必要です。
インストール済のパッチのリストを表示するには、次のコマンドを使用します。
% showrev -p
Solaris UFSファイル・システムでは、DurableCommits=1を使用するTimesTenアプリケーションをインストールする場合、「UNIXの一般的な要件」に示すファイル・システム・オプションに加え、-forcedirectioオプションを指定してファイル・システムを集中的にマウントします。
Solaris 8および9では、TimesTenはインストール時にIPC構成を確認します。IPC SemaphoresモジュールまたはIPC共有メモリー・モジュールのいずれかがインストールされていない場合は、次のコマンドを使用して、それらを手動でインストールできます。
ryps3# modload /kernel/sys/semsys
ryps3# modload /kernel/sys/shmsys
Solaris 10 Systemsの場合、/etc/systemにエントリがなければ、セマフォはデフォルトの設定で十分です。
その他のSolaris Systemsの場合は、セマフォの数を増やす必要があります。TimesTenは、アクティブなデータ・ストアごとにSEMMNIを1つ消費し、クライアント/サーバー通信が共有メモリーを介して実行されるTimesTenインスタンスごとに、さらにSEMMNIを1つ消費します。
各データ・ストアでは、Connections属性がデフォルト値(64)に設定されている場合、TimesTenは100のSEMMSLを消費します。さらに、推定接続数がデフォルト値を超えている場合は、デフォルト値を超えた接続ごとにSEMMSLを1つ消費します。次の手順を実行して、セマフォの数を増やすことをお薦めします。
rootユーザーとしてログインします。/etc/systemに設定または追加します。 set semsys:seminfo_semmni = 20
set semsys:seminfo_semmsl = 512
set semsys:seminfo_semmns = 2000
set semsys:seminfo_semmnu = 2000
| 注意: | この手順の値は、必要なセマフォの最小数です。この値は、必要に応じて増やすことができます。次の式をガイドとして使用できます。ただし、システム内のすべてのプログラムでセマフォが必要であるとは限らないため、SEMMNSおよびSEMMNUは、SEMMNI * SEMMSLより大幅に小さい値になる可能性があります。SEMMNS=SEMMNU = (SEMMNI * SEMMSL) |
% /usr/sbin/sysdef
このコマンドによって、SEMMSL、SEMMNS、SEMOPMおよびSEMMNIの制限がそれぞれ表示されます。
SEMOPMは、semopコールごとの最大処理数です。リセットする必要はありません。
Solarisでは、プロセスごとのShmIpcクライアントDSN接続が6を超える場合、SHMSEGカーネル・パラメータを変更する必要があります。
6を超えるデータ・ストアにアクセスするには、SHMSEGカーネル・パラメータを変更する必要があります。たとえば、1つのプロセスが12のデータ・ストアにアクセスできるようにするには、次の行を/etc/systemに追加して、TimesTenを使用する前に再起動します。
set shmsys:shminfo_shmseg=12
Solaris Systemでは、次の変更も行う必要があります。
/etc/systemに追加し、TimesTenを使用する前に再起動します。 set rlim_fd_cur=4096
set rlim_fd_max=4096
/etc/systemに追加し、TimesTenを使用する前に再起動します。 set shmsys:shminfo_shmmax = 0x240000000
| 注意: | 値0x240000000(24と7桁の0(ゼロ))は、作成できる最大の共有メモリー・セグメントが1024MBであることを示します。データ・ストアに必要な共有メモリー・セグメントのサイズは、データ・ストアの永続的なサイズよりも大きくなります。この値には、必要となる最大の共有メモリー・セグメントをサポート可能な、高い値を設定してください。 |
データ・ストアをSolaris UFSファイル・システムに格納し、トランザクション整合性チェックポイントを使用している場合、チェックポイントに対して最高のパフォーマンスを得るために、一部のカーネル・パラメータの設定を変更する必要がある場合があります。Solaris UFS Throttleアルゴリズムは、バイト・カウントのしきい値が最高水位標を超えると、大きなファイルを書き込む処理をスリープ状態にします。このアルゴリズムを無効にするには、次の行を追加します。
set ufs:ufs_WRITES = 0
これは、/etc/systemファイルに追加します。
かわりに、次の行を追加して、最高水位標を引き上げることもできます。
set ufs:ufs_HW = desired value
これは、/etc/systemファイルに追加します。
新しい値を有効にするには、システムを再起動する必要があります。
最高水位標は、値を小さくしていても問題はありませんが、チェックポイント・ファイルのサイズに設定すると、パフォーマンスが向上します。UFS Throttleアルゴリズムについては、ホワイト・ペーパー『Understanding Solaris Filesystems and Paging』(SMLI TR-98-55)を参照してください。これは、http://www.sun.comから入手できます。
レプリケーション用に、TCP送信バッファおよびTCP受信バッファを512KB以上に増やす必要があります。次のコマンドを、システムの起動時に実行可能なスクリプトに組み込む必要があります。
# /usr/sbin/ndd -set /dev/tcp tcp xmit_hiwat=524288
# /usr/sbin/ndd -set /dev/tcp tcp_recv_hiwat=524288
Tru64 UNIX Systemsで、既存のカーネル・パラメータ設定を表示するには、rootユーザーとしてログインし、次のコマンドを使用します。
# /sbin/sysconfig -q ipc
各データ・ストアでは、Connections属性がデフォルト値(64)に設定されている場合、TimesTenは100のSEMMSLを消費します。さらに、推定接続数がデフォルト値を超えている場合は、デフォルト値を超えた接続ごとにSEMMSLを1つ消費します。次の手順を実行して、セマフォの数を増やすことをお薦めします。
rootユーザーとしてログインします。% sysconfig -q ipc
このコマンドによってIPCサブシステムのすべてのパラメータが表示されます。
sem_broadcast_wakeup = 1
% dxkerneltuner
sem_mni = 20
sem_msl = 512
sem_opm = 100
sem_ume = 100
| 注意: | 前述の値は必要なセマフォの最小数です。これらの数値は、必要に応じて増やすことができます。 |
プロセスが使用する最大アドレス空間を増やすには、カーネル値per_proc_address_spaceおよびmax_per_proc_address_spaceを変更します。
プロセスが使用する最大データ・セグメント(malloc領域)を増やすには、カーネル値per_proc_data_sizeおよびmax_per_proc_data_sizeを変更します。
たとえば、これらの値をすべて10GBに変更するには、次の手順を実行します。
kernelparams)を作成します。 per_proc_address_space = 10737418240
max_per_proc_address_space = 10737418240
per_proc_data_size = 10737418240
max_per_proc_data_size = 10737418240
# sysconfigdb -m -f kernelparams proc
# sysconfig -q proc
% sysconfig -r subsys ttr=value
Tru64 UNIXでは、プロセスごとのShmIpcクライアントDSN接続が6を超える場合、SHMSEGカーネル・パラメータを変更する必要があります。カーネル・パラメータは、dxkerneltunerインタフェースまたはsysconfigdbコマンドを使用して変更できます。
レプリケーション用に、TCP送信バッファおよびTCP受信バッファを512KB以上に増やす必要があります。次のコマンドを、システムの起動時に実行可能なスクリプトに組み込む必要があります。
# sysconfig -r inet tcp_recvspace=524288
# sysconfig -r inet tcp_sendspace=524288
TimesTenリリース7.0のデフォルトのインストール・ディレクトリは、次のとおりです。
トランザクションがデータ・ストアの大きな領域を解放する際、TimesTenは一時ファイルを作成します。また、大規模な削除処理など、その他のTimesTenの操作では、ファイルをコピーする際に一時ディレクトリが使用されます。
一時ディレクトリは、オペレーティング・システムによって異なります。通常、次のディレクトリに存在します。
一時ディレクトリの場所は、TMP環境変数(Windows)またはTMPDIR環境変数(UNIX)を設定すると変更できます。
| 注意: | Windowsでは、正常にインストールを完了するために、一時ディレクトリのフルパスを190文字未満にする必要があります。また、TimesTenでは、マルチバイト文字を含むファイル・パス名はサポートされていません。インストール・パス、データ・ストア・パス、トランザクション・ログ・パスおよび一時ファイル・パスにマルチバイト文字が含まれていないことを確認してください。 |
TimesTenのCache Connect to Oracleオプションを使用する場合は、TimesTenをインストールするマシンに、少なくともOracleデータベース9iまたはOracle Database10gクライアントをインストールする必要があります。
Cache Connect to Oracleによって、TimesTenにOracleデータをキャッシュするには、Oracleクライアントの共有ライブラリが必要です。Oracleデータベース9iクライアントまたはOracle Database 10gをインストールしておく必要があります。また、インストーラを実行する前に、ORACLE_HOME環境変数を定義しておく必要もあります。詳細は、「ORACLE_HOME環境変数」を参照してください。