1.5 Workspace Managerのシステム・パラメータ

Workspace Managerには、WM_ADMINシステム権限を持つユーザーがデータベースに対してWorkspace Manager固有のグローバル設定を適用できるようにする一連のシステム・パラメータがあります。

WM_ADMINシステム権限の詳細は、「Workspace Managerでの権限管理」を参照してください。これらのWorkspace Managerシステム・パラメータは、Oracle初期化パラメータではありません。Workspace Managerシステム・パラメータを設定する唯一の方法は、SetSystemParameterプロシージャを使用する方法です。詳細は、「DBMS_WMパッケージ: リファレンス」を参照してください。

システム・パラメータを設定するには、SetSystemParameterプロシージャを使用します。現在のシステム・パラメータ設定を取得するには、GetSystemParameterプロシージャを使用します。これらのプロシージャの詳細は、「DBMS_WMパッケージ: リファレンス」を参照してください。

次の表に、Workspace Managerのシステム・パラメータを示します。

表1-6 Workspace Managerのシステム・パラメータ

パラメータ名

ADD_UNIQUE_COLUMN_TO_HISTORY_VIEW

ONを指定すると、バージョン対応表のxxx_HISTビュー(「xxx_HISTビュー」を参照)に列が追加されます。有効期間サポート(「Workspace Managerの有効期間のサポート」を参照)を伴うバージョン対応表の場合は、WM_ROWID (ROWID)およびWM_FLAG (整数)が追加されます。有効期間サポートを伴わないバージョン対応表の場合は、WM_ROWID列のみが追加されます。これらの列は、xxx_HISTビュー内の各行を一意に識別するために使用できます。有効期間サポートを伴う表の場合、WHERE句では常にWM_ROWID列およびWM_FLAG列を使用する必要があります。

OFF(デフォルト)に設定すると、xxx_HISTビューに列を追加しません。

ALLOW_CAPTURE_EVENTS

ONに設定すると、Workspace Managerイベント(「Workspace Managerイベント」を参照)を取得できます。このパラメータをONに設定すると、内部のWorkspace Manager処理操作が追加で実行されるため、イベントを取得する計画がないかぎり、パフォーマンスを向上するために値をONに設定しないでください。

OFF(デフォルト)に設定すると、Workspace Managerイベントを取得できません。

ALLOW_MULTI_PARENT_WORKSPACES

ONに設定すると、複数の親を持つ作業領域(「複数の親を持つ作業領域」を参照)を作成できます。このパラメータをONに設定すると、内部のWorkspace Manager処理操作が追加で実行されるため、複数の親を持つ作業領域を使用する計画がないかぎり、パフォーマンスを向上するために値をONに設定しないでください。

OFF(デフォルト)に設定すると、複数の親を持つ作業領域を作成できません。

ALLOW_NESTED_TABLE_COLUMNS

ONに設定すると、ネストした表の列を含む表をバージョン対応にすることができます。このパラメータをONに設定すると、内部のWorkspace Manager処理操作が追加で実行されるため、ネストした表の列を含む表をバージョン対応にする計画がないかぎり、パフォーマンスを向上するために値をONに設定しないでください。

OFF(デフォルト)に設定すると、ネストした表の列を含む表をバージョン対応にすることはできません。

COMPRESS_PARENT_AFTER_REMOVE

ON(デフォルト)に設定すると、RemoveWorkspace操作の後、またはremove_workspaceパラメータをtrueに設定した状態でのMergeWorkspace操作の後、暗黙的にCompressWorkspaceプロシージャをコールして親作業領域を圧縮します。

OFFに設定すると、前述の場合も親作業領域を圧縮しません。

CR_WORKSPACE_MODE

OPTIMISTIC_LOCKINGでは、2つ以上の連続的にリフレッシュされる作業領域内でレコードを編集できません。親作業領域と子作業領域に差分がある場合、レコードが競合しているとみなされ、子作業領域のマージまたはリフレッシュを実行する前に競合を解決する必要があります。

PESSIMISTIC_LOCKINGでは、2つ以上の連続的にリフレッシュされる作業領域内でレコードを編集できません。この設定では、親作業領域と子作業領域の間に競合がないことが保証されます。

OPTIMISTIC_LOCKINGは、新規インストールではデフォルトですが、リリース9.2.0.2以前のバージョンからのアップグレードではPESSIMISTIC_LOCKINGがデフォルトになります。

CREATEWORKSPACE_SHARED_LOCK

