TECHNOLOGY

FAQ (よくある質問)

対象バージョン : SQL Anywhere (Adaptive Server Anywhere) 9
対象OS : Linux

QUESTION ( SQ0805075 )

Linux上で、大量の共有メモリ接続を行うと、ODBCログ(など)に以下のようなメッセージが出力され、接続に失敗します。

———————————————————–
SharedMemory リンクを開始しています。
共有メモリ関数 NewBitSignal が実行できませんでした。
SharedMemory 通信リンクを起動しませんでした。
要求された通信リンクの初期化を無効にします。
サーバに接続できません。

———————————————————–

ANSWER

・現象の原因

ASAはLinuxの共有メモリ接続で、一接続につき一つのセマフォ識別子と、一つのファイルを使用する為、セマフォ識別子やファイルディスクリプタの数が少ない場合に、このような現象が発生致します。

・現象の解決策

OSの設定でセマフォ識別子(sem)やファイルディスクリプタの最大数を十分に増やしてください。
なお、最大数の変更方法は、各Linuxディストリビューションのマニュアルをご参照下さい。