プライマリ・コンテンツに移動
Oracle® Databaseインストレーション・ガイド
12cリリース1 (12.1) for Oracle Solaris
B71320-09
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

D インストール前の作業を手動で完了する方法

この付録では、通常Cluster Verification Utility(CVU)およびOracle Universal Installerがインストール時に完了する構成作業を、手動で行う方法について説明します。この付録は、修正スクリプトを使用できないときに参考にしてください。

この付録の内容は次のとおりです。

D.1 Oracle Solarisのカーネル・パラメータの構成

この項の内容は次のとおりです。


注意:

この項に示すカーネル・パラメータ値は、単なる最小値です。本番データベース・システムでは、これらの値をチューニングしてシステムのパフォーマンスを最適化することをお薦めします。カーネル・リソース管理の詳細は、オペレーティング・システムのドキュメントを参照してください。

D.1.1 インストールのための最小パラメータ設定

インストール時にFixupスクリプトを生成して実行し、データベースを正常にインストールするために必要なカーネル・パラメータ値を確認および設定できます。このスクリプトは、必要なカーネル・パッケージを必要に応じて最小値に更新します。

修正スクリプトを使用できない場合は、次の表を参照して手動で値を設定します。次の表で、各カーネル・パラメータが表に示す最小値以上の値に設定されていることを確認します。


注意:

Oracle Solaris 10の場合、System V IPCを実装するために/etc/systemファイルを変更する必要はありません。Oracle Solaris 10では、その実装にリソース制御機能が使用されます。

リソース制御 最小値
project.max-sem-ids 100
process.max-sem-nsems 256
project.max-shm-memory この値はRAMサイズによって異なります。最小値については、「共有メモリー・リソースの要件」を参照してください。
project.max-shm-ids 100
tcp_smallest_anon_port 9000
tcp_largest_anon_port 65500
udp_smallest_anon_port 9000
udp_largest_anon_port 65500


注意:

  • project.max-shm-memoryリソース制御は、対応するプロジェクトで起動された各Oracle Databaseインスタンスに割り当てられたすべての共有メモリーの累積合計です。

  • project.max-shm-memoryリソース制御値は、Oracleインスタンス以外の他のアプリケーションがこのプロジェクトの共有メモリー・セグメントを使用していないことを前提としています。Oracleインスタンス以外のアプリケーションが共有メモリー・セグメントを使用する場合、その使用量をproject.max-shm-memoryリソース制御値に加える必要があります。

  • memory_target (またはmax_sga_size)がprocess.max-address-spaceおよびproject.max-shm-memoryを超えていないことを確認してください。詳細は、次の場所にあるMy Oracle Supportのノート1370537.1を参照してください。

    https://support.oracle.com/


D.1.2 共有メモリー・リソースの要件

リソース制御のproject.max-shm-memoryを使用すると、プロジェクトの最大共有メモリーを設定できます。

次の表に、project.max-shm-memoryの最小インストール設定を示します。

表D-1 リソース制御project.max-shm-memoryの要件

RAM project.max-shm-memory設定

1から16 GB

物理メモリー・サイズの1/2

16GBよりも大きい

8GB以上


D.1.3 共有メモリー・リソース制御の確認

prctlコマンドを使用して、システム上のアクティブなプロセス、タスクまたはプロジェクトに関連付けられているリソース制御に対して、実行時の問合せや変更を行います。

プロジェクトおよびシステム全体のproject.max-shm-memoryセットの現在の値を表示するには、次のコマンドを入力します。

# prctl -n project.max-shm-memory -i project default

ここでdefaultは、id -pコマンドを実行して取得されるプロジェクトIDです。

たとえば、システムを再起動せずにプロジェクト・デフォルトに対してproject.max-shm-memoryの設定を6GBに変更するには、次のコマンドを入力します。

prctl -n project.max-shm-memory -v 6gb -r -i project default

関連項目:

次のWebサイトのOracle Solaris 11の管理に関するドキュメントを参照してください。
http://docs.oracle.com/cd/E23824_01/index.html

D.1.4 カーネル・パラメータの値の表示および変更

リソース制御に対して指定されている現在の値を表示し、必要に応じて変更するには、次の手順を使用します。

  1. リソース制御の現在の値を表示するには、次のコマンドを入力します。

    $ id -p // to verify the project id
    uid=100(oracle) gid=100(dba) projid=1 (group.dba)
    $ prctl -n project.max-shm-memory -i project group.dba
    $ prctl -n project.max-sem-ids -i project group.dba
    
  2. 現在の値を変更する必要がある場合、次の手順を実行します。

    1. max-shm-memoryの値を6GBに変更するには、次のコマンドを入力します。

      # prctl -n project.max-shm-memory -v 6gb -r -i project group.dba
      
    2. max-sem-idsの値を256に変更するには、次のコマンドを入力します。

      # prctl -n project.max-sem-ids -v 256 -r -i project group.dba
      

注意:

prctlコマンド(リソース制御)を使用してシステム・パラメータを変更する場合、これらのパラメータの変更を有効にするためにシステムを再起動する必要はありません。ただし、変更されたパラメータは、システムの再起動後は永続しません。

