stack_oracle.txt

このエントリーをはてなブックマークに追加
はてなブックマーク - stack_oracle.txt
Share on Facebook
Post to Google Buzz
Bookmark this on Yahoo Bookmark
Bookmark this on Livedoor Clip
Share on FriendFeed

質問1 LifeKeeperで保護をするリスナは、仮想IPで構成することが必須でしょうか。
listener.oraのADDRES句のHOSTの箇所がマニュアルですとVIPを指定するとなっていますが、必須であると読み取れなかったためご質問させてください。

質問2 LifeKeeperのGUI及びCLIからリスナリソースのみを起動停止をすると、以下のエラーが出力されリスナへ接続できない場合がありますが、LifeKeeperが原因であるとすれば何が考えられますでしょうか。

$sqlplus user/password@sid as sysdba
ERROR:
ORA-01034: ORACLE not available
ORA-27123: unable to attach to shared memory segment
Linux Error: 22: Invalid argument
Additional information: 1
Additional information: 360453

このときORACLEインスタンスは起動していることを確認できております。
この場合リスナをlsnrctlコマンドで停止・起動をすると必ず繋がるようになります。

メモリ関係のエラーのようですので、ulimitの値を取得してみました。
下記リスナ起動スクリプト内でulimitを取得するコマンドを埋め込みました。
/opt/LifeKeeper/subsys/database/resources/listener/actions

下記2行を上記スクリプトに追加。
$cmd = `ulimit -a>/tmp/test.out`;
print “$cmd”;

リスナをGUIから起動後test.outを参照すると
max locked memory (kbytes, -l) 32
と表示されます。
今回のシステムでは、limits.confに
oracle soft memlock 3145728
oracle hard memlock 3145728
と設定しているため、なぜ32と表示されるのか疑問です。
リスナに接続できない事象と関係あるかはわかりませんが、よろしければ判断材料の1つとしてください。

なおリスナはフェールオーバのトリガとするために1つのリソースとして作成しております。

——————
Red Hat Enterprise Linux 4で、hugepagesを使用したり、Very Large
Memory(VLM)ウィンドウ・サイズを使用するには、プロセスごとにロック
されるメモリーのデフォルトの最大サイズを増加する必要があります。
プロセスごとにロックされる最大メモリー制限を増加するには、次の行を
/etc/security/limits.conf ファイルに追加します。
oracleは、データベースを管理するユーザーです。

oracle soft memlock 3145728
oracle hard memlock 3145728

この設定では、デフォルトの最大ロックメモリの制限は3GBまで拡張されています。
——————

********************
ユーザあたりの上限はカーネルパラメータでは変更できません。一時的な変更であれ
ば設定を確認するためにも使用する「ulimit」コマンドで可能ですが、設定値をログ
イン時に常に有効にするためには、以下の手順に従って「/etc/security/limits.conf」
に設定を行います。

単位はkbytes
********************

Back To Top