服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > DBA > 查看文档

oracle9i中利用自动撤销管理的优点

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

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

  人工撤销管理在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


  

扫描关注微信公众号