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. vue中使用echarts来绘制中国地图,NuxtJS制作疫情地图,内有详细注释,我就懒得解释了,vue cli制作疫情地图 代码略有不同哦~~~

    我的代码自我感觉----注释一向十分详细,就不用过多解释都是什么了~~ 因为最近疫情期间在家实在是没事干,想找点事,就练手了个小demo 首先上 NuxtJs版本代码,这里面 export defau ...

  2. JVM是如何解决跨代引用问题的?

    本文已收录至Github,推荐阅读 Java随想录 微信公众号:Java随想录 CSDN: 码农BookSea 不知道自己的无知,乃是双倍的无知.--柏拉图 目录 跨代引用问题 记忆集 卡表 写屏障 ...

  3. Java 进阶P-1.3+P-1.4

    成员变量和成员函数 成员变量 类定义了对象中所具有的变量,这些变量称作成员变量 每个对象都有自己的变量,和同一个类的其他对象是分开的 成员方法 在 Java 语言中使用成员方法对应于类对象的行为.以 ...

  4. redis 6种过期策略的具体方式

    redis 中的默认的过期策略是volatile-lru .设置方式 config set maxmemory-policy volatile-lru maxmemory-policy 六种方式 vo ...

  5. python学习第一周总结

    第一周内容概要 day01 typora软件安装 markdown语法 typora软件功能介绍 网络博文编写教程 计算机的本质 计算机的五大组成部分 计算机的三大核心硬件 day02 操作系统 编程 ...

  6. k210 cpu、asm、rust、smpboot、ipi

    介绍 k210的datasheet主要讲了与外设相关的内容,k210并不支持最新的完整的riscv指令集,而是实现了一部分.本文想要通过汇编来一点点摸索k210的寄存器,布局,mmu,缓存等结构 相关 ...

  7. vscode + vim 快捷键

    多行编辑 按V选中行,按大写I即可进入编辑模式 撤销恢复 CTRL + z 撤销 CTRL + shift + z 恢复 代码自动对齐 Alt + shift + f

  8. EPICS Archiver Appliance 单点极限储存速率测试

    https://blog.csdn.net/weixin_43767046/article/details/113748775 这个测试一直在进行,虽然因为摸数据库设置而重启过并清过库,但读示波器波形 ...

  9. vue axios请求中断的处理

    https://blog.csdn.net/qiaoqiaohong/article/details/121014296

  10. 题解 Trie 但是你要最小化它的节点数量

    名字瞎取的 Description 给定 \(n\) 个字符串 \(s\),可以对 \(s_i\) 的字符打乱,将这些字符串加入一个 trie 里面求节点数量最小值. \(n\le 16, \sum ...