如何Shrink Undo表空间,释放过度占用的空间
16 0 ONLINE .000114441 .000114441 0
11 rows selected.
---------------
12 0 ONLINE .000114441 .000114441 0
5 1 1.22946167 1.22946167 0
空间已经释放。
ASMCMD> exit
USN XACTS STATUS RSSIZE/1024/1024/1024 HWMSIZE/1024/1024/1024 SHRINKS
19 0 ONLINE .000114441 .000114441 0
检查数据库表空间占用空间情况:
TABLESPACE_NAME GB
HY_DS_DEFAULT 1
1.确认文件
3 0 .13722229 .13722229 0
3 union all
4 1 1.27895355 1.27895355 0
6.删除原UNDO表空间
TABLESPACE_NAME GB
3.创建新的UNDO表空间
USERS .004882813
---------- ---------- --------------------- ---------------------- ----------
ORA-1653: unable to extend table SYSMAN.MGMT_SYSTEM_ERROR_LOG by 8 in tablespace SYSAUX
12 rows selected.
---------- ---------- --------------- --------------------- ---------------------- ----------
17 0 ONLINE .000114441 .000114441 0
6 0 PENDING OFFLINE 2.9671936 2.9671936 0
Used_MB Mirror_used_MB
------------------------------ ----------
ORA-1237 signalled during: alter database datafile '+ORADG/danaly/datafile/sysaux.266.600173881' resize 800m... 6 0 2.9671936 2.9671936 0
11 0 ONLINE .000114441 .000114441 0
20 0 ONLINE .000114441 .000114441 0
ORA-1653: unable to extend table SYSMAN.MGMT_SYSTEM_ERROR_LOG by 8 in tablespace SYSAUX
2 0 .071517944 .071517944 0
------------------------------ ----------
0 0 ONLINE .000358582 .000358582 0
ORA-1653: unable to extend table SYSMAN.MGMT_SYSTEM_ERROR_LOG by 8 in tablespace SYSAUX
11:32:11 SQL> /
21625 21625
OS:Red Hat Enterprise Linux AS release 4 (Nahant)
SQL> select usn,xacts,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks
5.等待原UNDO表空间所有UNDO SEGMENT OFFLINE
1 0 2.02474976 2.02474976 0
15 1 ONLINE .000114441 .000114441 0
创建了新的UNDO表空间以后,如果不知道系统使用的是pfile还是spfile文件,应使用参数both,会同时修改spfile文件,避免出现冲突。11 rows selected.
(本人经测试觉得其实是否可以用drop tablespace undotbs1 including contents and datafiles;直接连硬盘里面的dbf文件件一起删除)
USN XACTS STATUS RSSIZE/1024/1024/1024 HWMSIZE/1024/1024/1024 SHRINKS
SYSTEM .478515625
27810
4 select tablespace_name,sum(bytes)/1024/1024/1024 GB
Tue Nov 29 23:31:38 2005
0 0 ONLINE .000358582 .000358582 0
SQL> select tablespace_name,sum(bytes)/1024/1024/1024 GB
SYSAUX .634765625
0 0 .000358582 .000358582 0
2 where tablespace_name like 'UNDOTBS1';
CM_TS_DEFAULT 5
不幸的发现,UNDO表空间已经扩展至27G,而TEMP表空间也扩展至20G,这2个表空间加起来占用了47G的磁盘空间,导致了空间不足。
SQL> alter system set undo_tablespace=undotbs2 scope=both;
SQL> create undo tablespace undotbs2 ;
SQL> select usn,xacts,status,rssize/1024/1024/1024,hwmsize/1024/1024/1024,shrinks
FILE_NAME
14 0 ONLINE .000114441 .000114441 0
MMS_TS_DATA2 1.375
登陆检查,发现是SYSAUX表空间空间用尽,不能扩展,尝试手工扩展SYSAUX表空间:
+ORADG/danaly/datafile/undotbs1.265.600173875
DB:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
5 from dba_temp_files group by tablespace_name order by GB;
[oracle@danaly ~]$ asmcmd
ORA-1653: unable to extend table SYSMAN.MGMT_SYSTEM_ERROR_LOG by 8 in tablespace SYSAUX
MMS_TS_DATA1 2
MMS_TS_DEFAULT 2
一台Oracle10gR2数据库报出如下错误:
ASMCMD> du
---------- ---------- --------------- --------------------- ---------------------- ----------
是谁"偷偷的"用了那么多空间呢(本来有几十个G的Free磁盘空间的)?
10 0 .625144958 .625144958 0
12 0 ONLINE .000114441 .000114441 0
18 0 ONLINE .000114441 .000114441 0
2 from v$rollstat order by rssize;
2 from dba_data_files group by tablespace_name
19 0 ONLINE .000114441 .000114441 0
Tablespace dropped.
MMS_IDX_SJH 2
15 rows selected.
ORA-1653: unable to extend table SYSMAN.MGMT_SYSTEM_ERROR_LOG by 8 in tablespace SYSAUX
alter database datafile '+ORADG/danaly/datafile/sysaux.266.600173881' resize 800m
---------- ---------- --------------- --------------------- ---------------------- ----------
TEMP 20.5498047
再看:
Elapsed: 00:00:03.13
环境:
[oracle@danaly ~]$ export ORACLE_SID=+ASM
SQL> select file_name,bytes/1024/1024 from dba_data_files
IVRCN_TS_DATA 2
13 0 ONLINE .000114441 .000114441 0
17 0 ONLINE .000114441 .000114441 0
现在我们可以采用如下步骤回收UNDO空间:
11 0 ONLINE .000114441 .000114441 0
4.切换UNDO表空间为新的UNDO表空间
出现ORA-1237错误,提示空间不足。这时候我才认识到是磁盘空间可能被用完了.
UNDOTBS1 27.1582031
USN XACTS RSSIZE/1024/1024/1024 HWMSIZE/1024/1024/1024 SHRINKS
显然曾经有大事务占用了大量的UNDO表空间和Temp表空间,Oracle的AUM(Auto Undo Management)从出生以来就经常出现只扩展,不收缩(shrink)的情况(通常我们可以设置足够的UNDO表空间大小,然后取消其自动扩展属性).
16 0 ONLINE .000114441 .000114441 0
2 from v$rollstat order by rssize;
20 0 ONLINE .000114441 .000114441 0
MINT_TS_DEFAULT 1
System altered.
7.检查空间情况
--------------------------------------------------------------------------------
13 0 ONLINE .000114441 .000114441 0
Tablespace created.
2.检查UNDO Segment状态
15 1 ONLINE .000114441 .000114441 0
8 0 1.27175903 1.27175903 0
UNDOTBS2 .09765625
由于我使用的ASM管理,可以使用10gR2提供的信工具asmcmd来察看空间占用情况.
14 0 ONLINE .000114441 .000114441 0
7 0 1.56770325 1.56770325 0
(经测试,在9i环境下后面还要加上datafile '/opt/..../undotbs2.dbf' size 1024M)
18 0 ONLINE .000114441 .000114441 0
11:34:00 SQL> drop tablespace undotbs1 including contents;
Elapsed: 00:00:00.00
WAPCM_TS_VISIT_DETAIL .9765625
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/sql/oracle/2093.shtml
相关文章
热门TAG
命令 权重 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 服务器 网站流量 实例解析 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows SEO优化 蜘蛛 搜索引擎 网站收录 JSP最新文章
-
Window下Oracle Database 11g 发行
时间:2020-12-29
-
Oracle如何实现like多个值的
时间:2020-12-29
-
maven添加oracle依赖失败问题
时间:2020-12-29
-
OracleRAC基本概念及入门
时间:2020-12-29
-
Azure File Storage 基本用法
时间:2020-12-26
-
Oracle 权限(grant revoke)
时间:2020-12-26
-
Azure Queue Storage 基本用法
时间:2020-12-26
-
如何对比迁移前后的Orac
时间:2020-12-26
热门文章
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
Oracle存储过程编程详解
时间:2020-12-07
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
-
Oracle学习记录之使用自定义函数和触发器
时间:2020-12-07
