Oracle Essentials: Oracle9i, Oracle8i and Oracle8, Second Edition
by Rick Greenwald, Robert Stackowiak, Jonathan Stern
Workspaces
Oracle9i introduces a new concept that relates to concurrency. The workspace is a transactionally consistent view of all the tables in a database that have been enabled for workspace versioning. (There is a PL/SQL package called DBMS_WM used for enabling and disabling workspace versioning for tables.) The changes that are made in a workspace are invisible to users outside of the workspace until they are explicitly merged with the parent workspace. Any workspace can be the parent of another workspace, and all workspaces are children of a “master” workspace. Workspaces are especially useful for long-term modifications to data, such as “what-if” analyses or content management, which may be relevant only to a subset of the users who are accessing the data.
Each workspace has its own version of each table that has been modified. Only when the changes for a particular workspace are flushed to its parent workspace can other child workspaces see these changes. When the changes from one workspace are flushed to the parent, any update conflicts can be resolved through a specific batch rule. This batch rule determines which version should be used. You can set these batch rules using Oracle Enterprise Manager or programmatically, using the DBMS_WM package. You can also refresh a workspace with the most current version of the rows in the parent workspace.
Workspaces are designed to integrate with all existing Oracle features, such as referential integrity and triggers, although ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access