1、查看数据库当前实例使用的是哪个UNDO表空间:
show parameter undo_tablespace
2、查看UNDO表空间对应的数据文件和大小
set lines 200 pages 200
col file_name for a60
col tablespace_name for a20;
select tablespace_name,file_name,bytes/1024/1024 MB from dba_data_files
where tablespace_name like '%UNDOTBS%';
3、查看undo表空间属性:
show parameter undo
select retention,tablespace_name from dba_tablespaces where tablespace_name like '%UNDOTBS%';
解释:
4、查看undo表空间当前的使用情况:
set lines 200 pages 200
col tablespace_name for a30
select tablespace_name,status,sum(bytes)/1024/1024 MB from dba_undo_extents
group by tablespace_name,status;
与一般的用户表空间不同,undo表空间不能通过dba_free_spaces来确定实际的使用情况,undo表空间除了active状态的extent不能被覆盖外。其他状态的extent都是可以空间复用的。
如果active的extent总大小很大,说明系统中存在大事务。如果undo资源耗尽(ACTIVE接近undotbs的总大小),可能导致事务失败。
5、查看什么事务占用了过多的undo:
select addr,used_ublk,used_urec,inst_id from gv$transaction order by 2 desc;
ADDR: 事务的内存你地址。
USED_UBLK:事务使用的undo block数量。
USED_UREC:事务使用的undo record (undo前镜像的条数,例如:delete删除的记录数)
6、查看占用undo的事务执行了什么sql:
set lines 200 pages 200
col program for a30
col machine for a30
select sql_id,last_call_et,program,machine from gv$session where taddr='0000000089A9E2F0';
LAST_CALL_ET: 上一次调用到现在为止过了多长时间,单位为秒,途中显示过了304s (既可以理解为sql已经运行了304s)。
set long 99999
set lines 100
set pages 1000
select sql_fulltext from v$sql where SQL_ID='8gvp49tr474f2';
7、找到了sql,下面就可以联系应用做处理了:
哪台机器,通过什么程序,发起了什么sql,占用了多少undo,是否可以杀掉,sql是否可以改写,是否可以分批提交。。。等
关于UNDO的其他知识:
1、undo的读取方式是单块读的,所以事务的回滚比较慢
2、显示undo使用情况的统计信息:
SELECT
TO_CHAR(BEGIN_TIME,'HH24:MI:SS') BEGIN_TIME,
TO_CHAR(END_TIME,'HH24:MI:SS') END_TIME,
UNDOBLKS
FROM V$UNDOSTAT;
3、system表空间中有一个系统回滚段,只有在对数据字典进行操作时(eg:修改表结构)才用到系统回滚段,另外一种情况,如果undo表空间出现问题,oracle也可能使用system段。
4、undo segment的信息:
SELECT
a.name, b.xacts, b.writes, b.extents
FROM
v$rollname a, v$rollstat b
WHERE a.usn=b.usn;
undo空间满的处理方法(含undo的学习与相关解释)的更多相关文章
-
ORA-03113 通信通道的文件结尾(ORA-19804 ORA-16038-归档空间满的处理方法)
1.数据库启动报错SQL> startupORACLE 例程已经启动. Total System Global Area 1887350784 bytesFixed Size 2176848 b ...
-
ORACLE的还原表空间UNDO写满磁盘空间,解决该问题的具体步骤
产生问题的原因主要以下两点:1. 有较大的事务量让Oracle Undo自动扩展,产生过度占用磁盘空间的情况:2. 有较大事务没有收缩或者没有提交所导制:说明:本问题在ORACLE系统管理中属于比较正 ...
-
Master Note: Undo 空间使用率高 (Doc ID 1578639.1)
Master Note: High Undo Space Usage (Doc ID 1578639.1) APPLIES TO: Oracle Database Cloud Schema Servi ...
-
linux磁盘空间用满的处理方法
linux下空间满可能有两种情况 可以通过命令 df -h 查看磁盘空间占用,实际上是查看磁盘块占用的文件(block) df -i 查看索引节点的占用(Inodes) 磁盘块和索引节点其中之一满 ...
-
14.5.7 Storing InnoDB Undo Logs in Separate Tablespaces 存储InnoDB Undo logs 到单独的表空间
14.5.7 Storing InnoDB Undo Logs in Separate Tablespaces 存储InnoDB Undo logs 到单独的表空间 在MySQL 5.6.3,你可以存 ...
-
监控undo空间和临时段的使用情况
--1.监控undo空间情况 ),) free_space from dba_free_space where tablespace_name='UNDOTBS1' group by tablespa ...
-
Oracle system表空间满的暂定解决方法
Oracle system表空间满的暂定解决方法 数据库用的是Oracle Express 10.2版本的.利用Oracle Text做全文检索应用,创建用户yxl时没有初始化默认表空间,在系统开发过 ...
-
No space left on device 解决Linux系统磁盘空间满的办法
最近Linux电脑在执行mvn时候总是报错: No space left on device 原因是磁盘空间满了,我马上加了20G的硬盘容量,但是还是报错,上网查了一下,发现了解决方法,我用了其中 ...
-
oracle表空间不足扩容的方法
1.查询当前用户的所属表空间 select * from user_users; 2.增加表空间有两种方法: 以sysdba登陆进数据库 语法: alter tablespace 表空间名称 add ...
随机推荐
-
关于Xcode6创建的工程在Xcode5打开
Xcode6创建的工程在Xcode5打开- 4.0只显示3.5大小的问题 只需要在工程里添加Default-568h@2x.png,即可以解决
-
C# has three timers
结论 *1.窗体timer和线程timer.计时器timer不同,因为后两者dispose之后,GC可以收集,而前者无法收集 *2.如果一个对象的成员函数正在被执行,那么这个对象肯定不会被收集 *3. ...
-
C++和C代码互相调用是不可避免的
C++ 编译器能够兼容C语言发编译方式 C++编译器会优先使用C++ 编译的方式 extern 关键字能强制让C++编译器进行C方式的编译 external “C” { //do C-style co ...
-
【Gerrit】gerrit server搭建
Part 1 Gerrit Prerequisites: 1.Java JDK>1.7 2.Git 3.SSH server 4.DB part 2 Set local gerrit serv ...
-
nginx自定义模块编写-实时统计模块--转载
原文:http://www.vimer.cn/2012/05/nginx%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A8%A1%E5%9D%97%E7%BC%96%E5%86%99- ...
-
openstack nova数据库计算结点IP地址
最近遇到一个问题就是在控制结点上查找nova数据库中 select * from compute_nodes\G;中出现IP地址一直是127.0.0.1不是计算结点的IP,就算修改成计算结点的IP,也 ...
-
采购术语PR、PO、RFQ、RFI、SOW、BOM、JIT、VMI、MRO 是什么意思
PO:Purchase Order Form 采购订单,公司对外使用,还有个PR: ,公司内部使用的采购申请单 PR (Purchase Requirent) 请购单,采购申请单,代表企业内部的申请需 ...
-
DJ_Java_Decompiler新手入门教程
首先声明:这篇文章并不是我原创,只是感觉挺有用处,想跟大家分享一下,所以标注为原创,希望能有更多的朋友可以看到,还请原作者谅解. 昨天大D说让我写下DJ入门的基础,今天写了一大半了,结果不小心把浏览器 ...
-
HTTP协议介绍
一.什么是HTTP协议呢? * 写道 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互联网上应用最为广泛的一种网络协议.HTTP是一个客户端终端 ...
-
C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式.
C++反汇编第五讲,认识多重继承,菱形继承的内存结构,以及反汇编中的表现形式. 目录: 1.多重继承在内存中的表现形式 多重继承在汇编中的表现形式 2.菱形继承 普通的菱形继承 虚继承 汇编中的表现形 ...