PLSQL_MEMORY_ADDRESS

PL/SQLを使用するには、共有メモリー・セグメントが必要です。この属性は、この共有メモリー・セグメントが、TimesTenダイレクト・ドライバを利用する各プロセスにロードされる仮想アドレスを指定します。

この共有メモリーには、最近実行されたPL/SQLコード、共有パッケージの状態およびPL/SQLの処理に関連付けられたメタデータが格納されます。この共有メモリー・セグメントは、TimesTenデータベースを格納するセグメントとは別の共有メモリー・セグメントです。

この共有メモリー・セグメントがロードされるメモリー・アドレスは、TimesTenを使用する各プロセスで同一である必要があります。値は16進のアドレスとして指定する必要があります。

PLSQL_MEMORY_ADDRESSに値を指定しなかった場合、TimesTenはプラットフォーム依存のデフォルト値を使用します。

各プラットフォームのデフォルト値は、次のように設計されています。

  1. TimesTenデータベースおよびアプリケーションの仮想領域の容量を最大限に高める。

  2. 仮想アドレス領域の断片化を最小限に抑える。

  3. 仮想アドレス領域の他の利用との競合を避ける。

プラットフォーム固有のデフォルトのメモリー・アドレスは、次のとおりです。

オペレーティング・システム アドレス

Linux x86-64

0000005000000000

AIX

06ffffff00000000

Windows

000000005b8c0000

HP-UX

0

この属性を設定する場合の注意事項は、次のとおりです。

  • アプリケーションが複数のTimesTenデータベースにダイレクト・モードで同時に接続する場合、各データベースはPLSQL_MEMORY_ADDRESSに対して異なる値を使用する必要があります。

  • この属性の値は、TimesTenによって永続的に保存されます。データベースがTimesTenによって自動的にロードされる状況において、永続的な属性値が指定されます。たとえば、データベースのRamPolicyが1に設定されている場合、データベースは自動的にロードされます。

  • PL/SQL共有メモリーを適切なアドレスでマップできない場合、TimesTenによってエラーが返され、データベースへの接続は失敗します。

  • メモリー・セグメントのサイズは、PLSQL_MEMORY_SIZEの値によって決定されます。

必要な権限

インスタンス管理者のみがこの属性の値を変更できます。

TimesTen ScaleoutおよびTimesTen Classicでの使用

この属性は、TimesTen ClassicとTimesTen Scaleoutの両方でサポートされています。

設定

PLSQL_MEMORY_ADDRESSは次のように設定します。

属性の設定場所 属性の表示 設定

CまたはJavaプログラム、あるいはUNIXおよびLinuxシステムのTimesTen Classicのodbc.iniファイル、またはTimesTen Scaleoutのデータベース定義(.dbdef)ファイル

PLSQL_MEMORY_ADDRESS

PL/SQLプロセス用のメモリー・アドレスを指定する16進値。

Windows ODBCデータソース・アドミニストレータ

該当なし