Oracle Database 管理者リファレンス 10g リリース2(10.2) for UNIX Systems B19278-06 |
|
この付録では、LinuxシステムでOracle Databaseを管理する方法について説明します。次の項目について説明します。
Oracle Databaseでは、データベース・バッファ・キャッシュとして、4GBを超えるメモリーを割り当てて使用できます。この項では、Linux x86システムの拡張バッファ・キャッシュ機能の制限事項と要件について説明します。
拡張バッファ・キャッシュ機能を使用するには、データベース・バッファ・キャッシュに使用するメモリー量以上のサイズのメモリー内ファイル・システムを/dev/shm
マウント・ポイントに作成します。たとえば、8GBのファイル・システムを/dev/shm
マウント・ポイントに作成するには、次の手順を実行します。
root
ユーザーで次のコマンドを実行します。
# mount -t tmpfs shmfs -o size=8g /dev/shm
/etc/fstab
ファイルに次のようなエントリを追加します。
shmfs /dev/shm tmpfs size=8g 0 0
拡張バッファ・キャッシュ機能を有効にしてOracle Databaseを起動すると、Oracleバッファ・キャッシュに対応するファイルが/dev/shm
ディレクトリに作成されます。
拡張バッファ・キャッシュ機能を有効にするには、パラメータ・ファイルでUSE_INDIRECT_DATA_BUFFERS
初期化パラメータをtrueに設定します。これによって、Oracle Databaseは大きいバッファ・キャッシュを指定できるようになります。
拡張キャッシュ機能が有効になっている場合は、DB_BLOCK_BUFFERS
パラメータを使用してデータベース・キャッシュ・サイズを指定する必要があります。
拡張バッファ・キャッシュ機能が有効になっている間は、次の動的キャッシュ・パラメータを使用しないでください。
拡張バッファ・キャッシュ機能には、次の制限事項が適用されます。
DB_BLOCK_SIZE
パラメータで指定されたブロック・サイズのみを使用した表領域を作成できます。
VLMウィンドウ・サイズに対応するには、プロセスごとのロック・メモリーのデフォルトの最大サイズを増やす必要があります。このサイズを増やすには、/etc/security/limits.conf
ファイルに次の行を追加します。この場合、oracle
はデータベースを管理するユーザーです。
oracle soft memlock 3145728 oracle hard memlock 3145728
ssh
を使用してシステムにログインする場合、/etc/ssh/sshd_config
ファイルに次の要素を追加して、ssh
セッションの開始時にデフォルト値を使用できるようにします。
UsePrivilegeSeparation no
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)に設定します。
Red Hat Enterprise Linux AS 3でラージ・ページを使用するには、次の手順を実行します。
この値を決定するには、インスタンスのSGAのサイズをMBに変換し、4MB単位で端数を切り上げます。たとえば、SGAが2.7GBの場合、適切な値は2768MBです。
LILOの場合
/etc/lilo.conf
ファイルの適切なイメージ・セクションに、hugepages
オプションを追加して、ページ数を指定します。
append = "hugepages=1024"
/sbin/lilo
を実行します。
GRUBの場合
/etc/sysctl.conf
ファイルに次のエントリを追加または編集して、ラージ・ページ・プールのサイズをMBで指定します。
vm.hugetlb_pool = 2768
# sysctl -p /etc/sysctl.conf
# cat /proc/meminfo
最後に表示される行は、ラージ・ページ・プールに移動したメモリー・ページ数を示します。
Linuxのディストリビューションに応じて、次のいずれかの項の説明を適用してSGAアドレス空間を増やします。
SUSE Linux Enterprise Server 9でSGAアドレス空間を増やすには、次の手順を実行します。
oracle
ユーザーでログインします。
$ORACLE_HOME/rdbms/lib
ディレクトリで、次のコマンドを実行します。
$ genksms -s 0x15000000 > ksms.s $ make -f ins_rdbms.mk ksms.o $ make -f ins_rdbms.mk ioracle
oracle
ユーザーのシェル・プロセスのプロセスIDを確認します。
$ echo $$
戻される数値はプロセスIDです。
root
に切り替えます。
$ su - root
oracle
ユーザーのシェル・プロセスのmapped_base設定を変更します。pid
は、手順3で識別したプロセスIDです。
# echo 268435456 > /proc/pid/mapped_base
exit
コマンドを実行してoracle
ユーザーのシェル・プロセスに戻り、OracleリスナーとOracle Databaseを起動します。Red Hat Enterprise Linux AS 3または4でSGAアドレス空間を増やすには、次の手順を実行します。
oracle
ユーザーでログインします。
$ORACLE_HOME/rdbms/lib
ディレクトリで、次のコマンドを実行します。
$ genksms -s 0x15000000 > ksms.s $ make -f ins_rdbms.mk ksms.o $ make -f ins_rdbms.mk ioracle
Oracle Databaseでは、カーネルの非同期I/Oがサポートされます。この機能は、デフォルトでは無効になっています。
デフォルトでは、パラメータ・ファイルのDISK_ASYNCH_IO
初期化パラメータはtrueに設定され、RAWデバイスに対する非同期I/Oが有効になっています。ファイル・システムのファイルに対して非同期I/Oを有効にするには、次の手順を実行します。
FILESYSTEMIO_OPTIONS
初期化パラメータを次のいずれかの値に設定します。Linuxディストリビューション | 推奨値 |
---|---|
SUSE Linux Enterprise Server 9 |
SETALL |
その他のディストリビューション |
ASYNCH |
ダイレクトI/Oサポートは、Red Hat Enterprise Linux 3およびSUSE Linux Enterprise Server 9では使用可能であり、サポートされています。
ダイレクトI/Oサポートを使用可能にするには、次の手順を実行します。
FILESYSTEMIO_OPTIONS
初期化パラメータをDIRECTIO
に設定します。
FILESYSTEMIO_OPTIONS
初期化パラメータをSETALL
に設定します。
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
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
マルチスレッド同時処理(SMT)が有効になっている場合、v$osstat
ビューは、オンライン論理(NUM_LCPUS
)および仮想CPU(NUM_VCPUS
)に対応した2つの行を追加して報告します。