ORACLE释放undo表空间

chubby_bear 2010-08-20 09:41:26
在日常的数据库维护和数据库编程中经常会遇到犹豫对大数据量做DML操作后是得ORACLE的undo表空间扩展到十几个G或者几十个G 但是这些表空间的所占用磁盘的物理空间又不会被oracle所释放,如果你用的是PC机很可能会遇到磁盘空间不足的问题,经过个人整理经过如下操作可以重构undo表空间,同样temp表空间也可能在你查询大数据或则创建索引的时候无限扩大导致磁盘空间不足,同样可以用如下方式解决此问题:

  --查看各表空间名称

  select name from v$tablespace

  --查看某个表空间信息

  select file_name,bytes/1024/1024 from dba_data_files where tablespace_name like 'UNDOTBS1';

  --查看回滚段的使用情况,哪个用户正在使用回滚段的资源,如果有用户最好更换时间(特别是生产环境)。

  select s.username, u.name from v$transaction t,v$rollstat r, v$rollname u,v$session s

  where s.taddr=t.addr and t.xidusn=r.usn and r.usn=u.usn order by s.username;

  --检查UNDO Segment状态

  select usn,xacts,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;

  --创建新的UNDO表空间,并设置自动扩展参数;

  create undo tablespace undotbs2 datafile 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\UNDOTBS02.DBF' size 10m reuse autoextend on next 100m maxsize unlimited;

  -- 动态更改spfile配置文件;

  alter system set undo_tablespace=undotbs2 scope=both;

  --等待原UNDO表空间所有UNDO SEGMENT OFFLINE;

  select usn,xacts,status,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;

  --再执行看UNDO表空间所有UNDO SEGMENT ONLINE;

  select usn,xacts,status,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks from v$rollstat order by rssize;

  -- 删除原有的UNDO表空间;

  drop tablespace undotbs1 including contents;

  --确认删除是否成功;

  select name from v$tablespace;

最后需要在重启数据库或者重启计算机后到存储数据文件的路径下删除数据文件
...全文
130 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxq1985 2010-08-20
  • 打赏
  • 举报