連続的にリフレッシュされない作業領域の作成に適用されます。

ONに設定すると、CreateWorkspaceプロシージャは作業領域の作成時に、可能であれば親作業領域の共有ロックのみを取得します。これにより、同じ親作業領域からの複数のCreateWorkspaceプロシージャを同時に実行でき、また同じ作業領域に対して互換性のあるロックを持つその他のプロシージャと同時に実行できます。これは、LATESTバージョンではなく、最後のNON-LATESTセーブポイントから作業領域を作成することで実装されます。作業領域のLATESTバージョンで変更された行はすべて、リフレッシュ操作が実行されるまでは作業領域に表示されません。

OFFに設定すると、CreateWorkspaceプロシージャは作業領域の作成時に、親作業領域の共有半排他(SSX)ロックを取得します。これにより、同じ親作業領域からの複数のCreateWorkspaceプロシージャが同時に実行できなくなりますが、作業領域のLATESTバージョンから作業領域が作成されるので、親作業領域のすべてのデータが即時に表示されます。

DEFAULT_WORKSPACE

既存の作業領域の名前。これは、データベースに初めて接続するときにユーザーが配置されるデフォルト作業領域を示します。これは、GotoWorkspaceプロシージャが明示的に実行されるまで、すべての問合せおよびDML操作に使用される作業領域です。デフォルトはLIVE作業領域です。指定される作業領域では、PUBLICに付与されているACCESS_WORKSPACE権限が必要です。

FIRE_TRIGGERS_FOR_NONDML_EVENTS

ON(デフォルト)に設定した場合は、後からSetTriggerEventsプロシージャで特定のトリガーについてオーバーライドされないかぎり、作業領域の非DML操作(MergeWorkspaceMergeTableなど)が実行されると、バージョン対応表に対するユーザー定義トリガーが実行されます。

OFFに設定した場合は、後からSetTriggerEventsプロシージャで特定のトリガーについてオーバーライドされないかぎり、作業領域の非DML操作(MergeWorkspaceMergeTableなど)が実行されても、バージョン対応表に対するユーザー定義トリガーが実行されません。

KEEP_REMOVED_WORKSPACES_INFO

ONを設定すると、削除されるすべての作業領域に関する情報が保存されます。この情報は、DBA_REMOVED_WORKSPACESビュー、ALL_REMOVED_WORKSPACESビューおよびUSER_REMOVED_WORKSPACESビューに表示されます。ONを指定すると、xxx_HISTビュー(「xxx_HISTビュー」を参照)に2つの新しい列(WM_CREATEWORKSPACEIDおよびWM_RETIREWORKSPACEID)も追加されます。これらの列を使用して、行のマージ元の作業領域と、行が削除または変更される原因となったマージ先の作業領域を確認できます。

OFF(デフォルト)に設定すると、削除された作業領域についての情報を保存しません。

NONCR_WORKSPACE_MODE

OPTIMISTIC_LOCKING (新規インストールおよびアップグレードの両方でのデフォルト)を使用すると、継続的にリフレッシュされていない複数の作業領域でレコードを編集できます。親作業領域と子作業領域に差分がある場合、レコードが競合しているとみなされ、子作業領域のマージまたはリフレッシュを実行する前に競合を解決する必要があります。

PESSIMISTIC_LOCKINGでは、2つ以上の連続的にリフレッシュされない作業領域内でレコードを編集できません。この設定では、親作業領域と子作業領域の間に競合がないことが保証されます。

NUMBER_OF_COMPRESS_BATCHES

1から1000の数値に設定して、batch_sizeパラメータの値がPRIMARY_KEY_RANGEで、NUMBER、INTEGER、DATEまたはTIMESTAMP型の主キー列のヒストグラム統計ではなく一般統計が使用可能な場合に使用されるバッチ数を識別します。(batch_sizeパラメータを持つDBMS_WMサブプログラムについては、リファレンス情報を参照してください。)

REMOVEWORKSPACE_DEFERRED

RemoveWorkspaceプロシージャおよびRemoveWorkspaceTreeプロシージャのdefer_optionパラメータのデフォルト値を指定します。

OFF (デフォルト)を指定すると、RemoveWorkspace操作およびRemoveWorkspaceTree操作により、作業領域で変更されたバージョン対応表から、削除された作業領域に関連付けられているすべての行とロックが完全に削除されます。

