Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1989405
  • 博文数量: 148
  • 博客积分: 7697
  • 博客等级: 少将
  • 技术积分: 3071
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-10 23:04
个人简介

MiBDP,数据开发、项目团队、数据应用和产品在路上,金融保险、互联网网游、电商、新零售行业、大数据和AI在路上。对数仓、模型、ETL、数据产品应用了解。DTCC 2013演讲嘉宾,曾做过两款大获好评的数据产品平台。知识星球ID:35863277

文章分类
文章存档

2020年(1)

2019年(2)

2017年(2)

2016年(5)

2015年(1)

2014年(1)

2013年(6)

2012年(5)

2011年(24)

2010年(28)

2009年(1)

2008年(6)

2007年(30)

2006年(36)

分类: Oracle

2007-05-21 18:46:29

今天过来查询数据库服务器时,发现数据库服务器磁盘使用空间达到了98%,分析总共的数据文件也不可能达到如此大,经过查询发现原来临时表空间的使用情况达到了32G,导致磁盘空间使用紧张。搜索了相应的文档与资料后,查出

临时表空间主要使用在:

-          索引创建或重创建.
- ORDER BY or GROUP BY
(这个是‘罪魁祸首’)

- DISTINCT
操作.
- UNION & INTERSECT & MINUS
- Sort-Merge joins.
- Analyze
操作

-
有些异常将会引起temp暴涨 (这个也很有可能)

下面是重新创建一个临时表空间,把原来的默认临时表空间drop掉(包括里面的临时数据文件)再重新建立

SQL> create temporary tablespace temp2

  2  tempfile '/home/oracle/oracle/product/10.2.0/oradata/hatest/temp02.pdf' size 512M reuse

  3  autoextend on next 640k maxsize unlimited;

 

Tablespace created.

 

SQL> alter database default temporary tablespace temp2;

 

Database altered.

 

SQL> drop tablespace temp including contents and datafiles;

 

Tablespace dropped.

(注意:由于临时表空间的数据文件比较大,所以这步可能会花费比较长的时间)

SQL> create temporary tablespace temp

  2  tempfile '/home/oracle/oracle/product/10.2.0/oradata/hatest/temp01.pdf' size 512M reuse

  3  autoextend on next 640K maxsize unlimited;

 

Tablespace created.

 

SQL> alter database default temporary tablespace temp;

 

Database altered.

 

SQL> drop tablespace temp2 including contents and datafiles;

 

Tablespace dropped.

 

SQL> exit

以上的方法只是暂时释放了临时表空间的磁盘占用空间,是治标但不是治本的方法,真正的治本的方法是找出数据库中消耗资源比较大的sql语句,然后对其进行优化处理。下面是查询在sort排序区使用的执行耗时的SQL

Select se.username,se.sid,su.extents,su.blocks*to_number(rtrim(p.value))as Space,tablespace,segtype,sql_text

 from v$sort_usage su,v$parameter p,v$session se,v$sql s

  where p.name='db_block_size' and su.session_addr=se.saddr and s.hash_value=su.sqlhash and s.address=su.sqladdr

  order by se.username,se.sid

阅读(6475) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~