oracle11g下清理临时表空间
来源:互联网 发布:javascript var 数组 编辑:程序博客网 时间:2024/06/10 04:26
维护的一个生产数据库,被“集中监控”软件监控到临时表空间使用率100%,需要清理。于是,想到了添加临时文件的方法。但是想到原临时文件temp01.dbf已经用掉了2GB,想一并清理这个文件,用到了shrink特性,释放了空间。
1:查看用户的默认临时表空间
SQL> select * from v$version where rownum<=1;BANNER --------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production SQL> select temporary_tablespace from dba_users where username='VLSI';TEMPORARY_TABLESPACE ------------------------------------------------------------ TEMP
2:查看表空间的利用率
SELECT D.TABLESPACE_NAME, SPACE || 'M' "SUM_SPACE(M)", BLOCKS "SUM_BLOCKS", SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)", ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%' "USED_RATE(%)", FREE_SPACE || 'M' "FREE_SPACE(M)" FROM ( SELECT TABLESPACE_NAME, ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE, SUM (BLOCKS) BLOCKS FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) D, ( SELECT TABLESPACE_NAME, ROUND (SUM (BYTES) / (1024 * 1024), 2) FREE_SPACE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) UNION ALL --如果有临时表空间 SELECT D.TABLESPACE_NAME, SPACE || 'M' "SUM_SPACE(M)", BLOCKS SUM_BLOCKS, USED_SPACE || 'M' "USED_SPACE(M)", ROUND (NVL (USED_SPACE, 0) / SPACE * 100, 2) || '%' "USED_RATE(%)", NVL (FREE_SPACE, 0) || 'M' "FREE_SPACE(M)" FROM ( SELECT TABLESPACE_NAME, ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE, SUM (BLOCKS) BLOCKS FROM DBA_TEMP_FILES GROUP BY TABLESPACE_NAME) D, ( SELECT TABLESPACE_NAME, ROUND (SUM (BYTES_USED) / (1024 * 1024), 2) USED_SPACE, ROUND (SUM (BYTES_FREE) / (1024 * 1024), 2) FREE_SPACE FROM V$TEMP_SPACE_HEADER GROUP BY TABLESPACE_NAME) F WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) ORDER BY 1;结果为:
3:temp表空间已经100%,需要释放。
SQL> col file_name for a50SQL> col autoextensible for a10SQL> select file_name,autoextensible 2 from dba_temp_files 3 where tablespace_name='TEMP';FILE_NAME AUTOEXTENS -------------------------------------------------- ---------- D:\APP\ADMINISTRATOR\ORADATA\VLSI\TEMP01.DBF YES SQL> alter tablespace temp shrink space;表空间已更改。
4:shrink后,再次查看temp表空间的使用率
5:一下降到了1.99M,此时需要添加一个临时文件,固定大小。
SQL> alter tablespace temp add tempfile 'D:\app\Administrator\oradata\vlsi\TEMP02.DBF' size 1024 M 2 ;表空间已更改。
6:再次查看表空间使用率
从结果可以看出,使用率降到了0.19%。问题解决。
总结:在oracle 11g中,当临时表空间使用率过高时,可以通过alter tablespace temp shrink space来降低使用率。
通过添加文件,也可以达到降低空间使用率的目的。
0 0
- oracle11g下清理临时表空间
- oracle11g 回收临时表空间
- Oracle11g 临时表空间收缩
- 清理临时表空间满的方法
- oracle数据库如何清理临时表空间
- oracle临时表空间的清理
- 00009.Oracle清理临时表空间
- oracle清理数据库的临时表空间
- Oracle 11G清理临时表空间
- Oracle中临时表空间的清理
- Oracle中临时表空间的清理
- ORACLE11G建临时表空间>建表空间>建用户>给用户授权
- oracle 数据库,表空间的问题,临时表空间清理的问题
- Oracle11g 临时表存储特性
- oracle11g创建表空间
- oracle11g表空间
- oracle11g迁移表空间
- oracle11g创建表空间
- cocos2d-x中精灵移动
- 【Android】神奇的android:clipChildren属性
- 数据库连接池浅析
- MINA框架简介
- Android NDK开发-----示例
- oracle11g下清理临时表空间
- Java类加载原理解析
- 开博第一篇文章
- OCP 1Z0 052 170
- Installation error: INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
- 微信爱帮周边查询
- Install CentOS 5 to a USB Flash Drive in Windows
- 使用动态代理API-给抽象数据类型提供强类型
- 在UIView中添加点击事件