1.5 System Parameters for Workspace Manager

Workspace Manager provides a set of system parameters that allow a user with the WM_ADMIN system privilege to enforce global Workspace Manager-specific settings for the database.

The WM_ADMIN system privilege is described in Privilege Management with Workspace Manager. These Workspace Manager system parameters are not Oracle initialization parameters. The only way to set Workspace Manager system parameters is to use the SetSystemParameter procedure, described in DBMS_WM Package: Reference .

To set a system parameter, use the SetSystemParameter procedure. To get the current setting for a system parameter, use the GetSystemParameter procedure. Both procedures are described in DBMS_WM Package: Reference.

The following table lists the Workspace Manager system parameters.

Table 1-6 Workspace Manager System Parameters

Parameter Name Values

ADD_UNIQUE_COLUMN_TO_HISTORY_VIEW

ON adds columns to the xxx_HIST views (described in xxx_HIST Views) of version-enabled tables. When a table is version-enabled with valid time support (described in Workspace Manager Valid Time Support), WM_ROWID (rowid) and WM_FLAG (integer) are added. When a table is version-enabled without valid time support, only the WM_ROWID column is added. These columns can be used to uniquely identify each row in the xxx_HIST views. For a table with valid time support, you must use the WM_ROWID column and the WM_FLAG column in any WHERE clauses.

OFF (the default) does not add any columns to the xxx_HIST views.

ALLOW_CAPTURE_EVENTS

ON allows Workspace Manager events (described in Workspace Manager Events) to be captured. Setting this parameter to ON causes some additional internal Workspace Manager processing operations; therefore, for performance reasons you should not set the value to ON unless you plan to capture events.

OFF (the default) does not allow Workspace Manager events to be captured.

ALLOW_MULTI_PARENT_WORKSPACES

ON allows multiparent workspaces (described in Multiparent Workspaces) to be created. Setting this parameter to ON causes some additional internal Workspace Manager processing operations; therefore, for performance reasons you should not set the value to ON unless you plan to use multiparent workspaces.

OFF (the default) does not allow multiparent workspaces to be created.

ALLOW_NESTED_TABLE_COLUMNS

ON allows tables containing a nested table column to be version-enabled. Setting this parameter to ON causes some additional internal Workspace Manager processing operations; therefore, for performance reasons you should not set the value to ON unless you plan to version-enable any tables with nested table columns.

OFF (the default) does not allow tables containing a nested table column to be version-enabled.

COMPRESS_PARENT_AFTER_REMOVE

ON (the default) implicitly calls the CompressWorkspace procedure to compress the parent workspace after a RemoveWorkspace operation, or after a MergeWorkspace operation in which the remove_workspace parameter was set to true.

OFF does not compress the parent workspace in these cases.

CR_WORKSPACE_MODE

OPTIMISTIC_LOCKING allows a record to be edited in two or more continually refreshed workspaces. If differences occur between parent and child workspaces, the record is considered to be in conflict, and the conflict must be resolved before the child workspace can be merged or refreshed.

PESSIMISTIC_LOCKING does not allow a record to be edited in two or more continually refreshed workspaces. This setting ensures that there are no conflicts between parent and child workspaces.

OPTIMISTIC_LOCKING is the default for new installations, but PESSIMISTIC_LOCKING is the default for upgrades from a version before release 9.2.0.2.

CREATEWORKSPACE_SHARED_LOCK

Applies to the creation of workspaces that are not continually refreshed.

ON causes the CreateWorkspace procedure to acquire only a Shared lock on the parent workspace when creating the workspace, if possible. This allows multiple CreateWorkspace procedures from the same parent workspace to be executed simultaneously, as well to run at the same time as other procedures that have a compatible lock on the same workspace.  This is implemented by creating the workspace not from the latest version, but from the most recent non-latest savepoint. Any modified rows in the latest version of the workspace will not be seen by the workspace until a refresh operation occurs.

OFF (the default) causes the CreateWorkspace procedure to acquire a Shared Sub eXclusive (SSX) lock on the parent workspace when creating a workspace. This prevents multiple CreateWorkspace procedures from the same parent workspace being run simultaneously, but creates the workspace from the latest version of the workspace, and so all data from the parent workspace is immediately seen.

DEFAULT_WORKSPACE

The name of an existing workspace, identifying the default workspace that users are placed into when first connecting to the database. This is the workspace that will be used for all queries and DML operations until the GotoWorkspace procedure is explicitly executed. The default is the LIVE workspace. Any workspace specified must have the ACCESS_WORKSPACE privilege granted to PUBLIC.

FIRE_TRIGGERS_FOR_NONDML_EVENTS

ON (the default) causes user-defined triggers on version-enabled tables to be fired when a workspace non-DML operation (such as MergeWorkspace or MergeTable) is executed, unless later overridden for specific triggers by the SetTriggerEvents procedure.

OFF causes user-defined triggers on version-enabled tables not to be fired when a workspace non-DML operation (such as MergeWorkspace or MergeTable) is executed, unless later overridden for specific triggers by the SetTriggerEvents procedure.

KEEP_REMOVED_WORKSPACES_INFO

