1 Workspace Manager介紹Oracle Workspace Manager提供了為不同表建立不同版本的架構。版本管理(Workspace manager)是Oracle 11g的新特性,它內嵌於oracle資料庫,允許開發人員和DBA在同一個資料庫中對資料的多版本進行管理。它使用作為虛擬環境的工作區組織管理產品資料,保留資料的多個版本。相對於傳統的資料版本管理方式,能更加節約時間、資金投入和人員投入。
Workspace Manager能夠協助你對資料庫中的多個表進資料列版本設定。當使用者表被起用了版本控制之後,表中的所有行都支援多版本儲存。版本的架構對於終端使用者來說完全是透明的,應用在起用版本控制的資料庫中執行查詢、插入、更新和刪除資料像平常沒有起用版本功能一樣。
當資料庫中的表起用了版本控制,使用者將能查詢到他想查詢表中某個記錄的某一版本資料。如果你不想再對錶起用版本控制,你能讓版本化的表取消版本控制。
1.1 Workspace Manager架構資料庫中可以存在一個Workspace Manager架構。例如:一個Workspace能夠是一個或多個Workspace的父親。在預設狀態下,當一個Workspace建立,總是從最頂層資料庫WORKSPACE開始,即建立立的一個Worspace是LIVE Workspace的兒子。Workspace名字是區分大小寫、Workspace名字長度不能超過30個字元並且Workspace的層級不能超過30。
圖一展示了一個Workspace架構。Workspace1和Workspace4是LIVE Workspace的兒子,Workspace2和Workspace3組成了Workspace1,Workspace5單獨組成了Workspace4。
下面示範幾個例子:
l 查看現在所處的Workspace
SQL> select dbms_wm.getworkspace from dual;
GETWORKSPACE
--------------------------------------------------------------------------------
LIVE
l 建立WORKSPACE1
SQL> exec dbms_wm.createworkspace(workspace => 'WORKSPACE1');
PL/SQL procedure successfully completed
l 查詢Workspace架構資訊
SQL> select workspace,parent_workspace,owner from user_workspaces;
WORKSPACE PARENT_WORKSPACE OWNER
------------------------------ ------------------------------ ------------------------------
WORKSPACE1 LIVE SS
l 進入Workspace1
SQL> exec dbms_wm.gotoworkspace(workspace => 'WORKSPACE1');
l 查詢現在所處的Workspace
PL/SQL procedure successfully completed
SQL> select dbms_wm.getworkspace from dual;
GETWORKSPACE
--------------------------------------------------------------------------------
WORKSPACE1
l 對Workspace中的TEST表使用版本控制功能
SQL> exec dbms_wm.enableversioning(table_name => 'TEST',hist => 'VIEW_WO_OVERWRITE');
PL/SQL procedure successfully completed
l 對TEST表取消版本控制功能
exec dbms_wm.disableversioning(table_name => 'TEST');
更多Oracle相關資訊見Oracle 專題頁面 http://www.bkjia.com/topicnews.aspx?tid=12