- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle Workspace Manager
简介
使用多版本的三个最普遍的原因:并发、历史(状态)和假设分析场景的创建。并发指的是当用户正在使用一个版本的数据的时候可以对工作区里面的数据进行插入和修改。历史(状态)可以使早期版本的数据无限期的保存。场景创建对于假设(what-if)分析和应用程序开发调试来说是非常有用的。
工作区管理器提供了一个基础架构,这个基础架构使得应用程序能够创建工作区并且在不同的工作区里面对不同版本的表行值进行分组。用户允许创建数据的一个新的版本,并且维持旧版本数据的一个拷贝。这个功能的结果就是存储数据的持久性、并发性和一致性。
应用程序利用工作区管理器的有益操作:在把更新和插入集合并到产品数据里面之前作为一个单元管理;支持协作开发;保存数据更改的历史状态;使用普通数据集为假设分析或者多用户编辑创建多场景。
工作区管理器在管理长事务场景(long-transaction scenarios)方面也非常有用。复杂的、持久的数据库事务通常需要长时间才能完成,并且多个用户可以同时访问数据库。
工作区管理器是一个pl/sql包,用来对用户表进行版本化。如果一个表已经版本化,那么它将会被重命名。在用户表上创建一个视图并使用源表的名字,并使得重命名的表对应用程序透明化。在视图上创建的INSTEAD-OF触发器使得在视图上面分行的所有DML语句应用到基表里面。工作区管理器元数据列添加到用户表上允许一行的多版本数据和用户定义主键同时存在一个表中。
一个工作区从逻辑上组织一个变化集合(a collection of changes)--新的行版本,并且提供会话上下文(session context)使用户可以访问相应的版本数据。工作区通常都是以层结构来管理的,最上面的工作区层是LIVE层。同时也是默认的工作区。
如果一行数据发生改变,工作区管理器只是产生这个行的拷贝。
应用开发特性
可版本化的表(Version-enabling tables)
工作区管理器可以对数据库里面的一个或多个用户表进行版本化,版本化的一个单元是一行。如果一个表是可版本化的,那么表里面的所有行都可以支持数据的多版本。版本化的那一行存储在和源行一样的表里面。所有对行版本的插入、更新和删除操作(DML)都会在Oracle短事务里面进行,以确保版本数据的完整性。版本的基本结构对于数据库的用户来说是不可见的。工作区管理器通过对版本化的表重命名为tablename_LT来实现这种版本化,在重命名的表里面添加一些列来存储版本化的元数据,用源表的名字来创建已版本化的表的一个视图,并且为视图定义一个INSTEAD OF的触发器以方便SQL DML操作。如果你不再需要这个已版本化的表,你可以使这个表的版本化无效。
工作区(Workspaces)
工作区是一个虚拟环境,并不是以物理存储来显示。它被oracle数据库用来实现并发的最大化,并且在一个不确定的长事务期间对数据的一系列变化(新的行版本)进行逻辑上的分组和隔离。一个会话上下文的默认工作区的名字叫做LIVE,LIVE通常是工作区层级目录的最上层。如果一个工作区创建,会在LIVE工作区下面创建。一个用户可以通过发出GotoWorkspace命令来设置用户自己的工作区会话上下文。一个工作区可以被一个或多个用户访问。在一个子工作区内对一行数据的改变会在第一时间内创建这一行的新版本。直到保留点(savepoint)创建后,关于这一行的一系列改变才会应用到同一版本里面。一个子工作区当它变成多重继承(multiparent)工作区时可以拥有两个或者多个父工作区。多重继承(multiparent)工作区可以查看它的父级工作区和祖先工作区里面的数据,并且可以被它的父级工作区进行合并和刷新。
保留点(savepoint)
保留点是关于一个版本创建时的机制。这些点可以使工作区里面的改变进行回滚,可以使用户查看一个数据库特定保留点的状态。可以显式创建,也可以隐式创建。当一个子工作区创建时会在它的父工作区里面创建一个隐式保留点。当一个用户对一个重要事件做出反应时一个显式的保存点就会被用户创建,重要事件可以像如完成一个设计或者一个重要事务的完成。在创建保留点后如果一行发生修改则关于这一行的新的版本就会创建。在工作区里面对这个新的版本的一系列改变会被应用直到另一个保留点创建。用户可以对比任意两个保留点之间的不同。
保持更改历史(状态)(Keeping a History of Changes)
可选的。如果这个选项被选择,工作区管理器会对一行的每一次改变加上一个事务时间戳。
有效时间支持(Valid time support)
一些应用程序需要在一个时间段里面存储数据,以表示只有在这一段时间里面的数据有效。如果一个表选择Valid Time,每一行都会添加一个列以保存时间段。用户可
您可能关注的文档
- Lesson 04-Part 2 Screw Threads Threaded Fastener and Locking Devices.ppt
- Lesson 13 Blueprint for success.ppt
- Less_17Monitoring and Resolving Lock Conflicts.ppt
- Let4-Recurrences.ppt
- LetstalkU4.ppt
- Light perception plasma melatonin levels.doc
- LAF下装下卸液袋铺箱装货手册.doc
- LHQ2020焊接操作机说明书.doc
- Linksys_E1000&E1200&E3000配置说明.doc
- Linux rsync 配置具体实现说明.doc
文档评论(0)