ON keeps information about any workspaces that are removed. This information will be available in the DBA_REMOVED_WORKSPACES, ALL_REMOVED_WORKSPACES, and USER_REMOVED_WORKSPACES views. ON also adds two new columns to xxx_HIST views (described in xxx_HIST Views): WM_CREATEWORKSPACEID and WM_RETIREWORKSPACEID can be used to determine the workspace from which a row was merged and the workspace that merged a row that caused the row to be retired.

OFF (the default) does not keep this information about any workspaces that are removed.

NONCR_WORKSPACE_MODE

OPTIMISTIC_LOCKING (the default for both new installations and upgrades) allows a record to be edited in two or more workspaces that are not continually refreshed. If differences occur between parent and child workspaces, the record is considered to be in conflict, and the conflict must be resolved before the child workspace can be merged or refreshed.

PESSIMISTIC_LOCKING does not allow a record to be edited in two or more workspaces that are not continually refreshed. This setting ensures that there are no conflicts between parent and child workspaces.

NUMBER_OF_COMPRESS_BATCHES

A number from 1 to 1000, identifying the number of batches to be used when the batch_size parameter value is PRIMARY_KEY_RANGE and general statistics, but not histogram statistics, are available for a primary key column of type NUMBER, INTEGER, DATE, or TIMESTAMP. (See the reference information for any DBMS_WM subprogram that has a batch_size parameter.)

REMOVEWORKSPACE_DEFERRED

Specifies the default value for the defer_option parameter of the RemoveWorkspace and RemoveWorkspaceTree procedures.

OFF (the default) causes the RemoveWorkspace and RemoveWorkspaceTree operations to completely remove any rows or locks associated with the removed workspace from any version-enabled table that was modified in the workspace.

FAST removes the workspace in its entirety, so that it is no longer available for use. However, any rows associated with the workspace that are stored in a version-enabled table are not deleted. Keeping the rows means locks that were associated with the workspace might not be released. These locks, along with the versioned rows, will remain until the RemoveDeferredWorkspaces procedure is executed.

REMOVE_LOCKS, like FAST, removes the workspace in its entirety, and any rows associated with the workspace that are stored in a version-enabled table are not deleted. Unlike with FAST, though, any locks that could prevent other users in different workspaces from modifying or obtaining a lock on a row are released. The rows that are contained within version-enabled tables that are part of the workspace will not be removed until the RemoveDeferredWorkspaces procedure is executed.

ROW_LEVEL_LOCKING

ON takes row-level locks on any rows that need to be merged or refreshed during MergeTable, MergeWorkspace, or RefreshWorkspace operations. This allows these procedures to run in parallel for workspaces that share the same parent. It allows multiple workspaces or session threads to issue merge or refresh requests concurrently against the same table; it does not parallelize a single merge or refresh operation that includes a list of tables. (However, parallel merge and refresh operations are supported only for tables without valid time support, and only for workspaces that are not continually refreshed.) The ON setting does not take effect for continually refreshed workspaces or if any of the tables that need to be merged or refreshed have valid time support enabled.

OFF (the default) takes workspace-level locks for all workspace operations. This setting prevents MergeTable, MergeWorkspace, and RefreshWorkspace operations from running in parallel while operating on the same parent workspace.

TARGET_PGA_MEMORY

A number representing the maximum amount of memory, specified in bytes, that should be used for selecting rows into memory during any MergeTable, MergeWorkspace, or RefreshWorkspace operation. The default is 8388608 (8 megabytes). Workspace Manager uses this value to determine the optimal number of rows to fetch at any one time. This value does not affect the amount of memory used by other database processes, but only internal workspace operations.

UNDO_SPACE

A string containing UNLIMITED (for no specified limit) or a number representing the maximum number of bytes for undo space available for Workspace Manager operations. Example: '1048576' for 1 megabyte. Workspace manager tries to minimize the amount of undo space used in a single transaction so as not to exceed the UNDO_SPACE value.

You can override the value of the UNDO_SPACE system parameter by specifying the undo_space parameter in the call to the EnableVersioning procedure.

USE_SCALAR_TYPES_FOR_VALIDTIME

ON causes Workspace Manager to use two columns, named WM_VALIDFROM and WM_VALIDTILL, of type TIMESTAMP WITH TIME ZONE, instead of a single column named WM_VALID (of type WM_PERIOD) to indicate the valid time range in views created on a version-enabled table that has valid time support. (The WM_PERIOD type is described in WM_PERIOD Data Type.)

OFF (the default) causes Workspace Manager to a single column named WM_VALID (of type WM_PERIOD) to indicate the valid time range in views created on a version-enabled table that has valid time support.

This parameter affects only tables that are subsequently version-enabled; it does not affect the views on existing version-enabled tables. To change the views on an existing version-enabled table, use the AlterVersionedTable procedure and specify the alter_option parameter value USE_SCALAR_TYPES_FOR_VALIDTIME or USE_WM_PERIOD_FOR_VALIDTIME.

USE_TIMESTAMP_TYPE_FOR_HISTORY

ON (the default) causes Workspace Manager, if the Oracle database release is 9.0.1 or later, to use the TIMESTAMP WITH TIME ZONE type for WM_CREATETIME and WM_RETIRETIME columns.

OFF causes Workspace Manager to use the DATE type for WM_CREATETIME and WM_RETIRETIME columns.