ヘッダーをスキップ

Oracle Database 管理者リファレンス
10g リリース2(10.2) for UNIX Systems

B19278-06
目次
目次
索引
索引

戻る 次へ

C LinuxシステムでのOracle Databaseの管理

この付録では、LinuxシステムでOracle Databaseを管理する方法について説明します。次の項目について説明します。

C.1 拡張バッファ・キャッシュのサポート


注意:

この項の内容は、Linux x86にのみ適用されます。 


Oracle Databaseでは、データベース・バッファ・キャッシュとして、4GBを超えるメモリーを割り当てて使用できます。この項では、Linux x86システムの拡張バッファ・キャッシュ機能の制限事項と要件について説明します。

関連項目:

拡張バッファ・キャッシュ機能の詳細は、『Oracle Database概要』を参照してください。 

メモリー内ファイル・システム

拡張バッファ・キャッシュ機能を使用するには、データベース・バッファ・キャッシュに使用するメモリー量以上のサイズのメモリー内ファイル・システムを/dev/shmマウント・ポイントに作成します。たとえば、8GBのファイル・システムを/dev/shmマウント・ポイントに作成するには、次の手順を実行します。

  1. rootユーザーで次のコマンドを実行します。

    # mount -t tmpfs shmfs -o size=8g /dev/shm
    
    
  2. システムの再起動時にメモリー内ファイル・システムが確実にマウントされるようにするには、/etc/fstabファイルに次のようなエントリを追加します。

    shmfs /dev/shm tmpfs size=8g 0 0
    
    

拡張バッファ・キャッシュ機能を有効にしてOracle Databaseを起動すると、Oracleバッファ・キャッシュに対応するファイルが/dev/shmディレクトリに作成されます。


注意:

メモリー内ファイル・システムが/dev/shmマウント・ポイントにすでにマウント済の場合は、その大きさがデータベース・バッファ・キャッシュに使用するメモリー量以上であることを確認します。 


USE_INDIRECT_DATA_BUFFERS初期化パラメータ

拡張バッファ・キャッシュ機能を有効にするには、パラメータ・ファイルでUSE_INDIRECT_DATA_BUFFERS初期化パラメータをtrueに設定します。これによって、Oracle Databaseは大きいバッファ・キャッシュを指定できるようになります。

動的キャッシュ・パラメータ

拡張キャッシュ機能が有効になっている場合は、DB_BLOCK_BUFFERSパラメータを使用してデータベース・キャッシュ・サイズを指定する必要があります。

拡張バッファ・キャッシュ機能が有効になっている間は、次の動的キャッシュ・パラメータを使用しないでください。

制限事項

拡張バッファ・キャッシュ機能には、次の制限事項が適用されます。

Red Hat Enterprise Linux 3の場合のみ: VLMウィンドウ・サイズ

VLMウィンドウ・サイズに対応するには、プロセスごとのロック・メモリーのデフォルトの最大サイズを増やす必要があります。このサイズを増やすには、/etc/security/limits.confファイルに次の行を追加します。この場合、oracleはデータベースを管理するユーザーです。

oracle          soft    memlock        3145728
oracle          hard    memlock        3145728

sshを使用してシステムにログインする場合、/etc/ssh/sshd_configファイルに次の要素を追加して、sshセッションの開始時にデフォルト値を使用できるようにします。

UsePrivilegeSeparation no

C.2 SUSE Linux Enterprise Server 9またはRed Hat Enterprise Linux 4でのhugetlbfsの使用

SUSE Linux Enterprise Server 9またはRed Hat Enterprise Linux 4において、Oracle Databaseでラージ・ページ(Hugeページとも呼ばれる)を使用可能にするには、vm.nr_hugepagesカーネル・パラメータの値を設定し、予約するラージ・ページ数を指定します。データベース・インスタンスのSGA全体を保持するだけの十分なラージ・ページ数を指定する必要があります。必要なパラメータ値を判断するには、インスタンスのSGAサイズをラージ・ページのサイズで除算してから、結果の端数を切り上げて最も近い整数にします。

