Linux/UNIXでのインスタンスの作成: 基本
次の項の情報は、TimesTen完全インスタンスに関連しています。TimesTenクライアント・インスタンスの作成の詳細は、TimesTenクライアント・インスタンスの作成およびクライアントのみのインストール環境およびインスタンスを参照してください。
-
systemdをサポートしていないLinux/UNIXシステム
- System V initメカニズムとsystemdの両方をサポートするLinuxシステムであるが、SystemV initメカニズムを選択したか、インスタンス管理者が常にTimesTenデーモンを制御するように選択しました。
選択がsystemdの場合に完全インスタンスを作成する方法の詳細は、systemdを使用したTimesTenサービスの管理を参照してください。
-
installation_dir/tt22.1.1.35.0/binディレクトリにあるttInstanceCreateユーティリティを使用して、インスタンスを作成します。ttInstanceCreateユーティリティは、コマンドライン、ファイル、対話形式で実行できます。 -
Linuxカーネル・パラメータを構成します。
-
必要に応じて、
-installオプションを指定してtimesten_home/bin/setuprootスクリプトを実行して、システムの起動時にTimeTenデーモンが自動的に起動され、システムの停止時に自動的に停止されるようにします。このスクリプトは、System V initスクリプトを適切な場所(/etc/init.d)にコピーします。システムの起動時およびシステムの停止時にインスタンス管理者がTimesTenデーモンを制御する場合は、このスクリプトを実行しないでください。
ノート:
-
ディストリビューションを解凍したユーザー(インストール環境の作成者)のみが、インストール環境からインスタンスを作成できます。
-
このユーザーは、TimesTenユーザー・グループのメンバーである必要があります。
-
このユーザーは、
ttInstanceCreateユーティリティを実行してインスタンスを作成します。 -
インスタンスの作成後、このユーザーはインスタンスのインスタンス管理者になります。
-
このユーザーは、このインスタンス、およびインストール環境に関連付けられている他のすべてのインスタンスのインスタンス管理者になることができる唯一のユーザーです。
次の各項の手順を実行します。
Linux/UNIXでのTimesTen完全インスタンスの作成
この項では、TimesTen完全インスタンスを作成する必要があるオプションについて説明します。
対話形式での完全インスタンスの作成
systemdをサービスとして使用している場合は、systemdを使用したTimesTenサービスの管理を参照してください。
この例では、ttInstanceCreateユーティリティを使用して完全インスタンスを作成します。コマンドラインにはオプションが指定されていません。
installation_dir/tt22.1.1.35.0/bin領域に移動し、そのディレクトリにあるttInstanceCreateユーティリティを実行します。ttInstanceCreateユーティリティは、インストール・ディレクトリから実行する必要があります。ユーザーの入力は太字で示されています。
ノート:
Oracle Clusterwareを使用したTimesTenのレプリケーションは、Oracle Linux for Armシステムではサポートされていません。Oracle Linux for Armを使用している場合、Oracle ClusterwareのメッセージがttInstanceCreate出力に表示されません。
% installation_dir/tt22.1.1.35.0/bin/ttInstanceCreate
NOTE: Each TimesTen instance is identified by a unique name.
The instance name must be a non-null alphanumeric string, not longer
than 255 characters.
Please choose an instance name for this installation? [ tt221 ] myinstance
Instance name will be 'myinstance'.
Is this correct? [ yes ]
Where would you like to install the myinstance instance of TimesTen? [ /home/ttuser ] /scratch/ttuser
Creating instance in /scratch/ttuser/myinstance ...
NOTE: If you are configuring TimesTen for use with Oracle Clusterware, the
daemon port number must be the same across all TimesTen installations
managed within the same Oracle Clusterware cluster.
NOTE: All installations that replicate to each other must use the same daemon
port number that is set at installation time. The daemon port number can
be verified by running 'ttVersion'.
The default port number is 6624.
Do you want to use the default port number for the TimesTen daemon? [ yes ]
The daemon will run on the default port number (6624).
In order to use the cache features in any TimesTen databases
created within this instance, you must set a value for the TNS_ADMIN
environment variable. It can be left blank, and a value can be supplied later
using <install_dir>/bin/ttInstanceModify.
Please enter a value for TNS_ADMIN (s=skip)? [ ] s
What is the TCP/IP port number that you want the TimesTen Server to listen on? [ 6625 ]
Would you like to use TimesTen Replication with Oracle Clusterware? [ no ]
Would you like to use systemd to manage TimesTen? [ no ]
NOTE: The TimesTen daemon startup/shutdown scripts have not been installed.
The startup script is located here :
'/scratch/ttuser/myinstance/startup/tt_myinstance'
Run the 'setuproot' script :
/scratch/ttuser/myinstance/bin/setuproot -install
This will move the TimesTen startup script into its appropriate location.
The 22.1 Release Notes are located here :
'installation_dir/tt22.1.1.1.0/README.html'
Starting the daemon ...
TimesTen Daemon (PID: 9020, port: 6624) startup OK.
Instance created successfully.
TimesTen完全インスタンスが正常に作成されました。次のステップについては、インスタンス・ホーム・ディレクトリおよびサブディレクトリの確認に進んでください。
コマンドラインにオプションを指定することによるインスタンスの作成
この例では、ttInstanceCreateユーティリティを実行し、コマンドラインで名前、場所およびデーモンのポート番号を指定します。(-locationオプションで指定したディレクトリの名前は、ttInstanceCreateユーティリティを実行する前に存在している必要があります。)サポートされているオプションについては、Oracle TimesTen In-Memory DatabaseリファレンスのttInstanceCreateを参照してください。
%installation_dir/tt22.1.1.35.0/bin/ttInstanceCreate -name fullinstance1 -location /scratch/ttuser/fullinstance1 -daemonport 6824 Creating instance in /scratch/ttuser/fullinstance1 ... INFO: Mapping files from the installation to /scratch/ttuser/fullinstance1/install NOTE: The TimesTen daemon startup/shutdown scripts have not been installed. The startup script is located here : '/scratch/ttuser/fullinstance1/startup/tt_fullinstance1 Run the 'setuproot' script : /scratch/ttuser/fullinstance1/bin/setuproot -install This will move the TimesTen startup script into its appropriate location. The 22.1 Release Notes are located here : '/installation_dir/tt22.1.1.35.0/README.html'
TimesTen完全インスタンスが正常に作成されました。次のステップについては、インスタンス・ホーム・ディレクトリおよびサブディレクトリの確認に進んでください。
-recordオプションを使用した対話形式でのインスタンスの作成
対話形式でインスタンスを作成する場合は、-recordオプションを使用して、バッチ・ファイルに対話形式のプロンプトと応答を記録できます。これは、バッチ・モードで追加のインスタンスを作成するためのテンプレートとして使用できます。詳細は、バッチ・ファイルで提供される情報からのインスタンスの作成を参照してください。
次の例では、-recordオプションを指定してttInstanceCreateユーティリティを使用する方法を示します。
%installation_dir/tt22.1.1.35.0/bin/ttInstanceCreate -record /swdir/TimesTen/ttinstances/instancecreatebatch
作成されたinstancecreatebatchバッチ・ファイルには、ttInstanceCreateに対する次のような入力が含まれています。
ノート:
Oracle Clusterwareを使用したTimesTenのレプリケーションは、Oracle Linux for Armシステムではサポートされていません。Oracle Linux for Armを使用している場合、Oracle Clusterwareのメッセージは表示されません。Please choose an instance name for this installation:ttuser1instanceint Is this correct:y Where would you like to install the ttuser1instanceint instance of TimesTen:/swdir/TimesTen/ttinstances Please enter a unique port number for the TimesTen daemon (<CR>=list):27100 Please enter a value for TNS_ADMIN (s=skip):s What is the TCP/IP port number that you want the TimesTen Server to listen on:27101 Would you like to use TimesTen Replication with Oracle Clusterware:n
バッチ・ファイルで提供される情報からのインスタンスの作成
ttInstanceCreateの-batchオプションを使用すると、指示を含むバッチ・ファイルを使用してインスタンスを作成できます。-recordオプションを指定してttInstanceCreateを実行することで、このようなファイルを作成しました。詳細は、-recordオプションを使用した対話形式でのインスタンスの作成を参照してください。
この例では、最初に-recordオプションを使用して作成されたサンプル・バッチ・ファイルを使用します。次に、このサンプル・バッチ・ファイル(instancecreatebatch)を使用してインスタンスを作成します。
ノート:
Oracle Clusterwareを使用したTimesTenのレプリケーションは、Oracle Linux for Armシステムではサポートされていません。Oracle Linux for Armを使用している場合、Oracle Clusterwareのメッセージは表示されません。Please choose an instance name for this installation:ttuser1instancebat Is this correct:y Where would you like to install the ttuser1instancebat instance of TimesTen:/swdir/TimesTen/ttinstances Please enter a unique port number for the TimesTen daemon (<CR>=list):29100 Please enter a value for TNS_ADMIN (s=skip):s What is the TCP/IP port number that you want the TimesTen Server to listen on:29101 Would you like to use TimesTen Replication with Oracle Clusterware:n
次に、インスタンスを作成します。
%installation_dir/tt22.1.1.35.0/bin/ttInstanceCreate -batch /swdir/TimesTen/ttinstances/instancecreatebatch
ttInstanceCreateから次のような出力が表示されます。
NOTE: Each TimesTen instance is identified by a unique name.
The instance name must be a non-null alphanumeric string, not longer
than 255 characters.
Instance name will be 'ttuser1instancebat'.
Creating instance in /swdir/TimesTen/ttinstances/ttuser1instancebat ...
TCP port 6624 is in use!
NOTE: If you are configuring TimesTen for use with Oracle Clusterware, the
daemon port number must be the same across all TimesTen installations
managed within the same Oracle Clusterware cluster.
** The default daemon port (6624) is already in use or within a range of 8
ports of an existing TimesTen instance. You must assign a unique daemon port
number for this instance. This installer will not allow you to assign another
instance a port number within a range of 8 ports of the port you assign below.
NOTE: All installations that replicate to each other must use the same daemon
port number that is set at installation time. The daemon port number can
be verified by running 'ttVersion'.
INFO: installation group ownership (ttVersion) is 'timesten'
In order to use the cache features in any TimesTen databases
created within this instance, you must set a value for the TNS_ADMIN
environment variable. It can be left blank, and a value can be supplied later
using <install_dir>/bin/ttInstanceModify.
NOTE: The TimesTen daemon startup/shutdown scripts have not been installed.
The startup script is located here :
'/swdir/TimesTen/ttinstances/ttuser1instancebat/startup/tt_ttuser1instancebat'
Run the 'setuproot' script :
/swdir/TimesTen/ttinstances/ttuser1instancebat/bin/setuproot -install
This will move the TimesTen startup script into its appropriate location.
The 22.1 Release Notes are located here :
'/swdir/TimesTen/ttinstallations/fullinstall/tt22.1.1.35.0/README.html'
Starting the daemon ...
TimesTen Daemon (PID: 7725, port: 29100) startup OK.TimesTen完全インスタンスが正常に作成されました。次のステップについては、インスタンス・ホーム・ディレクトリおよびサブディレクトリの確認に進んでください。
Oracle Clusterwareのための対話形式でのインスタンスの作成
この例では、インスタンスを対話形式で作成して、Oracle ClusterwareでTimesTenレプリケーションを有効にする方法を示します。Oracle Clusterwareを使用したTimesTenレプリケーションは、Oracle Linux for Armシステムではサポートされないため、Oracle Linux for Armを使用している場合はこの例を実行しないでください。
Oracle Clusterwareインストール環境へのパスの入力を求められたら、そのパスを指定するか、スキップできます。スキップする場合は、後でttInstanceModify -crsオプションを使用してパスを指定できます。詳細は、インスタンスのOracle Clusterware構成の変更を参照してください。
この例では、Oracle Clusterインストール環境へのパスを/u01/app/crs_releasedir/gridとして示しています。ここで、crs_releasedirはCRSリリースの変数です(たとえば、CRSリリースが19.1.0の場合、19.1.0に置き換えて、パスを/u01/app/19.1.0/gridのようにできます)。
指定したディレクトリに有効なOracle Clusterwareインストール環境が存在する必要があります。
この例では、入力された値または選択されたデフォルトが太字で表示されています。
%installation_dir/tt22.1.1.35.0/bin/ttInstanceCreate NOTE: Each TimesTen instance is identified by a unique name. The instance name must be a non-null alphanumeric string, not longer than 255 characters. Please choose an instance name for this installation? [ tt221 ] crsinstance Instance name will be 'crsinstance'. Is this correct? [ yes ] yes Where would you like to install the crsinstance instance of TimesTen? [ /home/oracle ] /u02/ttinstances Creating instance in /u02/ttinstances/crsinstance ... NOTE: If you are configuring TimesTen for use with Oracle Clusterware, the daemon port number must be the same across all TimesTen installations managed within the same Oracle Clusterware cluster. NOTE: All installations that replicate to each other must use the same daemon port number that is set at installation time. The daemon port number can be verified by running 'ttVersion'. The default port number is 6624. Do you want to use the default port number for the TimesTen daemon? [ yes ] The daemon will run on the default port number (6624). INFO: installation group ownership (ttVersion) is 'oinstall' In order to use the cache features in any TimesTen databases created within this instance, you must set a value for the TNS_ADMIN environment variable. It can be left blank, and a value can be supplied later using <install_dir>/bin/ttInstanceModify. Please enter a value for TNS_ADMIN (s=skip)? [ ] s What is the TCP/IP port number that you want the TimesTen Server to listen on? [ 6625 ] Would you like to use TimesTen Replication with Oracle Clusterware? [ no ] yes A Clusterware installation was detected in /u01/app/crs_releasedir/grid Please provide the path to the Oracle Clusterware installation on this machine (s=skip)? [ /u01/app/crs_releasedir/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? [ 3574 ] Executing '/u01/app/crs_releasedir/grid/bin/olsnodes' ... Oracle Clusterware is currently configured on the following nodes : 1. tthost1 2. tthost2 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 ] NOTE: The TimesTen daemon startup/shutdown scripts have not been installed. The startup script is located here : '/u02/ttinstances/crsinstance/startup/tt_crsinstance' Run the 'setuproot' script : /u02/ttinstances/crsinstance/bin/setuproot -install This will move the TimesTen startup script into its appropriate location. The 22.1 Release Notes are located here : '/u02/tt22.1.1.35.0/README.html' Starting the daemon ... TimesTen Daemon (PID: 11839, port: 6624) startup OK.
ノート:
Oracle Clusterwareのインストール環境がTimesTenによって検出されました。場所が確認されました。
インスタンス・ホーム・ディレクトリおよびサブディレクトリの確認
インスタンス・ホーム・ディレクトリおよびサブディレクトリは、情報を得るために確認できます。インスタンスを作成すると、各インスタンスの$TIMESTEN_HOMEの下に次のサブディレクトリが含まれています(このリストには含まれていないサブディレクトリもあります)。
-
bin: そのインスタンスに適応するように調整された、インスタンス固有のTimesTenユーティリティおよび実行可能ファイルこれに含まれる
ttenv.sh(またはttenv.csh)によって、TimesTen環境の環境変数がセッションに適するように設定され、setuproot.shをrootとして実行することで、オペレーティング・システムが再起動されるたびにデータ・インスタンスを自動的に起動させることができます。ttenvを実行すると、binディレクトリもパスに追加されます。 -
conf: TimesTenインスタンスの構成ファイルであるtimesten.confファイルが含まれます -
diag: デーモン・ログとエラー・ログを含む診断出力 -
info: TimesTenインスタンスの永続状態が格納されているTimesTenデーモンの作業ディレクトリ -
install: このインスタンスに関連付けられているインストール内容を参照するシンボリック・リンク。 -
plsql: 次のサブディレクトリが含まれます。-
utl_file_dir:UTL_FILEパッケージを使用してPL/SQLブロックによる読取りや書込みが可能な唯一のディレクトリ
-
-
startup: このサブディレクトリに格納されているスクリプトを/etc/init.dに追加することで、そのインスタンスが、システムの起動時に自動的に起動され、システムのシャットダウン時に自動的に停止するようにできます。
Linuxカーネル・パラメータの構成
ノート:
TimesTenデーモンを自動的に管理するためにsystemdを選択した場合、systemdのカーネル・パラメータの構成の詳細について、systemdを使用したTimesTenサービスの管理を参照してください。shmmaxおよびshmallの構成
共有メモリー・セグメントの最大サイズ(shmmaxメモリー・カーネル・パラメータ)が、データベースの共有メモリー・セグメントの合計サイズを格納するのに十分な大きさになるように、Linux共有メモリーを構成する必要があります。TimesTen Classicでは、データベース全体が単一の共有メモリー・セグメントに保持されます。PL/SQLで使用される2番目のメモリー・セグメントもあります。
Linuxでは、共有メモリー・セグメントは複数のページで構成されており、デフォルトのページ・サイズは通常4KB (4096バイト)です。デフォルトのページ・サイズを確認するには、getconf PAGESIZEコマンドを実行します。
% getconf PAGESIZE 4096
次の共有メモリーのカーネル・パラメータを構成して、共有メモリー・セグメントのサイズを制御します。
-
shmmax: 1つの共有メモリー・セグメントの最大サイズ(バイト単位)。この値は、データベースの共有メモリー・セグメントの合計サイズに対応できる十分な大きさである必要があります。 -
shmall: ページで表された共有メモリー・セグメントの合計サイズ。この値は、ページ・サイズ(4kB)の倍数で表され、shmall * pagesizeはshmmaxの値以上にする必要があります。shmallの値は、物理RAMの合計量以下に設定することをお薦めします。物理メモリーの合計量を表示するには、Linuxcat /proc/meminfoコマンドを実行します。
ttShmSizeユーティリティを使用して、共有メモリー・セグメントのサイズを決定します。ttShmSizeユーティリティは、PermSize、TempSize、LogBufMBおよびConnections接続属性(指定されたデータベース用)の値を使用してこのサイズを決定します。ttShmSizeユーティリティの詳細はOracle TimesTen In-Memory DatabaseリファレンスのttShmSizeを参照し、各接続属性の詳細はOracle TimesTen In-Memory DatabaseリファレンスのPermSize、TempSize、LogBufMBおよびConnectionsを参照してください。
ttShmSizeユーティリティを-connStrオプションを指定して使用して、database1 DSNを使用して共有メモリー・セグメントのサイズを確認します。PermSize値は32GB (32768MB)、TempSize値は4GB (4096MB)、LogBufMB値は1GB (1024MB)およびConnections値は2048を指定します。 % ttShmSize -connstr "DSN=database1;PermSize=32768;TempSize=4096;LogBufMB=1024;Connections=2048"
The required shared memory size is 39991547720 bytes.ノート:
-
ttShmSizeユーティリティの-connStrオプションでは、ユーザー.odbc.iniまたはシステムsys.odbc.iniファイルのいずれかにDSNが定義されている必要があります。任意のDSNを使用できます。-connStrオプションで指定されていない接続属性の場合、ttShmSizeは、指定されたDSNに対してユーザー.odbc.iniファイルまたはシステムsys.odbc.iniファイルのいずれかに定義された設定を使用することに注意してください。接続属性が-connStrオプションとユーザー.odbc.iniファイルまたはsys.odbc.iniファイルのいずれかのどちらにもない場合、ttShmSizeは接続属性のデフォルト値を使用します。 -
DSNは、ユーザー
.odbc.iniファイルまたはシステムsys.odbc.iniファイルのいずれかに追加できます。たとえば、database1DSNを現在のオペレーティング・システム・ユーザーのユーザー.odbc.iniファイルに追加するには:% vi ~/.odbc.ini ... [database1]
shmmaxおよびshmallのサイズを設定するには:
ノート:
-
より大きい
shmmaxおよびshmallが他のアプリケーションで必要となる場合は、これらの例のこれらの設定を増やすことができます。 -
データベースのサイズが不明な場合は、物理メモリーのサイズの割合(80%など)に対応するように
shmmaxおよびshmallを設定できます。
HugePagesの構成
メモリー管理を効率化するためにHugePagesを構成できます。
構成後は、HugePagesに割り当てられたメモリーは、Linuxホスト上のRAM合計から取得され、他の用途には使用できません。また、HugePagesメモリー・セグメントは自動的にロックされ、ディスクにスワップできません。
HugePagesを構成するには、次のことを把握する必要があります。
-
データベースの共有メモリー・セグメントの最大サイズ
-
Linuxホストの
HugePagesページ・サイズ -
インスタンス管理者のグループID
shmmaxおよびshmallの構成の項の例(shmmax値は39,054,246kB)およびTimesTenユーザー・グループの作成の項の例(instanceadminユーザーのグループIDは10000)を使用します:
-
合計共有メモリー・セグメントのサイズは39,054,246kBです。
-
HugePagesページ・サイズは2048 KBです。(この値はプラットフォームごとに固定され、構成できません。)HugePagesページ・サイズを決定するには、Linux
cat /proc/meminfo|grepHugepagesizeコマンドを実行します。% cat /proc/meminfo | grep Hugepagesize Hugepagesize: 2048 kB
-
グループIDは10000です。
インスタンス管理者のグループIDを決定するには、
instanceadminユーザーとしてログインし、Linuxidコマンドを実行します。% id uid=55000(instanceadmin) gid=10000(g10000)groups=10000(g10000)
HugePagesを構成するには、次の手順を実行します:
ノート:
-
HugePagesは連続した使用可能メモリー領域への割当てが必要なため、ホストを再起動するまでは、要求された割当てが設定されないか、部分的にのみ設定される場合があります。/proc/meminfoからHugePages_TotalおよびHugePages_Freeの値を確認します。再起動するときには、ホストで十分なメモリーを使用できると想定し、すべて割り当てられます。 -
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接続属性の設定とは異なります。
ノート:
systemdを使用してTimesTenサービスを管理している場合は、systemdサービス・ユニット構成ファイルでLimitMEMLOCK設定を設定する必要があります。systemdは、/etc/security/limits.confファイルの値を無視します。詳細は、systemdを使用したTimesTenサービスの管理を参照してください。
HugePagesが構成されている場合、memlock値は、共有メモリー・セグメントのサイズに対応できるように大きくする必要があります。そうしないと、データベースがメモリーにロードされません。
たとえば、instanceadminユーザーの場合、共有メモリー・セグメントの合計サイズが39,054,246kBと想定して、memlockエントリを39054246に設定します。
セマフォ値の設定
TimesTenでは、データベースへの最大接続数に上限があります。データベース接続は次のもので構成されます。
-
ユーザー接続: ユーザー・アプリケーションによって確立されます
-
システム接続: TimesTenによって内部的に確立されます(接続数を48に設定)
-
その他の必要な接続(接続数を107に設定)
これらの各接続には1つのセマフォが割り当てられ、データベースの合計セマフォは次のようになります。
Total semaphores = user connections (N) + system connections (48) +
other required connections (107)
Total semaphores = N + 155
セマフォ設定は、/etc/sysctl.confのkernel.sem構成ディレクティブにあります。
kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI
ここで:
-
SEMMSLは、配列ごとのセマフォの最大数です。この値は、最大接続数に関連します。この値は、155と同時ユーザー接続数の合計に構成します。 -
SEMMNSは、システム全体のセマフォの最大数です。ガイドラインとして、式SEMMNS= (SEMMNI* SEMMSL)を使用します。ただし、実際にはSEMMNSはSEMMNI* SEMMSLより大幅に小さい場合があります。 -
SEMOPMは、semopコールごとの最大処理数です。 -
SEMMNIは、配列の最大数です。
次のステップに従って、SEMMSLおよびSEMMNI設定を構成します。ユーザーがrootであることを確認します。
ノート:
レプリケーションを使用している場合、マスター・データベースが存在する各ホストのLinuxプラットフォームでは、共有メモリーとセマフォに対して同様のカーネル設定が必要です。特に、SEMMSLおよびSEMMNIの設定は、複製が実行される前に、アクティブ・スタンバイ・レプリケーション・スキームに参加するすべてのホストで十分な大きさである必要があります。フェイルオーバーの場合、スタンバイはアクティブに対応できる必要があります。
SHMMNIパラメータの設定
SHMMNI値は、ホストが同時に作成できる共有メモリー・セグメントの数を制御します。TimesTenは、TimesTenデータベースの共有メモリー・セグメントと、PL/SQLの共有メモリー・セグメントを作成します。さらに、各クライアント/サーバー接続の間に割り当てられる小さな共有メモリー・セグメントがあります。この共有メモリー・セグメントは接続時に作成され、クライアント/サーバー接続がTimesTenデータベースから切断されるときに破棄されます。クライアント/サーバー接続ごとに1つの共有メモリー・セグメントがあります。
クライアント/サーバー接続の数を考慮するようにSHMMNIパラメータ設定を構成する必要があります。SHMMNIを、予想されるクライアント/サーバー接続の数より大きい値に設定します。(TimesTen共有メモリー・セグメント、PL/SQL共有メモリー・セグメント、および共有メモリーを使用するその他のプログラムも考慮してください。)たとえば、8000のクライアント/サーバー接続があると予想される場合、適切な値は9000以上です。TimesTenにはクライアント/サーバー接続数に含まれていないシステム接続があるため、9000以上の値が適切です。
次のステップに従って、SHMMNI設定を構成します。ユーザーがrootであることを確認します。
ノート:
レプリケーションを使用している場合、マスター・データベースが存在する各ホストのLinuxプラットフォームには、同様のSHMMNIカーネル設定が必要です。特に、複製が実行される前に、アクティブ・スタンバイ・レプリケーション・スキームに参加するすべてのホストでSHMMNI設定が十分に大きい必要があります。フェイルオーバーの場合、スタンバイはアクティブに対応できる必要があります。
System V initスクリプトを使用したシステム起動時のインスタンスの自動起動
TimesTenデーモンをシステムの起動時に自動的に起動し、システムの停止時に自動的に停止するオプションがあります。
ノート:
このオプションを選択しない場合、インスタンス管理者は常にTimesTenデーモンを制御します。このオプションを有効にするには、rootユーザーは-installオプションを指定してTimesTenのsetuprootスクリプトを実行します。スクリプトは、timesten_home/binディレクトリにあります。このスクリプトは、一連のスクリプトを/etc/init.dディレクトリにコピーします。
インスタンスの作成時のttInstanceCreateの出力には、これに関する情報があります。たとえば、myinstanceという名前のインスタンスの場合は、次のようになります。
NOTE: The TimesTen daemon startup/shutdown scripts have not been installed.
The startup script is located here :
'/swdir/TimesTen/ttinstances/myinstance/startup/tt_myinstance'
Run the 'setuproot' script :
/swdir/TimesTen/ttinstances/myinstance/bin/setuproot -install
This will move the TimesTen startup script into its appropriate location.
setuprootスクリプトは、インスタンス・ホーム・ディレクトリを示すTIMESTEN_HOME環境変数の現在の設定に従って動作します。
この例では、timesten_home/binはrootユーザーの現在のディレクトリです。
# echo$TIMESTEN_HOME/swdir/TimesTen/ttinstances/myinstance #$TIMESTEN_HOME/bin/setuproot -install Would you like to install the TimesTen daemon startup scripts into /etc/init.d? [ yes ] Copying /swdir/TimesTen/ttinstances/myinstance/startup/tt_myinstance to /etc/init.d Successfully installed the following scripts : /etc/init.d/tt_myinstance /etc/rc.d/rc0.d/K45tt_myinstance /etc/rc.d/rc1.d/K45tt_myinstance /etc/rc.d/rc2.d/S90tt_myinstance /etc/rc.d/rc3.d/S90tt_myinstance /etc/rc.d/rc5.d/S90tt_myinstance /etc/rc.d/rc6.d/K45tt_myinstance
インスタンスを破棄する前に、rootでsetuproot -uninstallを実行する必要があります。
# $TIMESTEN_HOME/bin/setuproot -uninstall
Would you like to uninstall the TimesTen daemon startup scripts in /etc/init.d?
[ yes ]
Successfully deleted the following scripts :
/etc/rc.d/rc0.d/K45tt_myinstance
/etc/rc.d/rc1.d/K45tt_myinstance
/etc/rc.d/rc2.d/S90tt_myinstance
/etc/rc.d/rc3.d/S90tt_myinstance
/etc/rc.d/rc5.d/S90tt_myinstance
/etc/rc.d/rc6.d/K45tt_myinstance
/etc/init.d/tt_myinstanceノート:
インスタンスを破棄する前にsetuproot -uninstallを実行しない場合は、setuproot -installによって配置されたファイルを手動で削除する必要があります。