Oracle UNDO表空间的管理

UNDO表空间的管理是Oracle DBA最重要的日常工作之一,UNDO表空间用来暂时存储DML操作的数据,其主要作用有:
1、事务回滚
2、实例恢复
3、读一致性
4、闪回
 
下面是对UNDO表空间的一些操作
 
1、查看某个实例都有哪些表空间:select tablespace_name, contents from dba_tablespaces where contents = 'UNDO';
 
我们也可以用show parameter undo_tablespace名称查看,此命令只能查看当前默认UNDO表空间:
 
当然,我们也可以查看表空间及其对应的数据文件:select substr(file_name,1,60) UNDO_FILES from dba_data_files where tablespace_name = 'UNDOTBS1' order by 1;
 
查看UNDO表空间的大小、可用空间:
select * from (select
     a.tablespace_name,
     sum(a.bytes)/(1024*1024) total_space_MB,
     round(b.free,2) Free_space_MB,
     round(b.free/(sum(a.bytes)/(1024*1024))* 100,2) percent_free
    from dba_data_files a,
     (select tablespace_name,sum(bytes)/(1024*1024) free  from dba_free_space
     group by tablespace_name) b
   where a.tablespace_name = b.tablespace_name(+)
     group by a.tablespace_name,b.free)
 where tablespace_name = 'UNDOTBS1';
 
2、创建UNDO表空间:
create undo tablespace undotbs3 datafile '/data1/oradata/undotbs03_1.dbf' size 100M autoextend on next 20M maxsize 500M;
 
上面命令中,指定UNDO表空间名称、对应数据文件、初始大小、自动扩展、每次扩展大小、最大扩展到多大
 
给UNDO表空间增加数据文件:
ALTER TABLESPACE UNDOTBS3 ADD DATAFILE ''/data1/oradata/undotbs03_2.dbf' SIZE 1024M AUTOEXTEND ON NEXT 100M MAXSIZE 2048M;
 
3、切换默认UNDO表空间:
alter system set undo_tablespace = UNDOTBS3;
 
4、删除不用的UNDO表空间:
 
首先查找都有哪些UNDO表空间及其名字;
然后查找默认UNDO表空间;
之后查找要删除的UNDO表空间的数据文件;
删除不用的UNDO表空间:drop tablespace UNDOTBS2;
 
这还不算完,在数据库中删除表空间后,其数据文件还在物理磁盘上存在,需要删除:
 
5、我们可以通过dba_undo_extents查看UNDO表空间的状态:
 
其中STATUS的状态有三个:UNEXPIRED、EXPIRED、ACTIVE
ACTIVE说明此时有大量的DML操作在写UNDO,UNEXPIRED状态是由ACTIVE状态的数据转换过来的,至于UNEXPIRED状态何时转换成EXPIRED,这个由当前系统的undo retention决定。
 
我们也可以通过v$UNDOSTAT来查看详细的UNDO信息:
SELECT TO_CHAR(BEGIN_TIME, 'MM/DD/YYYY HH24:MI:SS') BEGIN_TIME,TO_CHAR(END_TIME, 'MM/DD/YYYY HH24:MI:SS') ND_TIME,
UNDOTSN, UNDOBLKS, TXNCOUNT, MAXCONCURRENCY AS "MAXCON" FROM v$UNDOSTAT WHERE rownum <= 100;
 
上面各列中:
BEGIN_TIME表示每条记录UNDO事务开始的时间
END_TIMEE表示每条记录UNDO事务结束的时间
上面每条记录的间隔是10分钟
UNDOTSN 在这段时间undo事务的数量
UNDOBLKS在这段时间占用的undo块的数量
TXNCOUNT事务的总数量
MAXCON这些UNDO事务过程中的最大数据库连接数
 
6、更改UNDO RETENTION
alter system set UNDO_RETENTION = 1800;
 
7、涉及到UNDO表空间的系统表:
    V$UNDOSTAT
    V$ROLLSTAT
    V$TRANSACTION
    DBA_UNDO_EXTENTS
    WRH$_UNDOSTAT
    WRH$_ROLLSTAT