システムの再起動後に永続するよう、リソース制御プロジェクト設定を変更するには、次の手順を使用します。

  1. デフォルトでは、Oracleインスタンスはdbaグループのoracleユーザーとして実行されます。group.dbaという名前のプロジェクトが、oracleユーザーのデフォルト・プロジェクトとして機能するように作成されます。コマンドidを実行して、oracleユーザーのデフォルトのプロジェクトを検証します。

    # su - oracle
    $ id -p
    uid=100(oracle) gid=100(dba) projid=100(group.dba)
    $ exit
    
  2. 最大共有メモリー・サイズを2GBに設定するには、projmodコマンドを実行します。

    # projmod -sK "project.max-shm-memory=(privileged,2G,deny)" group.dba
    

    また、リソース制御値project.max-shm-memory=(privileged,2147483648,deny)を、Oracleプロジェクトのプロジェクト・エントリの最後のフィールドに追加する方法もあります。

  3. これらの手順が終了した後、次のコマンドを使用して/etc/projectファイルの値を確認します。

    # cat /etc/project
    

    このコマンドの出力結果は、次のようになります。

    system:0::::
    user.root:1::::
    noproject:2::::
    default:3::::
    group.staff:10::::
    group.dba:100:Oracle default project ::: project.max-shm-memory=(privileged,2147483648,deny)
    
  4. リソース制御がアクティブであることを確認するには、次の例のように、プロセス所有権をチェックし、コマンドidおよびprctlを実行します。

    # su - oracle
    $ id -p
    uid=100(oracle) gid=100(dba) projid=100(group.dba)
    $ prctl -n project.max-shm-memory -i process $$
    process: 5754: -bash
    NAME                    PRIVILEGE     VALUE     FLAG     ACTION    RECIPIENT
    project.max-shm-memory  privileged    2.00GB     -       deny 
    

    注意:

    最大共有メモリーの値は、SGAの要件に応じて異なり、SGAのサイズより大きい値に設定する必要があります。

    詳細は、『Oracle Solaris Tunable Parametersリファレンス・マニュアル』を参照してください。


D.2 Oracle Solarisに対するシェル制限の構成

シェル制限およびシステム構成パラメータは、この項の説明に従って設定することをお薦めします。


注意:

この項に示すシェル制限値は、単なる最小値です。本番データベース・システムでは、これらの値をチューニングしてシステムのパフォーマンスを最適化することをお薦めします。シェル制限の構成の詳細は、オペレーティング・システムのマニュアルを参照してください。

ulimit設定により、プロセス・メモリー関連のリソース制限が決定されます。次の表に示されているシェル制限が、示されている値に設定されていることを確認します。

シェル制限 説明 ソフト制限(KB) ハード制限(KB)
STACK プロセスのスタック・セグメントのサイズ 10240以上 32768以下
NOFILES オープン・ファイル記述子 1024以上 65536以上
MAXUPRCまたはMAXPROC 最大ユーザー・プロセス 2047以上 16384以上

これらのシェル制限に指定されている現在の値を表示するには、次のコマンドを入力します。

ulimit -s
ulimit -n

D.3 UDPおよびTCPカーネル・パラメータの手動設定

修正スクリプトまたはCVUを使用してエフェメラル・ポートを設定しない場合は、NDDを使用して、カーネルTCP/IPエフェメラル・ポート範囲が、予想されるサーバーのワークロードに対して十分なエフェメラル・ポートを提供できることを確認します。下限を9000以上に設定し、Well KnownポートとOracleおよびその他のサーバー・ポートで一般的に使用される登録済ポート範囲のポートを避けます。使用するアプリケーションに予約済のポートを避けるようにポート範囲を高く設定します。範囲の下限が9000を超え、予想されるワークロードに対して範囲が十分大きい場合は、エフェメラル・ポート範囲に関するOUI警告は無視できます。

次のコマンドを使用して、エフェメラル・ポートの現在の範囲を確認します。

Oracle Solaris 10では、次のnddコマンドを使用します。

# /usr/sbin/ndd /dev/tcp tcp_smallest_anon_port tcp_largest_anon_port
32768

65535

Oracle Solaris 11では、次のipadmコマンドを使用します。

# ipadm show-prop -p smallest_anon_port,largest_anon_port tcp

PROTO PROPERTY           PERM CURRENT PERSISTENT DEFAULT POSSIBLE
tcp   smallest_anon_port rw   32768       --     32768   1024-65535
tcp   largest_anon_port  rw   65500       --     65535   32768-65535

上の例で、エフェメラル・ポートの範囲はデフォルトの範囲(32768-65535)に設定されています。

予想されるワークロードまたはサーバー数に必要な場合は、UDPとTCPエフェメラル・ポート範囲を広めに更新します。次に例を示します。

Oracle Solaris 10の場合

# /usr/sbin/ndd -set /dev/tcp tcp_smallest_anon_port 9000
# /usr/sbin/ndd -set /dev/tcp tcp_largest_anon_port 65500
# /usr/sbin/ndd -set /dev/udp udp_smallest_anon_port 9000
# /usr/sbin/ndd -set /dev/udp udp_largest_anon_port 65500

Oracle Solaris 11の場合

# ipadm set-prop -p smallest_anon_port=9000 tcp
# ipadm set-prop -p largest_anon_port=65500 tcp
# ipadm set-prop -p smallest_anon_port=9000 udp
# ipadm set-prop -p largest_anon_port=65500 udp

これらの設定は永続的にすることをお薦めします。システムの再起動時にこのエフェメラル・ポートの範囲変更を自動で行う方法については、システムの管理ドキュメントを参照してください。


関連項目:

Direct NFSクライアントを使用する場合は、「Direct NFSクライアントのためのTCPネットワーク・プロトコル・バッファの設定」を参照してください。