この付録では、通常Cluster Verification Utility (CVU)およびOracle Universal Installerがインストール時に完了する構成作業を、手動で行う方法について説明します。この付録は、修正スクリプトを使用できないときに参考にしてください。
この付録の内容は次のとおりです。
この項の内容は、次のとおりです。
注意: 別の方法で指定されていないかぎり、次の表に示すカーネル・パラメータおよびシェル制限の値は、単なる最小値です。本番データベース・システムでは、これらの値をチューニングしてシステムのパフォーマンスを最適化することをお薦めします。カーネル・パラメータのチューニングの詳細は、オペレーティング・システムのドキュメントを参照してください。 |
Oracle Databaseのインストール時に、修正スクリプトを生成および実行し、データベースの正常なインストールに必要なカーネル・パラメータの値をチェックして設定することができます。このスクリプトは、必要なカーネル・パラメータを必要に応じて最小値に更新します。
修正スクリプトを使用できない場合は、次の表を参照して手動で値を設定します。
パラメータ | 値 | ファイル |
---|---|---|
semmsl
|
250
32000 100 128 |
/proc/sys/kernel/sem |
shmall |
物理メモリー・サイズ(ページ数)の40%
注意: サーバーが複数のデータベースをサポートする場合、または大規模なSGAを使用する場合は、このパラメータを、システムが1回に使用できる共有メモリーの合計量(4Kページ単位)に等しい値に設定します。 |
/proc/sys/kernel/shmall |
shmmax |
物理メモリー・サイズの半分(バイト)
|
/proc/sys/kernel/shmmax |
shmmni |
4096 | /proc/sys/kernelshmmni |
panic_on_oops |
1 | /proc/sys/kernel/panic_on_oops |
file -max |
6815744 | /proc/sys/fsfile-max |
aio-max-nr |
1048576
注意: この値は同時未処理リクエストを制限するもので、I/Oサブシステムの障害を防ぐために設定する必要があります。 |
/proc/sys/fs/aio-max-nr |
ip_local_port_range |
最小: 9000
最大: 65500 「UDPおよびTCPカーネル・パラメータの手動設定」を参照してください。 |
/proc/sys/net/ipv4ip_local_port_range |
rmem_default |
262144 | /proc/sys/net/core/rmem_default |
rmem_max |
4194304 | /proc/sys/net/core/rmem_max |
wmem_default |
262144 | /proc/sys/net/core/wmem_default |
wmem_max |
1048576 | /proc/sys/net/core/wmem_max |
注意: いずれかのパラメータの現在の値がこの表にリストされている値より大きい場合、修正スクリプトはそのパラメータの値を変更しません。 |
次の表に示すコマンドを入力して、カーネル・パラメータの現行の値を表示します。これらの値をメモし、変更が必要な値を特定します。
パラメータ | コマンド |
---|---|
semmsl、semmns、semopmおよびsemmni |
# /sbin/sysctl -a | grep sem
このコマンドでは、リストされた順にセマフォ・パラメータの値が表示されます。 |
shmall、shmmaxおよびshmmni |
# /sbin/sysctl -a | grep shm
このコマンドでは、共有メモリーのセグメント・サイズの詳細が表示されます。 |
file -max |
# /sbin/sysctl -a | grep file-max
このコマンドでは、最大ファイル・ハンドラ数が表示されます。 |
ip_local_port_range |
# /sbin/sysctl -a | grep ip_local_port_range
このコマンドでは、ポート番号の範囲が表示されます。 |
rmem_default |
# /sbin/sysctl -a | grep rmem_default |
rmem_max |
# /sbin/sysctl -a | grep rmem_max |
wmem_default |
# /sbin/sysctl -a | grep wmem_default |
wmem_max |
# /sbin/sysctl -a | grep wmem_max |
aio-max-nr |
# /sbin/sysctl -a | grep aio-max-nr |
カーネル・パラメータの値が最小値と異なる場合は、次の手順を実行します。
テキスト・エディタを使用して/etc/sysctl.conf
ファイルを作成または編集し、次のような行を追加または編集します。次に例を示します。
注意: 変更するカーネル・パラメータ値の行のみを含めます。セマフォ・パラメータ(kernel.sem )の場合は、4つの値をすべて指定する必要があります。現行の値のいずれかが最小値より大きい場合は、大きい方の値を指定してください。 |
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 4294967295 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
/etc/sysctl.conf
ファイルに指定した値は、システムの再起動時にも保持されます。SUSE Linux Enterprise Serverシステムでは、次のコマンドを入力して、システムの再起動時に必ず/etc/sysctl.conf
ファイルが読み取られるようにします。
# /sbin/chkconfig boot.sysctl on
カーネル・パラメータの現行の値を変更するには、次のコマンドを入力します。
# /sbin/sysctl -p
このコマンドの出力結果を確認し、値が正しいかどうかを検証します。値が正しくない場合、/etc/sysctl.conf
ファイルを編集し、このコマンドを再度入力します。
コマンド/sbin/sysctl -a
を入力して、値が正しく設定されていることを確認します。
/etc/sysctl.conf
ファイルのカーネル・パラメータの値を更新したら、コンピュータを再起動するか、コマンドsysctl -p
を実行して、アクティブなカーネル・メモリーで使用可能な/etc/sysctl.conf
ファイルを変更します。
SUSE Linux Enterprise Serverシステムの場合にのみ、必要に応じて次の手順を実行します。
次のコマンドを入力して、システムの再起動時に/etc/sysctl.conf
ファイルが読み込まれるようにします。
# /sbin/chkconfig boot.sysctl on
パラメータ/proc/sys/vm/hugetlb_shm_group
の値としてoinstall
グループのGIDを入力します。これを行うと、oinstall
のメンバーに共有メモリー・セグメントを作成するためのグループ権限が付与されます。
たとえば、oinstallグループのGIDが501の場合は次のようになります。
# echo 501 > /proc/sys/vm/hugetlb_shm_group
このコマンドを実行した後、vi
を使用して/etc/sysctl.conf
に次のテキストを追加し、システムの再起動時にboot.sysctl
スクリプトが実行されるようにします。
vm.hugetlb_shm_group=501
注意: vm.hugetlb_shm_group として定義できるのは1つのグループのみです。 |
修正スクリプトまたはCVUを使用してエフェメラル・ポートを設定しない場合は、TCP/IPエフェメラル・ポート範囲のパラメータを設定して、予想されるサーバーのワークロードに対して十分なエフェメラル・ポートを提供します。下限を9000以上に設定し、Well KnownポートとOracleおよびその他のサーバー・ポートで一般的に使用される登録済ポート範囲のポートを避けます。使用するアプリケーションに予約済のポートを避けるようにポート範囲を高く設定します。範囲の下限が9000を超え、予想されるワークロードに対して範囲が十分大きい場合は、エフェメラル・ポート範囲に関するOracle Universal Installer警告は無視できます。
たとえば、IPv4の場合は、次のコマンドを使用してエフェメラル・ポートの現在の範囲を確認します。
$ cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000
上の例では、最低ポート(32768)および最高ポート(61000)はデフォルト範囲に設定されています。
必要に応じて、UDPとTCPのエフェメラル・ポート範囲を予想されるシステム・ワークロードに十分対応できるように高い範囲に更新し、エフェメラル・ポート範囲が9000以上になるようにします。次に例を示します。
# echo 9000 65500 > /proc/sys/net/ipv4/ip_local_port_range
これらの設定は永続的にすることをお薦めします。たとえば、root
として、テキスト・エディタを使用して/etc/sysctl.conf
を開き、net.ipv4.ip_local_port_range = 9000 65500
を追加またはこれに変更した後、ネットワークを再起動します(# /etc/rc.d/init.d/network restart
)。システム再起動時にこのエフェメラル・ポート範囲の変更を自動化する方法の詳細は、Linuxディストリビューションのシステム管理に関するドキュメントを参照してください。
デバイスの永続性のために、Oracle ASMフィルタ・ドライバ(Oracle ASMFD)を使用することをお薦めします。ただし、デバイスの永続性のために、Oracle Automatic Storage Managementライブラリ・ドライバ(Oracle ASMLIB)を使用するか、udev
ルールを設定する方法もあります。
この項の内容は、次のとおりです。
Oracle ASMLIBを構成する場合は、次の項を確認してください。
注意: IBM: Linux on System zでは、Oracle ASMLIBはサポートされていません。 |
Oracle Automatic Storage Managementライブラリ・ドライバを使用すると、システムを再起動するたびにOracle Automatic Storage Management (Oracle ASM)で使用するブロック・ディスク・デバイスをリバインドする必要がなくなるため、ブロック・ディスク・デバイスの構成および管理が簡単になります。
Oracle ASMLIBで、Oracle ASMディスクとして使用可能にするディスク範囲を定義します。Oracle ASMLIBによって、ストレージ・デバイス上で永続する権限とディスク・ラベルが保持されます。そのため、オペレーティング・システムのアップグレード後でもそのラベルを使用できます。
注意: Oracle ASMLIBを使用するディスクを構成する場合は、ディスク検出文字列をORCL:* に変更する必要があります。ディスク文字列をORCL:* に設定するか、空("")のままにすると、インストーラでこれらのディスクが検出されます。 |
関連項目: 『Oracle Automatic Storage Management管理者ガイド』のOracle ASMライブラリ・ドライバの使用に関する項 |
Oracle ASMLIBを使用してOracle ASMデバイスを構成するには、次の作業を実行します。
注意: Oracle ASMライブラリ・ドライバを使用して、インストール中にデータベースを作成するには、対話型モードでASMCAを実行するインストール方法を選択する必要があります。また、ディスク検出文字列をORCL:* に変更する必要があります。 |
Oracle ASMLIBは、Oracle LinuxパッケージおよびSUSE Linux Enterprise Server 11に含まれています。Unbreakable Linux Networkのメンバーの場合、Oracle Linuxチャネルをサブスクライブし、yum
を使用してシステムおよびカーネルの最新パッケージを取得することによって、Oracle ASMLIB RPMをインストールできます。追加情報については、次のURLを参照してください。
http://www.oracle.com/technetwork/topics/linux/asmlib/index-101839.html
Oracle Automatic Storage Managementライブラリ・ドライバ・ソフトウェアを手動でインストールおよび構成するには、次の手順を実行します。
次のコマンドを入力し、システムのカーネル・バージョンおよびアーキテクチャを確認します。
# uname -rm
必要に応じて、Oracle Technology NetworkのWebサイトから、必要なOracle Automatic Storage Managementライブラリ・ドライバ・パッケージをダウンロードします。
http://www.oracle.com/technetwork/server-storage/linux/downloads/index-088143.html
注意: Red Hat Enterprise Linux 5 Advanced ServerでOracle ASMLIBを使用するには、oracleasm-support パッケージのバージョン2.0.1以上をインストールする必要があります。Oracle ASMLIBは、SUSE Linux Enterprise Serverディストリビューションにすでに含まれています。 |
関連項目: Red HatディストリビューションでのOracle ASMLIBサポートの詳細は、My Oracle SupportのNote 1089399.1を参照してください。
|
root
ユーザーに切り替えます。
$ su -
次のパッケージを順にインストールします(version
はOracle Automatic Storage Managementライブラリ・ドライバのバージョン、arch
はシステム・アーキテクチャ、kernel
は使用しているカーネルのバージョンです)。
oracleasm-support-version.arch.rpm oracleasm-kernel-version.arch.rpm oracleasmlib-version.arch.rpm
次のようなコマンドを入力してパッケージをインストールします。
# rpm -ivh oracleasm-support-version.arch.rpm \ oracleasm-kernel-version.arch.rpm \ oracleasmlib-version.arch.rpm
たとえば、AMD64システムでRed Hat Enterprise Linux 5 ASのカーネルを使用している場合は、次のコマンドを入力します。
# rpm -ivh oracleasm-support-2.1.3-1.el5.x86_64.rpm \ oracleasm-2.6.18-194.26.1.el5xen-2.0.5-1.el5.x86_64.rpm \ oracleasmlib-2.0.4-1.el5.x86_64.rpm
次のコマンドを入力し、configure
オプションを使用してoracleasm
初期化スクリプトを実行します。
# /usr/sbin/oracleasm configure -i
注意: /usr/sbin にあるoracleasmコマンドを使用してください。/etc/init.d パスは非推奨ではありませんが、このパスにあるoracleasm バイナリは、現在では通常、内部コマンドに使用されています。 |
スクリプトによって表示されるプロンプトに応じて、次の情報を入力します。
プロンプト | 提示する応答 |
---|---|
ドライバ・インタフェースを所有するデフォルト・ユーザー: | グループおよびユーザーの標準構成: Oracleソフトウェア所有者ユーザー(oracle など)を指定します。
役割区分によるグループおよびユーザーの構成: グリッド・インフラストラクチャ・ソフトウェア所有者( |
ドライバ・インタフェースを所有するデフォルト・グループ: | グループおよびユーザーの標準構成: データベースのOSDBAグループ(dba など)を指定します。
役割区分によるグループおよびユーザーの構成: 記憶域管理のOSASMグループ( |
ブート時のOracle ASMライブラリ・ドライバの起動(y/n): | y を入力して、システムの起動時に、Oracle Automatic Storage Managementライブラリ・ドライバを起動します。 |
ブート時のOracle ASMディスクのスキャン(y/n): | システムの起動時にOracle ASMディスクをスキャンするには、y と入力します。 |
スクリプトによって、次の作業が実行されます。
/etc/sysconfig/oracleasm
構成ファイルの作成
/dev/oracleasm
マウント・ポイントの作成
ASMLIBドライバのファイル・システムのマウント
注意: Oracle ASMLIBファイル・システムは通常のファイル・システムではありません。Oracle ASMLIBと通信するOracle ASMライブラリでのみ使用されます。 |
次のコマンドを入力して、oracleasm
カーネル・モジュールをロードします。
# /usr/sbin/oracleasm init
Oracle Automatic Storage Managementディスク・グループで使用するディスク・デバイスを構成するには、次の手順を実行します。
Oracle Automatic Storage Managementディスク・グループでIDE、SCSIまたはRAIDデバイスを使用する場合、次の手順を実行します。
ディスク・グループに使用するディスク・デバイスをインストールまたは構成し、システムを再起動します。
次のコマンドを入力して、使用するディスクのデバイス名を特定します。
# /sbin/fdisk -l
ディスクのタイプに応じて、次のようにデバイス名が異なる場合があります。
ディスク・グループにデバイスを含めるには、ドライブ・デバイス名またはパーティション・デバイス名のいずれかを指定します。
注意: 使用する各ディスクに、単一のディスク全体パーティションを作成することをお薦めします。 |
fdisk
またはparted
のいずれかを使用して、ディスク・デバイスに、単一のディスク全体パーティションを作成します。
次のようなコマンドを入力して、ディスクをOracle Automatic Storage Managementディスクとしてマークします。
# /usr/sbin/oracleasm createdisk DISK1 /dev/sdb1
この例で、DISK1
はディスクに割り当てられる名前です。
注意:
|
Oracle Automatic Storage Managementライブラリ・ドライバおよびディスクを管理するには、次の表に示す様々なオプションとともに/usr/sbin/oracleasm
初期化スクリプトを使用します。
表D-1 ORACLEASMを使用したディスクの管理タスク
作業 | コマンドの例 | 説明 |
---|---|---|
ASMLIBの構成または再構成 |
|
必要に応じて、configureオプションを使用して、Oracle Automatic Storage Managementライブラリ・ドライバを再構成します。 コマンド・オプションを表示するには、 |
ASMLIBのシステム再起動ロード・オプションの変更 |
|
オプションは、
|
システムを再起動せずにASMLIBをロードまたはアンロード |
|
オプションは、
|
ASMLIBで使用するディスクをマーク |
|
|
名前付きディスク・デバイスのマーク解除 |
|
注意: このコマンドを使用して、Oracle Automatic Storage Managementディスク・グループで使用されているディスクのマークは外さないでください。このディスクは、Oracle Automatic Storage Managementディスク・グループから削除した後でマークを外す必要があります。 |
ASMLIBがディスク・デバイスを使用しているかどうかの確認 |
|
|
Oracle ASMLIBディスクのリスト |
|
|
ASMLIBディスクとしてマークされたディスクの識別 |
|
|
ASMLIBディスクの名前変更 |
|
renamediskオプションを使用して、次の構文を使用することで、Oracle ASMライブラリ・ドライバ・ディスクまたはデバイスのラベルを変更します( oracleasm renamedisk [-l デバッグ用に詳細な出力を指定するには、 注意: ディスクをラベル変更する前に、すべてのOracle DatabaseおよびOracle ASMインスタンスがディスクの使用を停止していることを確認する必要があります。これを行わないと、データが失われる可能性があります。 |
Oracle ASMLIBがインストールされているが、デバイス・パスの永続性のためにそれを使用していない場合は、次の手順でOracle ASMLIBを削除します。
Oracle ASMと、実行中のデータベース・インスタンスがあればそれも停止します。
$ srvctl stop asm
$ srvctl stop instance -d db_unique_name
root
としてログインします。
Oracle Restartスタックを停止します。
# cd Grid_home
/bin
# crsctl stop has
Oracle ASMLIBを停止します。
# /etc/init.d/oracleasm disable
oracleasm
ライブラリとツールのRPMを削除します。
# rpm -e oracleasm-support # rpm -e oracleasmlib
oracleasm
RPMが残っていないかどうか確認します。
# rpm -qa| grep oracleasm
oracleasm
構成ファイルが残っている場合には、削除します。
# rpm -qa| grep oracleasm | xargs rpm -e
これで、Oracle ASMLIBと関連RPMが削除されます。
Oracle Restartスタックを起動します。オプションで、Oracle Restartスタックを起動する前にOracle ASMフィルタ・ドライバ(Oracle ASMFD)をインストールし、構成します。
関連項目: 『Oracle Automatic Storage Management管理者ガイド』 |
この項では、Oracle ASMで使用するディスク・デバイスを手動で準備する方法について、次の内容で説明します。
注意: udev の動作は、Linuxのバージョン、ベンダーおよび記憶域の構成によって異なります。 |
サーバーが起動すると、デフォルトで、デバイス・ファイル・ネーミング・スキームudev
によって、デバイス・ファイル名が動的に作成され、その所有権がroot
に割り当てられます。udev
でデフォルトの設定が適用される場合は、ディスクのOracleデバイス・ファイル名および所有者が変更されるため、サーバーの再起動時にディスクがアクセス不可能になります。たとえば、ユーザーgrid
が所有する/dev/sdd
というデバイス上の投票ディスクが、サーバーの再起動後には、root
が所有する/dev/sdf
というデバイスに置かれる可能性もあります。
Oracle ASMFDを使用する場合、udev
で権限およびデバイス・パスの永続性を指定する必要はありません。
Oracle ASMFDを使用しない場合は、カスタム・ルール・ファイルを作成する必要があります。Linuxベンダーは、自身のudev構成をカスタマイズして、ルール・ファイルの読取りに異なる順序を使用しています。たとえば、一部のLinuxディストリビューションでは、udev
が起動すると、ルール・ファイルに定義されたルール(構成ディレクティブ)が順次実行されます。これらのファイルのパスは/etc/udev/rules.d/
です。ルール・ファイルは、字句順に読み取られます。たとえば、ルール・ファイル10-wacom.rules
ファイルのルールは、ルール・ファイル90-ib.rules
のルールより先に解析され実行されます。
UDEVルール・ファイルにデバイス情報を指定する場合は、表示されている順に、他のすべての特性より前に、OWNER、GROUPおよびMODEが指定される必要があります。たとえば、UDEV行に特性ACTIONを含めるには、OWNER、GROUPおよびMODEの後にACTIONを指定します。
複数のルール・ファイルに同じデバイスの記述があった場合、サポートされているLinuxカーネル・バージョンでは、最後に読み取られたファイルが適用されます。
Oracle ASMが使用するディスク・デバイスの権限ファイルを構成するには、次の作業を行います。
/etc/scsi_id.config
ファイルを編集し、ファイルにoptions=-gを追加して、リストする際にSCSIデバイスを信頼できるデバイスとして構成します。次に例を示します。
# cat > /etc/scsi_id.config vendor="ATA",options=-p 0x80 options=-g
テキスト・エディタを使用してOracle ASMデバイスのudev
ルール・ファイルを作成し、インストールの所有者と、メンバーがグリッド・インフラストラクチャ・ソフトウェアの管理者であるグループの権限を0660に設定します。
たとえば、Oracle Linuxで、ロール・ベースの構成rules.d
ファイル(インストール所有者がgrid
、OSASMグループがasmadmin
)を作成するには、次のようなコマンドを入力します。
# vi /etc/udev/rules.d/99-oracle-asmdevices.rules KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="14f70656e66696c00000000", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd?2", BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="14f70656e66696c00000000", OWNER="grid", GROUP="asmadmin", MODE="0660" KERNEL=="sd?3", BUS=="scsi", PROGRAM=="/sbin/scsi_id", RESULT=="14f70656e66696c00000000", OWNER="grid", GROUP="asmadmin", MODE="0660"
/sbin/partprobe
devicename
を使用して、更新されたブロック・デバイス・パーティション表をサーバーにロードします。 これは、root
ユーザーで実行する必要があります。
udev
サービスを再起動するコマンドを入力します。
Oracle LinuxおよびRed Hat Enterprise Linuxでは、コマンドは次のとおりです。
# /sbin/udevcontrol reload_rules # /sbin/start_udev
SUSE Linux Enterprise Serverでのコマンドは、次のとおりです。
# /etc/init.d boot.udev restart
デバイスの権限および所有権が正しく設定されていることを確認します。