デフォルトのラージ・ページ・サイズを判断するには、次のコマンドを実行します。

# grep Hugepagesize /proc/meminfo

たとえば、/proc/meminfoにラージ・ページのサイズが2MBとリストされ、インスタンスの総SGAサイズが1.6GBの場合は、vm.nr_hugepagesカーネル・パラメータの値を820(1.6GB / 2MB = 819.2)に設定します。

C.3 Red Hat Enterprise Linux AS 3でのhugetlbfsの使用


注意:

Red Hat Linux AS 3では、Linux on POWERはサポートされていません。 


Red Hat Enterprise Linux AS 3でラージ・ページを使用するには、次の手順を実行します。

  1. ラージ・ページ・プールに必要なメモリーを決定します。

    この値を決定するには、インスタンスのSGAのサイズをMBに変換し、4MB単位で端数を切り上げます。たとえば、SGAが2.7GBの場合、適切な値は2768MBです。

  2. 使用するブート・ローダーのタイプに応じて、次のいずれかの手順を実行します。

    LILOの場合

    1. /etc/lilo.confファイルの適切なイメージ・セクションに、hugepagesオプションを追加して、ページ数を指定します。

      append = "hugepages=1024"
      
      
    2. /sbin/liloを実行します。

    3. システムを再起動します。

    GRUBの場合

    1. /etc/grub.confファイルのkernelコマンドに、hugepagesオプションを追加して、次のようにページ数を指定します。

      kernel /vmlinuz-2.4.9 root=/dev/hda5 hugepages=1024
      
      
    2. システムを再起動します。

  3. /etc/sysctl.confファイルに次のエントリを追加または編集して、ラージ・ページ・プールのサイズをMBで指定します。

    vm.hugetlb_pool = 2768
    
    
  4. 次のコマンドを実行してカーネル・パラメータの値を設定します。

    # sysctl -p /etc/sysctl.conf
    
    
  5. このメモリー量がラージ・ページ・プールに正常に移動したことを確認するには、次のコマンドを実行します。

    # cat /proc/meminfo
    
    

    最後に表示される行は、ラージ・ページ・プールに移動したメモリー・ページ数を示します。

  6. Oracle Databaseを起動します。

C.4 SGAアドレス空間の増加


注意:

この項の内容は、Linux x86にのみ適用されます。 


Linuxのディストリビューションに応じて、次のいずれかの項の説明を適用してSGAアドレス空間を増やします。

SUSE Linux Enterprise Server 9

SUSE Linux Enterprise Server 9でSGAアドレス空間を増やすには、次の手順を実行します。

  1. oracleユーザーでログインします。

  2. $ORACLE_HOME/rdbms/libディレクトリで、次のコマンドを実行します。

    $ genksms -s 0x15000000 > ksms.s
    $ make -f ins_rdbms.mk ksms.o
    $ make -f ins_rdbms.mk ioracle
    
    


    注意:

    前述の手順を完了してもOracle Databaseが起動しない場合、またはランタイム・メモリー・エラーが存在する場合は、最初のコマンドで指定した16進の数値を大きくしてください。たとえば、0x15000000の値でOracle Databaseが起動しない場合は、0x20000000の値を指定します。この値を小さくするとSGAアドレス空間が大きくなりますが、PGAアドレス空間は小さくなる場合があります。 


  3. 次のコマンドを実行し、oracleユーザーのシェル・プロセスのプロセスIDを確認します。

    $ echo $$
    
    

    戻される数値はプロセスIDです。

  4. 次のコマンドを実行し、ユーザーをrootに切り替えます。

    $ su - root
    
    
  5. 次のコマンドを実行し、oracleユーザーのシェル・プロセスのmapped_base設定を変更します。pidは、手順3で識別したプロセスIDです。

    # echo 268435456 > /proc/pid/mapped_base
    
    
  6. exitコマンドを実行してoracleユーザーのシェル・プロセスに戻り、OracleリスナーとOracle Databaseを起動します。


    注意:

    Oracleプロセスはすべて、この変更したmapped_base値を取得する必要があります。mapped_baseが変更されているシェルからリスナーを起動すると、クライアント接続を正しく接続できます。 