Oracle UNDO表空间的管理的更多相关文章

  1. 监控和管理Oracle UNDO表空间的使用

    对Oracle数据库UNDO表空间的监控和管理是我们日常最重要的工作之一,UNDO表空间通常都是Oracle自动化管理(通过undo_management初始化参数确定):UNDO表空间是用于存储DM ...

  2. Oracle undo 表空间管理 (摘DAVID)

    Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要 ...

  3. [Oracle]undo表空间使用量为100%

    在Toad中发现undo表空间undotbs1使用量已经达到100%,但是奇怪的是数据库并没有hang住,依然可以正常运转 通过Oracle提供的EM查看undotbs1表空间的使用,也达到了78.8 ...

  4. Oracle undo 表空间不可用

    由于某次不小心操作,在切换表空间时没有成功,由于把undo的配置参数 undo_management值设置为MANUAL所以在启动数据库时没有报任何错误,但是给表插入数据时报错了,回滚段不可用的错误. ...

  5. oracle undo表空间

    查询undo表空间状态 "Bytes(M)" FROM dba_undo_extents GROUP BY tablespace_name, status; Undo表空间的状态( ...

  6. oracle undo表空间大小修改

    redhat:清空回收站 rm -rf  /home/登录用户名/.Trash 例子:rm -rf /home/.Trash-root df命令可以显示目前所有文件系统的可用空间及使用情形: 例子:d ...

  7. Oracle 26表空间的管理

    一.查看用户表空间 熟悉与表空间相关的数据字典 查看用户的表空间 相关的数据字典:(用于查询数据库信息的数据库表)dba_tablespaces (管理员级别的表空间的描述信息) User_table ...

  8. Oracle 11gR2 Database UNDO表空间使用率居高不下-转载

    客户的数据库是Oracle Database 11.2.0.3.0 for AIX 6.1 64bit的单机数据库.客户查询DBA_FREE_SPACE发现UNDO表空间的使用率高达98%以上.客户的 ...

  9. Oracle数据库 ORA-01555 快照过旧 (undo表空间:撤销表空间)

    UNDO表空间用于存放UNDO数据,当执行DML操作时,oracle会将这些操作的旧数据写入到UNDO段,以保证可以回滚或者一致读等,而临时表空间主要用来做查询和存放一些缓冲区数据.你听说UNDO也是 ...

  10. Oracle 释放过度使用的Undo表空间

    故障现象:UNDO表空间越来越大,长此下去最终数据因为磁盘空间不足而崩溃: 问题分析:产生问题的原因主要以下两点: 1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况: ...

随机推荐

  1. ActiveMQ 常见集群模式

    Master Slave 架构模式 这种模式是基于文件共享锁的高可用集群,个人理解其实是一种 Failover 模式,可以是一主一从,也可以是一主两从. 本文使用 Docker 搭建一个主从模式的 A ...

  2. 让Apache Beam在GCP Cloud Dataflow上跑起来

    简介 在文章<Apache Beam入门及Java SDK开发初体验>中大概讲了Apapche Beam的简单概念和本地运行,本文将讲解如何把代码运行在GCP Cloud Dataflow ...

  3. 文盘Rust -- rust 连接云上数仓 starwift

    作者:京东云 贾世闻 最近想看看 rust 如何集成 clickhouse,又犯了好吃懒做的心理(不想自己建环境),刚好京东云发布了兼容ck 的云原生数仓 Starwfit,于是搞了个实例折腾一番. ...

  4. 四、python解释器、环境变量和多版本共存

    目录 一.python解释器 1.python发展方向 2.python解释器 1.历史 2.版本 3.下载 4.安装 5.使用 二.环境变量与多版本共存 环境变量设置 多版本共存 三.运行pytho ...

  5. 真正“搞”懂HTTP协议10之缓存控制

    HTTP缓存相关的问题好像是前端面试中比较常见的问题了,上来就会问什么cache-control字段有哪些,有啥区别啥的.嗯--说实话,我觉得至少在本篇来说,HTTP缓存还算不上复杂,只是字段稍微多了 ...

  6. 重启系统(等级考试4级 2021-03 T4)

    这道题如果没有一次重启系统的机会就相当于两个最长不下降子序列加在一起. 所以只需要改亿点点即可 把dp分为 dpleft 和 dpright 最长不下降子序列程序:最长上升子序列 II 时间复杂度(n ...

  7. GitHub实用开源项目

    第一款 JSON Crack JSON Crack 是一个很方便的 JSON 数据可视化工具. 该项目不是简单的展示 JSON 数据,而是将其转化为类似思维导图的形式,支持放大/缩小.展开/收缩.搜索 ...

  8. python爬取丁香园疫情数据

    毕设需求了就是说 导师要做关于时间线的- -看发展趋势 不得不今天又现学现卖 首先 创建一个python文件 python.file 引入一点资源 # 发送请求 import requests # 页 ...

  9. uboot启动过程 1

    打开 u-boot.lds OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-li ...

  10. 字符串、函数、bug

    字符串 字符串驻留机制 仅保存一份相同且不可变字符串的方法,不同的值别存放在字符串的驻留池中,Python的驻留机制对相同的字符串只保留一份拷贝,后续穿件相同的字符串时,不会开辟新的空间,而是把字符串 ...