PL/SQL共有メモリーをアタッチできない

PLSQL_MEMORY_ADDRESS初期接続属性は、PL/SQL共有メモリー・セグメントが、TimesTenダイレクト・ドライバを利用する各プロセスにロードされる仮想アドレスを指定します。アドレス空間のマッピング方法は、オペレーティング・システムのプラットフォームによってそれぞれ異なるため、PLSQL_MEMORY_ADDRESS接続属性で定義されているPL/SQLアドレス空間のデフォルトの値は各プラットフォームで異なり、その結果、アドレス空間がマッピングされたオペレーティング・システムとの競合を回避することができます。

ただし、アプリケーションが、アドレス空間をマッピングしたPL/SQLと重複する場合、エラー8517「Cannot attach PL/SQL shared memory; PLSQL_MEMORY_ADDRESS not valid or already in use.」を受信する場合があります。この場合、PLSQL_MEMORY_ADDRESS接続属性の設定を変更して重複を削除します。次のいずれかの理由で、エラー8517を受信する場合があります。

  • ユーザーが割り当てたメモリーでそのアドレスがすでに使用されている。

  • 一部の共有メモリーでそのアドレスがすでに使用されている。

  • 共有ライブラリでそのアドレスがすでに使用されている。

アプリケーションが2つ以上のTimesTenデータベースに同時に接続する場合、デフォルト設定では、PL/SQLメモリー・アドレスをすべてのTimesTenデータベースに対して同じアドレスにマッピングするため、いずれか1つを除くすべてのTimesTenデータベースのPLSQL_MEMORY_ADDRESS属性のデフォルト設定を変更する必要があります。