TECHNOLOGY
FAQ (よくある質問)
対象バージョン : SQL Anywhere (Adaptive Server Anywhere) 9
対象OS : Linux
QUESTION ( SQ0805075 )
Linux上で、大量の共有メモリ接続を行うと、ODBCログ(など)に以下のようなメッセージが出力され、接続に失敗します。
———————————————————–
SharedMemory リンクを開始しています。
共有メモリ関数 NewBitSignal が実行できませんでした。
SharedMemory 通信リンクを起動しませんでした。
要求された通信リンクの初期化を無効にします。
サーバに接続できません。
———————————————————–
ANSWER
・現象の原因
ASAはLinuxの共有メモリ接続で、一接続につき一つのセマフォ識別子と、一つのファイルを使用する為、セマフォ識別子やファイルディスクリプタの数が少ない場合に、このような現象が発生致します。
・現象の解決策
OSの設定でセマフォ識別子(sem)やファイルディスクリプタの最大数を十分に増やしてください。
なお、最大数の変更方法は、各Linuxディストリビューションのマニュアルをご参照下さい。