WEB开发网
开发学院数据库Oracle Oracle数据库11g新特性:事务管理 阅读

Oracle数据库11g新特性:事务管理

 2008-12-16 13:03:10 来源:WEB开发网   
核心提示: 如您所见,您可以使用数据库控制搜索和识别事务,Oracle数据库11g新特性:事务管理(3),单击按钮 Previous Transaction 和 Next Transaction 可以滚动浏览通过搜索找到的所有事务,使用案例如何使用这一特性?有几种方法,但是,问题是,最重要的用途可能就

如您所见,您可以使用数据库控制搜索和识别事务。单击按钮 Previous Transaction 和 Next Transaction 可以滚动浏览通过搜索找到的所有事务。

使用案例

如何使用这一特性?有几种方法。最重要的用途可能就是查清“谁”做了“什么”。如果由于性能原因您没有启用审计,或者仅仅是没有保留审计记录,您只需通过挖掘重做日志(在线的和存档的)在 LogMiner 界面中搜索相关线索即可。在搜索屏幕中,您可以在 Query Filter 下的 Advanced Query 域中输入附加过滤条件。

假设,您要查找一个插入、删除或更新了 RES_ID = 100002 的记录的事务。您可以使用 dbms_logmnr 程序包中的 column_present 函数在重做流中搜索具体的值,如下所示:

Oracle数据库11g新特性:事务管理

这个函数将会提取 SCOTT 模式下 RES 表的 RES_ID 列中包含 100002 的所有事务。

您还可以使用该特性掘出针对该数据库执行的 DDL 命令。要实现这一目的,选择 Query Filter 部分中的单选按钮 View DDL Only 即可。

收回选定的事务

在检查一个事务时,您想怎样处理这个事务?一种想法是将其撤消,因为此事务的执行有误,这或许是您查找该事务的首要原因。这非常简单。如果该事务是一个插入,您只需将其删除即可;如果它是一个更新,则撤消会将该行还原至前一个值。

然而,请仔细观察本例中使用的事务。第一个事务插入了一行。第二个事务更新了刚插入的行,而第三个事务将那一行删除了。第一个事务(插入)就是您要收回的事务。但是,问题是,那一行已经被后续的事务删除了,那么在本例中撤消事务是什么呢?

上一页  1 2 3 4 5 6 7 8  下一页

Tags:Oracle 数据库 特性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接