Red Hat Enterprise Linux AS 3

Red Hat Enterprise Linux AS 3または4でSGAアドレス空間を増やすには、次の手順を実行します。

  1. oracleユーザーでログインします。

  2. $ORACLE_HOME/rdbms/libディレクトリで、次のコマンドを実行します。

    $ genksms -s 0x15000000 > ksms.s
    $ make -f ins_rdbms.mk ksms.o
    $ make -f ins_rdbms.mk ioracle
    
    
  3. Oracle Databaseを起動します。

C.5 非同期I/Oサポート


注意:

Linuxでは、デフォルトにより、自動ストレージ管理で非同期I/Oが使用されます。NFSファイル・システムに格納されたデータベース・ファイルでは、非同期I/Oはサポートされません。 


Oracle Databaseでは、カーネルの非同期I/Oがサポートされます。この機能は、デフォルトでは無効になっています。

デフォルトでは、パラメータ・ファイルのDISK_ASYNCH_IO初期化パラメータはtrueに設定され、RAWデバイスに対する非同期I/Oが有効になっています。ファイル・システムのファイルに対して非同期I/Oを有効にするには、次の手順を実行します。

  1. すべてのOracle Databaseファイルが、非同期I/Oをサポートしているファイル・システム上にあることを確認します。

  2. パラメータ・ファイル内のFILESYSTEMIO_OPTIONS初期化パラメータを次のいずれかの値に設定します。

    Linuxディストリビューション  推奨値 

    SUSE Linux Enterprise Server 9 

    SETALL 

    その他のディストリビューション 

    ASYNCH 

C.6 ダイレクトI/Oサポート

ダイレクトI/Oサポートは、Red Hat Enterprise Linux 3およびSUSE Linux Enterprise Server 9では使用可能であり、サポートされています。


注意:

Red Hat Enterprise Linux 3でダイレクトI/Oを使用するには、使用するドライバがvary I/Oをサポートしている必要があります。

Linux on POWERの場合、Red Hat Linux 4でダイレクトI/Oを使用できます。 


ダイレクトI/Oサポートを使用可能にするには、次の手順を実行します。

C.7 semtimedopのサポート


注意:

Linux on POWERでは、semtimedopはサポートされていません。 


Red Hat Enterprise Linux 3およびSUSE Linux Enterprise Server 9では、Oracle Databaseでsemtimedop()システム・コール(時間制限付きセマフォ)がサポートされます。この機能のサポートを有効にするには、$ORACLE_HOME/rdbms/libディレクトリでoracleユーザーとして次のコマンドを実行します。

$ make -f ins_rdbms.mk smt_on

semtimedop()のサポートを無効にするには、$ORACLE_HOME/rdbms/libディレクトリでoracleユーザーとして次のコマンドを実行します。

$ make -f ins_rdbms.mk smt_off

C.8 高速ネットワークのサポート


注意:

この項の内容は、Linux x86にのみ適用されます。 


Oracle Database 10g リリース1(10.1)のOracle Netでは、Red Hat Enterprise Linux AS 3でInfiniBandネットワーク・アーキテクチャを介したSockets Directプロトコル(SDP)がサポートされます。このリリースでは、SDPのサポートは同期I/Oのみの限定です。SDPを介した非同期I/O使用のサポートの詳細は、次のドキュメントを参照してください。

http://www.oracle.com/technology/products/oraclenet/files/Oracle_Net_High-Speed_
Interconnect_Support.doc


注意:

このドキュメントで特に示されていないかぎり、Oracle NetのNET_ASYNC_IOおよびSDP_ASYNC_IO構成パラメータを設定しないでください。 


C.9 マルチスレッド同時処理(SMT)

マルチスレッド同時処理(SMT)が有効になっている場合、v$osstatビューは、オンライン論理(NUM_LCPUS)および仮想CPU(NUM_VCPUS)に対応した2つの行を追加して報告します。


戻る 次へ
Oracle
Copyright © 2006, 2009, Oracle and/or its affiliates.
All Rights Reserved.
目次
目次
索引
索引