Search notes:

Oracle Workspace Manager

With Oracle's Workspace Manager, its possible to store multiple versions of data (records) in a version-enabled table.

Installing/Removing Workspace Manager

Worskpace Manager can be installed by running $ORACLE_HOME/rdbms/admin/owminst.plb as sys.
This script creates the user WMSYS who owns the objects that implement the functionality of the workspace manager (see also the data dictionary views(?) WMSYS user owns).
The Workspace Manager can be uninstalled with $ORACLE_HOME/rdbms/admin/owmuinst.plb

Workspaces

The different versions of data are organized in workspaces. These workspaces usually form a tree, that is, there is one root workspace (named LIVE) and zero or more additional worskspaces. Each of this additional workspaces has exactly one parent-workspace.
(Apparently, it's possible to create workspaces with multiple parents by setting the initialization parameter ALLOW_MULTI_PARENT_WORKSPACES to ON).
The available workspaces can be queried from all_wm_workspaces.

Merging

A child workspace can be merged into its parent which applies the changes in the child to its parent. After a workspace is merged, it will be deleted.

Version enabled tables

Views

Workspace manager creates a few views for each version enabled tables. These views have the same name as the table with the following suffixes appended:
_conf
_diff
_hist Rows added by calling setDiffVersions
_lock
_mw mw = Multiworkspace view. Rows added by calling setMultiWorkspaces

Space usage

select
   space_usage_kbytes
from
   v$sysaux_occupants
where
   occupant_name = 'WM'
order by
   occupant_name;  

TODO

select
   currently_used,
   detected_usages,
   total_samples,
   first_usage_date,
   last_usage_date,
   description
from
   dba_feature_usage_statistics
where
   name = 'Workspace Manager'
order by
   last_sample_date desc;
select * from wm_installation order by name;
select * from wm_events_info  order by event_name;

See also

dbms_wm
The WM_ADMIN system privilege.
The flashback table SQL statement.

Index