Heim  >  Artikel  >  Datenbank  >  Oracle WorkSpace 诠释和案例

Oracle WorkSpace 诠释和案例

WBOY
WBOYOriginal
2016-06-07 17:13:30796Durchsuche

Workspace Manager架构数据库中可以存在一个Workspace Manager架构。例如:一个Workspace能够是一个或多个Workspace的父亲。在缺

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 专题页面 ?tid=12

linux

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn