Oracle数据库日常维护之undo表空间切换

今天在检查oracle备份结果时,观察到磁盘空间严重不足,查看库的表空间使用情况,发现UNDO表空间的使用到15G于是,决定将切换一个新的UNDO表空间

如下步骤首先查看系统参数查看正在使用的表空间是哪个

SQL> show parameter undo;

NAME                                 TYPE        VALUE
--------------------------------  ---------      -------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      undotbs1

新建UNDO表空间

create undo tablespace undotbs2 datafile 
'/opt/app/oracle/oradata/prod/undotbs02.dbf' 
size 1024m autoextend on max size 8192M;

切换操作:

alter system set undo_tablespace='undotbs2' scope=both;

这时候可以将原来的表空间OFFLINE然后DROP掉:

在做之前先看看是否有大的事物在执行:

SQL> select count(*) from v$transaction;
  COUNT(*)
----------
         0


在系统很空闲的时候做事很好的:

alter tablespace undotbs1 offline;

drop tablespace undotbs1;

然后手工删除物理数据文件。(腾出了10多G的空间O(∩_∩)O哈哈:victory:~)

如果不ofline的话,是删除不掉的,虽然数据字典里面被删除了,但是系统进程还在访问UNDOTBS1数据文件

所以资源没有释放当你查看磁盘空间(df -TH)的时候并没有释放空间。


在次确认切换完成结果:

SQL> show parameter undo;

NAME                                 TYPE        VALUE
-------------------------           ----------- -------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      undotbs2


SQL> select segment_name,tablespace_name from dba_undo_extents;

SEGMENT_NAME                   TABLESPACE_NAME
------------------------------ ------------------------ 
_SYSSMU20$                     UNDOTBS2
_SYSSMU20$                     UNDOTBS2
_SYSSMU19$                     UNDOTBS2
_SYSSMU19$                     UNDOTBS2
_SYSSMU18$                     UNDOTBS2
_SYSSMU18$                     UNDOTBS2
_SYSSMU17$                     UNDOTBS2
_SYSSMU17$                     UNDOTBS2
_SYSSMU17$                     UNDOTBS2
_SYSSMU16$                     UNDOTBS2
_SYSSMU16$                     UNDOTBS2
_SYSSMU15$                     UNDOTBS2
_SYSSMU15$                     UNDOTBS2
_SYSSMU14$                     UNDOTBS2
_SYSSMU14$                     UNDOTBS2
_SYSSMU13$                     UNDOTBS2
_SYSSMU13$                     UNDOTBS2
_SYSSMU12$                     UNDOTBS2
_SYSSMU12$                     UNDOTBS2

通过对Oracle数据库的监控,可以全面了解Oracle的运行状态、数据库响应情况、数据库表空用度情况。

SUM服务器监控软件对Oracle数据库的监控十分全面,主要有:缓冲区命中率监控、表空间使用率监控、表空间监控、会话数监控、连接数监控等核心性能,这些性能均为DBA必须了解和随时掌握的性能,SUM的监控为DBA提供了有力的帮助。在Oracle数据库的性能监控中其中表空间随时监控是DBA首要职责,因为一旦表空用尽,将无法再进行数据库的操作,这将给应用软件造成很大的损失。通过SUM监控与短信报警功能,DBA可以设定表空间使用率阀值进行报警,比如可以设定表空间使用率达到95%后就立即短信通知指定的DBA进行表空间扩容,从而可以有效地避免因为表空间不足引起的应用程序错误和数据库错误。

业务热线电话:(+86)021-52765253 021-61172807      上海哲涛网络科技有限公司版权所有 © 2005-2018       沪ICP备06058430-1号

沪公网安备 31011302000898号

校睿宝,培训机构学员管理软件,教师工资计算软件,消课管理软件!

手机智慧课堂答题,短信答题,微信答题!

数据备份软件,文件数据备份软件,文件备份软件,B/S架构备份软件,分布式计算机备份软件!