回复
生产库可以这样停库?
深入解析OracleDBA入门进阶与诊断案例 扫描版 作  者:盖国强 著 出 版 社:人民邮电出版社 出版时间:2009-1-1 页  数:527 内容简介   针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手,深入研究相关技术,并结合性能调整及丰富的诊断案例,力图将Oracle知识全面、系统、深入地展现给读者。   本书给出了大量取自实际工作现场的实例,在分析实例的过程中,兼顾深度与广度,不仅对实际问题的现象、产生原因和相关的原理进行了深入浅出的讲解,更主要的是,结合实际应用环境,提供了一系列解决问题的思路和方法,包括详细的操作步骤,具有很强的实战性和可操作性,适用于具备一定数据库基础、打算深入学习Oracle技术的数据库从业人员,尤其适用于入门、进阶以及希望深入研究Oracle技术的数据库管理人员。 目录 第1章 数据库的启动和关闭   1.1 数据库的启动   1.2 数据库的访问   1.3 数据库的关闭  第2章 控制文件与数据库初始化   2.1 控制文件的内容   2.2 SCN   2.3 检查点(Checkpoint)   2.4 数据库的初始化  第3章 参数及参数文件   3.1 初始化参数的分类   3.2 参数文件   3.3 诊断案例之一:参数文件   3.4 诊断案例之二:RAC环境参数文件  第4章 数据字典   4.1 数据字典概述   4.2 内部RDBMS(X$)表   4.3 数据字典表   4.4 静态数据字典视图   4.5 动态性能视图   4.6 最后的验证  第5章 内存管理   5.1 PGA管理   5.2 SGA管理   5.3 Oracle的内存分配和使用  第6章 Buffer Cache与Shared Pool原理   6.1 Buffer Cache原理   6.2 Shared Pool的基本原理  第7章 重做(Redo)   7.1 Redo的作用   7.2 Redo的原理   7.3 Redo与Latch   7.4 Oracle 9i Redo的增强   7.5 Oracle 10g Redo的增强   7.6 Redo的内容   7.7 产生多少Redo   7.8 Redo写的触发条件   7.9 Redo Log Buffer的大小设置   7.10 commit做了什么?   7.11 日志的状态   7.12 日志的块大小   7.13 日志文件的大小   7.14 如何调整日志文件大小   7.15 为什么热备份期间产生的Redo要比正常的多   7.16 能否不生成Redo   7.17 Redo故障的恢复   7.18 诊断案例一:通过Clear日志恢复数据库   7.19 诊断案例二:日志组过度激活的诊断   附录 数值在Oracle的内部存储  第8章 回滚与撤销   8.1 什么是回滚和撤销   8.2 回滚段存储的内容   8.3 并发控制和一致性读   8.4 回滚段的前世今生   8.5 Oracle 10g的UNDO_RETENTION管理增强   8.6 UNDO_RETENTION的内部实现   8.7 Oracle 10g In Memory Undo新特性   8.8 Oracle 11g UNDO表空间备份增强   8.9 回滚机制的深入研究   8.10 Oracle 9i闪回查询的新特性   8.11 使用ERRORSTACK进行错误跟踪   8.12 Oracle 10g闪回查询特性的增强   8.13 ORA-01555成因与解决   8.14 Oracle 11g闪回数据归档   8.15 AUM下如何重建UNDO表空间   8.16 使用Flashback Query恢复误删除数据   8.17 诊断案例之一:释放过度扩展的UNDO空间   8.18 特殊情况的恢复   8.19 诊断案例之二:回滚段损坏的恢复  第9章 等待事件   9.1 等待事件的源起   9.2 从等待发现瓶颈   9.3 Oracle 10g的增强   9.4 顶级等待事件   9.5 重要等待事件  第10章 性能诊断与SQL优化   10.1 使用AUTOTRACE功能辅助SQL优化   10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整   10.6 一次横跨两岸的问题诊断   10.7 总结
深入解析OracleDBA入门进阶与诊断案例 扫描版 作  者:盖国强 著 出 版 社:人民邮电出版社 出版时间:2009-1-1 页  数:527 内容简介   针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手,深入研究相关技术,并结合性能调整及丰富的诊断案例,力图将Oracle知识全面、系统、深入地展现给读者。   本书给出了大量取自实际工作现场的实例,在分析实例的过程中,兼顾深度与广度,不仅对实际问题的现象、产生原因和相关的原理进行了深入浅出的讲解,更主要的是,结合实际应用环境,提供了一系列解决问题的思路和方法,包括详细的操作步骤,具有很强的实战性和可操作性,适用于具备一定数据库基础、打算深入学习Oracle技术的数据库从业人员,尤其适用于入门、进阶以及希望深入研究Oracle技术的数据库管理人员。 目录 第1章 数据库的启动和关闭   1.1 数据库的启动   1.2 数据库的访问   1.3 数据库的关闭  第2章 控制文件与数据库初始化   2.1 控制文件的内容   2.2 SCN   2.3 检查点(Checkpoint)   2.4 数据库的初始化  第3章 参数及参数文件   3.1 初始化参数的分类   3.2 参数文件   3.3 诊断案例之一:参数文件   3.4 诊断案例之二:RAC环境参数文件  第4章 数据字典   4.1 数据字典概述   4.2 内部RDBMS(X$)表   4.3 数据字典表   4.4 静态数据字典视图   4.5 动态性能视图   4.6 最后的验证  第5章 内存管理   5.1 PGA管理   5.2 SGA管理   5.3 Oracle的内存分配和使用  第6章 Buffer Cache与Shared Pool原理   6.1 Buffer Cache原理   6.2 Shared Pool的基本原理  第7章 重做(Redo)   7.1 Redo的作用   7.2 Redo的原理   7.3 Redo与Latch   7.4 Oracle 9i Redo的增强   7.5 Oracle 10g Redo的增强   7.6 Redo的内容   7.7 产生多少Redo   7.8 Redo写的触发条件   7.9 Redo Log Buffer的大小设置   7.10 commit做了什么?   7.11 日志的状态   7.12 日志的块大小   7.13 日志文件的大小   7.14 如何调整日志文件大小   7.15 为什么热备份期间产生的Redo要比正常的多   7.16 能否不生成Redo   7.17 Redo故障的恢复   7.18 诊断案例一:通过Clear日志恢复数据库   7.19 诊断案例二:日志组过度激活的诊断   附录 数值在Oracle的内部存储  第8章 回滚与撤销   8.1 什么是回滚和撤销   8.2 回滚段存储的内容   8.3 并发控制和一致性读   8.4 回滚段的前世今生   8.5 Oracle 10g的UNDO_RETENTION管理增强   8.6 UNDO_RETENTION的内部实现   8.7 Oracle 10g In Memory Undo新特性   8.8 Oracle 11g UNDO表空间备份增强   8.9 回滚机制的深入研究   8.10 Oracle 9i闪回查询的新特性   8.11 使用ERRORSTACK进行错误跟踪   8.12 Oracle 10g闪回查询特性的增强   8.13 ORA-01555成因与解决   8.14 Oracle 11g闪回数据归档   8.15 AUM下如何重建UNDO表空间   8.16 使用Flashback Query恢复误删除数据   8.17 诊断案例之一:释放过度扩展的UNDO空间   8.18 特殊情况的恢复   8.19 诊断案例之二:回滚段损坏的恢复  第9章 等待事件   9.1 等待事件的源起   9.2 从等待发现瓶颈   9.3 Oracle 10g的增强   9.4 顶级等待事件   9.5 重要等待事件  第10章 性能诊断与SQL优化   10.1 使用AUTOTRACE功能辅助SQL优化   10.2 获取SQL执行计划的方法   10.3 捕获问题SQL解决过度CPU消耗问题   10.4 使用SQL_TRACE/10046事件进行数据库诊断   10.5 使用物化视图进行翻页性能调整   10.6 一次横跨两岸的问题诊断   10.7 总结

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