Heim  >  Artikel  >  Datenbank  >  如何计算自动管理的UNDO表空间大小

如何计算自动管理的UNDO表空间大小

WBOY
WBOYOriginal
2016-06-07 16:44:18951Durchsuche

AUM(自动 undo 管理,Automatic Undo Management)几乎不需要配置。您基本上只需要定义将前映像保持可用的时间量。这是通过参数

AUTO UNDO

AUM(自动 undo 管理,Automatic Undo Management)几乎不需要配置。您基本上只需要定义将前映像保持可用的时间量。这是通过参数 UNDO_RETENTION 控制的,以秒为单位定义。因此,值 900 表示 15 分钟。

 一定要意识到,如果 undo 表空间中存在空间压力时,我们不保证前镜像一定会保留这么长时间。
 因此,以下公式可用于计算最佳 undo 表空间大小:
 从 Oracle 10g 开始,,您可以选择使用 GUARANTEE 选项,以确保在定义的 undo_retention 时间之前,undo 信息不会被覆盖。

UNDO表空间大小由三部分组成:
(UR)UNDO_RETENTION 单位秒
(UPS)每秒产生的undo 数据块的个数
(DBS)数据库数据文件块的大小DB_BLOCK_SIZE
计算公式
UndoSpace=UR*(UPS*DBS)
其中UNDO_RETENTION 和 DB_BLOCK_SIZE两部分的信息可以在实例配置参数信息中获取。
 而第三部分UPS的信息需要从动态性能试图V$UNDOSTAT中获取
 下面是获取(UPS)每秒产生的undo 数据块的个数.
SQL> SELECT undoblks/((end_time-begin_time)*86400) "Peak Undo Block Generation"
 FROM v$undostat WHERE undoblks=(SELECT MAX(undoblks) FROM v$undostat);
其中列END_TIME and BEGIN_TIME 是日期类型,需要转换成秒(24 hours * 60 minutes * 60 seconds).

下面的SQL是计算UNDO表空间大小
SQL> SELECT (UR * (UPS * DBS)) AS "Bytes"
      FROM (SELECT value AS UR FROM v$parameter WHERE name = 'undo_retention'),
          (SELECT undoblks/((end_time-begin_time)*86400) AS UPS
            FROM v$undostat
            WHERE undoblks = (SELECT MAX(undoblks) FROM v$undostat)),
          (SELECT block_size AS DBS
            FROM dba_tablespaces
            WHERE tablespace_name = (SELECT UPPER(value) FROM v$parameter WHERE name = 'undo_tablespace'));
           
 10g 和10g 更高的版本,可以使用下面的查询:
SQL>SELECT (UR * (UPS * DBS)) AS "Bytes"
 FROM (select max(tuned_undoretention) AS UR from v$undostat),
 (SELECT undoblks/((end_time-begin_time)*86400) AS UPS
 FROM v$undostat
 WHERE undoblks = (SELECT MAX(undoblks) FROM v$undostat)),
 (SELECT block_size AS DBS
 FROM dba_tablespaces
 WHERE tablespace_name = (SELECT UPPER(value) FROM v$parameter WHERE name = 'undo_tablespace'));

--------------------------------------------------------------------------------

RMAN备份与恢复之undo表空间丢失

关于Oracle 释放过度使用的undo表空间

Oracle undo的一些理解

Oracle undo 镜像数据探究

Oracle 回滚(ROLLBACK)和撤销(undo)

Linux-6-64下安装Oracle 12C笔记

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------------------------------------------------

本文永久更新链接地址:

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