不知道大家有没有遇到过这个问题,temp表空间很快使用率涨到了99%多,这时候访问数据库的效率变得奇慢无比,针对这样的问题有什么好的解决方法?
看到很多人遇到这样的问题,但并没有很好的解决,一方面可以从对数据的访问上简化查询之类的操作来优化,但毕竟是有限的
如果删除现有的temp表空间然后新建,会有什么影响吗?
看到很多人遇到这样的问题,但并没有很好的解决,一方面可以从对数据的访问上简化查询之类的操作来优化,但毕竟是有限的
如果删除现有的temp表空间然后新建,会有什么影响吗?
解决方案 »
- 关于 group by 和 over ( partition by ...order by)
- 这算plsql的一个bug吗?
- 请教这个sql怎么写?
- 急求oracle查询重复值sql语句
- 下面的查询该如何写?表中的行变为列显示汇总?
- 帮忙写个触发器,当一个表的一个字段内容发生变化时,自动更新另一个表的对应字段的内容。谢谢
- 谁帮忙写一个SQL语句,正则,行转列
- 请问怎么实现与运算
- 学习Oracle和SQL哪一个更容易点
- ORACLE中同时读取同一字段问题?
- 【求助】请问pl/sql的SQL_windows中同时能执行多少条DML语句;
- 为什么安装了Oracle Jinitiator,没有控制面板
http://blog.csdn.net/inthirties/archive/2009/05/29/4221938.aspx
1. 重启数据库释放temp
2. 查看temp用户并kill掉
SELECT se.username, se.SID, se.serial#, se.sql_address, se.machine, se.program, su.TABLESPACE,su.segtype, su.CONTENTS FROM v$session se, v$sort_usage su
WHERE se.saddr = su.session_addrAlter system kill session 'sid,serial#';
3. 多增加几个temp文件,这样不同的事务可以在不同的temp上,性能上要高点..
按楼上的说法显然是不够用的…
1、 确定TEMP表空间的ts#
SQL>select ts#, name from sys.ts$ ;
TS# NAME
---------- ------------------------------
0 SYSTEM
1 UNDOTBS1
2 SYSAUX
3 TEMP
4 USERS
5 UNDOTBS2 2、 执行清理操作
SQL>alter session set events 'immediate trace name DROP_SEGMENTS level 4' ; 说明:
temp表空间的TS# 为 3, So TS#+ 1= 4
主要就是临时表方面,写程序的时候务必要注意一点。有的系统中如果大量利用on commit preserve rows类型的临时表,那么如果可能的话,尽量用过之后就trunacate掉,否则session存在的时候,依然会占用不少的空间。
上面两个方法都不行,才改TEMP表空间。
TEMP表空间是在你的SGA内存不够用的时候,Oracle会把数据放到TEMP表空间里的。
改TEMP表空间,只能是治标不治本。
你改成很大,对你的性能改善是不会起多少作用的。
show parameter pga_aggregate_target
show parameter workarea_size_policy3.2g的temp表空间使用率99%,说明有近2g数据都是磁盘排序,sql查询变得奇慢是自然的。找出占用temp表空间最多的sql,优化。如sql执行完,temp segment是可被重用的,使用率会下降。
上面方法都不能在优化,才考虑加大temp表空间,可drop an recreate或者maxsize unlimited.
recycle buffer,(它可以缓冲大表)
设置keep buffer,它可以避免经常被访问的小表被淘汰.查找你sql语句常用到的 大表,和小表.指定存储到keep buffer,或者recycle buffer里来.
语法如下
CREATE INDEX cust_idx …
STORAGE (BUFFER_POOL KEEP …);
ALTER TABLE oe.customers
STORAGE (BUFFER_POOL RECYCLE);
ALTER INDEX oe.cust_lname_ix
STORAGE (BUFFER_POOL KEEP);
怎么查看加到多少就能减小使用temp表的概率呢?(增加了cache hit)
可以使用 EM CONTROL 的一个pga 查看功能,
可以使用mem advisor来调整 PGA.