FASTを設定すると作業領域全体が削除され、今後使用できなくなります。ただし、作業領域に関連しており、バージョン対応表に格納されている行は削除されません。行を保存すると、作業領域に関連付けられていたロックが解放されないことがあります。このようなロックとバージョン対応行は、RemoveDeferredWorkspacesプロシージャが実行されるまで維持されます。

REMOVE_LOCKSを指定すると、FASTと同様に、作業領域全体が削除される一方で、この作業領域に関連付けられておりバージョン対応表に格納されている行は削除されません。ただしFASTとは異なり、別の作業領域内の他のユーザーがロックを変更または取得できないようにしている可能性があるロックはすべて解放されます 作業領域の一部であるバージョン対応表に含まれている行は、RemoveDeferredWorkspacesプロシージャが実行されるまで削除されません。

ROW_LEVEL_LOCKING

ONに設定すると、MergeTable操作、MergeWorkspace操作またはRefreshWorkspace操作の実行中に、マージまたはリフレッシュが必要な行の行レベル・ロックが取得されます。これにより、同じ親を共有する作業領域に対してこれらのプロシージャをパラレルに実行できます。これにより、複数の作業領域またはセッション・スレッドが、マージ・リクエストまたはリフレッシュ・リクエストを同じ表に対して同時に発行できるようになります。表のリストを含む単一のマージ操作またはリフレッシュ操作はパラレル化されません。(ただし、パラレル・マージ操作とパラレル・リフレッシュ操作は、有効期間サポートを伴わない表に対してのみ、または連続的にリフレッシュされない作業領域に対してのみ、サポートされます。) ON設定は、連続的にリフレッシュされる作業領域に対して無効になり、またマージやリフレッシュが必要ないずれかの表で有効期間サポートが有効になっている場合にも無効になります。

OFF(デフォルト)に設定すると、すべての作業領域操作に対し作業領域レベルのロックを行います。この設定により、同じ親作業領域での操作中、MergeTableMergeWorkspaceおよびRefreshWorkspace操作はパラレルで実行できません。

TARGET_PGA_MEMORY

MergeTable操作、MergeWorkspace操作またはRefreshWorkspace操作の実行中に、行を選択してメモリーに取り込むために使用するメモリーの最大容量を示す数値(バイト単位)。デフォルトは8388608(8MB)です。Workspace Managerはこの値を使用して、一度にフェッチする行の最適な数を確認します。この値は、他のデータベース・プロセスに使用されるメモリー容量には影響しません。内部の作業領域操作にのみ影響します。

UNDO_SPACE

UNLIMITEDを含む文字列(制限を指定しない場合)、またはWorkspace Manager操作に使用可能なUNDO領域の最大バイト数を指定します。たとえば、1 MBの場合は'1048576'に設定します。Workspace Managerは、UNDO_SPACEの値を超えないように1回のトランザクションで使用されるUNDO領域を最小限に抑えようとします。

UNDO_SPACEシステム・パラメータの値は、EnableVersioningプロシージャのコールでundo_spaceパラメータを指定してオーバーライドできます。

USE_SCALAR_TYPES_FOR_VALIDTIME

ONに設定すると、Workspace Managerは(WM_PERIOD型の)WM_VALID列を使用するかわりに、TIMESTAMP WITH TIME ZONE型のWM_VALIDFROM列およびWM_VALIDTILL列を使用して、有効期間サポートを伴うバージョン対応表に作成されたビューに有効期間を示します。(WM_PERIOD型の詳細は「WM_PERIODデータ型」を参照してください。)

OFF(デフォルト)に設定すると、Workspace Managerは(WM_PERIOD型の)WM_VALID列を使用して、有効期間サポートを伴うバージョン対応表に作成されたビューに有効期間を示します。

このパラメータは、これ以降にバージョン対応にする表にのみ影響します。既存のバージョン対応表のビューには影響しません。既存のバージョン対応表のビューを変更するには、AlterVersionedTableプロシージャを使用して、alter_optionパラメータ値にUSE_SCALAR_TYPES_FOR_VALIDTIMEまたはUSE_WM_PERIOD_FOR_VALIDTIMEを指定します。

USE_TIMESTAMP_TYPE_FOR_HISTORY

ON (デフォルト)に設定すると、Oracleデータベースがリリース9.0.1以上の場合に、Workspace ManagerではWM_CREATETIME列とWM_RETIRETIME列にTIMESTAMP WITH TIME ZONE型が使用されます。

OFFに設定すると、Workspace ManagerではWM_CREATETIME列とWM_RETIRETIME列にDATE型が使用されます。