Chinaunix首页 | 论坛 | 博客
  • 博客访问: 508380
  • 博文数量: 694
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4840
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-16 19:30
文章分类

全部博文(694)

文章存档

2011年(1)

2008年(693)

我的朋友

分类:

2008-10-16 19:35:47

        在9i中,对回滚段进行了重新命名,现在将其作为撤销日志。在传统的操作上,回滚段保存的撤销信息,直到系统发送一个响应或者回滚语句。

        人工撤销管理在Oracle9i仍然被使用,但绝大多数的Oracle DBAs都选择了新的自动方法,这使得它们可以从常规撤销管理任务和调整中解放出来。

        最重要的是,自动撤销管理允许DBA指定撤销信息在提交之后需要保留的时间,以防止在长时间的查询过程中出现“snapshot too old”的错误。可以通过设置UNDO_RETENTION参数来实现这一过程。这一参数的缺省值为900秒(即15分钟),但你可以设置这一参数以保证Oracle保留撤销日志。

        无需定义和管理回滚段,你就可以简单地指定一个撤销表空间而减轻Oracle9i的负担。

        自动撤销管理需要一个当地管理撤销表空间,这一表空间用于存放撤销段。你所需要的是建立一个撤销表空间,设置UNDO_MANAGEMENT=AUTO,然后与数据库进行连接。当启动一个例子时,Oracle会自动选择第一个可用的撤销表空间。

             CREATE UNDO TABLESPACE
            ts_undo
            DATAFILE
            '/u01/oradata/prod/ts_undo.dbf'
            SIZE 2M REUSE AUTOEXTEND ON;
            Alter system set undo_tablespace=ts_undo;
            Alter system set undo_management=auto;

        一旦已经建立了撤销表空间,你可以使用以下新Oracle9i查询来查看撤销信息。

             V$UNDOSTAT
            V$ROLLSTAT
            V$TRANSACTION
            DBA_UNDO_EXTENTS

【责编:michael】

--------------------next---------------------

阅读(154) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~