本文主要是介绍oracle怎么释放undo空间,如何回缩Undo表空间 释放过度占用空间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【IT168 技术文档】
摘要:在使用Oracle9i/Oracle10g的自动Undo管理表空间(AUM)特性时,经常会因为各种原因而导致Undo表空间过度扩展。本文通过一则案例诊断,介绍如何收缩过度扩展的Undo表空间,释放占用空间。
环境:
OS: Red Hat Enterprise Linux AS release 4 (Nahant)
DB: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
某日,一台Oracle10gR2数据库报出如下错误:
ORA-1653: unable to extend table SYSMAN.MGMT_SYSTEM_ERROR_LOG by 8 in tablespace SYSAUX
ORA-1653: unable to extend table SYSMAN.MGMT_SYSTEM_ERROR_LOG by 8 in tablespace SYSAUX
ORA-1653: unable to extend table SYSMAN.MGMT_SYSTEM_ERROR_LOG by 8 in tablespace SYSAUX
ORA-1653: unable to extend table SYSMAN.MGMT_SYSTEM_ERROR_LOG by 8 in tablespace SYSAUX
ORA-1653: unable to extend table SYSMAN.MGMT_SYSTEM_ERROR_LOG by 8 in tablespace SYSAUX
数据库无法正常使用。
登陆检查,发现是SYSAUX表空间空间用尽,不能扩展,尝试手工扩展SYSAUX表空间:
alterdatabasedatafile'+ORADG/danaly/datafile/sysaux.266.600173881'resize 800m
Tue Nov2923:31:382005ORA-1237signalled during:alterdatabasedatafile'+ORADG/danaly/datafile/sysaux.266.600173881'resize 800m...
出现ORA-1237错误,提示空间不足。这时候我们认识到是磁盘空间可能被用完了.
是谁“偷偷的”用了那么多空间呢(本来有几十个G的Free磁盘空间的)?
通过如下脚本检查数据库表空间占用空间情况:
SQL>selecttablespace_name,sum(bytes)/1024/1024/1024GB
2fromdba_data_filesgroupbytablespace_name
3unionall4selecttablespace_name,sum(bytes)/1024/1024/1024GB
5fromdba_temp_filesgroupbytablespace_nameorderbyGB;
TABLESPACE_NAME GB
------------------------------ ----------USERS .004882813UNDOTBS2 .09765625SYSTEM .478515625SYSAUX .634765625WAPCM_TS_VISIT_DETAIL .9765625HY_DS_DEFAULT1
这篇关于oracle怎么释放undo空间,如何回缩Undo表空间 释放过度占用空间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!