楼主: szbestway

一块来分析temp表空间不能被释放的问题!

[复制链接]
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
11#
 楼主| 发表于 2001-11-23 14:18 | 只看该作者
并发用户有几百是再高峰期,同时在线一般都有2000-3000 多人,用户浏览页面的造成的并发应该有100人左右,我问过了oracle 公司,强烈建议用65k-256k对并发数太大的,65k可以。
我查询:
SQL> select count(*) from sys.v_$sort_usage;
return        0

我们就一台数据库服务器!

使用道具 举报

回复
论坛徽章:
126
咸鸭蛋
日期:2011-08-22 23:47:37优秀写手
日期:2013-12-18 09:29:152014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:14马上加薪
日期:2014-02-19 11:55:142015年新春福章
日期:2015-03-04 14:19:11
12#
发表于 2001-11-23 14:22 | 只看该作者
Web base application 不需要MTS 吧。
我觉得应该查 application coding. database setup adjustment 帮不了多大的忙的。

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
13#
 楼主| 发表于 2001-11-23 14:24 | 只看该作者
这是昨天temp表空间已经剩余100M左右,并且不变化是做的查询!

select * from sys.v_$sort_segment;
---
ABLESPACE_NAME                 SEGMENT_FILE SEGMENT_BLOCK EXTENT_SIZE
------------------------------ ------------ ------------- -----------
URRENT_USERS TOTAL_EXTENTS TOTAL_BLOCKS USED_EXTENTS USED_BLOCKS FREE_EXTENTS
------------ ------------- ------------ ------------ ----------- ------------
REE_BLOCKS ADDED_EXTENTS EXTENT_HITS FREED_EXTENTS FREE_REQUESTS   MAX_SIZE
---------- ------------- ----------- ------------- ------------- ----------
AX_BLOCKS MAX_USED_SIZE MAX_USED_BLOCKS MAX_SORT_SIZE MAX_SORT_BLOCKS
--------- ------------- --------------- ------------- ---------------
ELATIVE_FNO

TEMP                                       8        244977        1024
          374           448       459140          374      383308           74
      75832           448         976             0             0        448
    459140           448          459140             1            1029
           8

使用道具 举报

回复
论坛徽章:
19
2011新春纪念徽章
日期:2011-01-25 15:41:01马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18
14#
发表于 2001-11-23 14:30 | 只看该作者

两条命令..

alter tablespace temp temporary;
alter tablespace temp default storage(next 4M);

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
15#
发表于 2001-11-23 14:32 | 只看该作者
每次排序结束后,临时段即使空间没有释放,也可供其他排序使用,因此没有释放也没有关系,难道你的空间非常紧张?否则数据库应用的变化,temp,rbs表空间增长比较大是正常的,你不一定非要让它很小,有的temp表空间甚至增长超过10G也是正常的,另外你也确实要考察一下耗费临时段的SQL语句有没有问题。

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
16#
 楼主| 发表于 2001-11-23 14:42 | 只看该作者

暂时不要考虑应用程序的问题!

对于这一点,由于此系统是在原有的应用系统的升级!
主要是由ASP ->JSP ,并增加几个新的应用模块,但新的模块使用的人数较少,并由数据库的脚本重新创建!

而原有的还没有此类的问题出现!

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
17#
 楼主| 发表于 2001-11-23 14:55 | 只看该作者
我们空间没有问题,但不能无限制的开放,昨天我增加了1G的TEMP表空间,很快就满了!
如果我继续增加,还会将空间充满的!
因为老的ASP就不需要这么多的TEMP空间! 大于3-4 G就够了!


此外,我们由大约1000个存储过程,如和去找考察一下耗费临时段的SQL语句有没有问题??

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
18#
发表于 2001-11-23 15:15 | 只看该作者
select * from sys.v_$sort_segment;
---
ABLESPACE_NAME SEGMENT_FILE SEGMENT_BLOCK EXTENT_SIZE
------------------------------ ------------ ------------- -----------
URRENT_USERS TOTAL_EXTENTS TOTAL_BLOCKS USED_EXTENTS USED_BLOCKS FREE_EXTENTS
------------ ------------- ------------ ------------ ----------- ------------
REE_BLOCKS ADDED_EXTENTS EXTENT_HITS FREED_EXTENTS FREE_REQUESTS MAX_SIZE
---------- ------------- ----------- ------------- ------------- ----------
AX_BLOCKS MAX_USED_SIZE MAX_USED_BLOCKS MAX_SORT_SIZE MAX_SORT_BLOCKS
--------- ------------- --------------- ------------- ---------------
ELATIVE_FNO

TEMP 8 244977 1024
374 448 459140 374 383308 74
75832 448 976 0 0 448
459140 448 459140 1 1029
8

我详细看了你的输出,你的db_block_size是多少?现在先假设你的db_Block_size=8k
你要注意到临时段使用的一个特点,多个排序不能共享一个extent,但可以共享一个排序段,
因此可以考虑稍微减小extent大小,提高空间利用率,
从你的查询中可以看到高峰期有373个使用排序段的并发用户,最大排序块1029说明最大的排序
也不是很大,特点就是小而多,因此你不想增大temp表空间的前提下,应该提高利用率,
推荐
1.sort_area_size调大到256k,假如你内存足够,256K*400用户也不过100MB内存,更大的sort_area_size意味着更多的排序再内存中进行。
2. extent大小可以改为256k*4+1db_block_size=1032k,因为要放下header block
3.表空间改为我推荐的local managerment and temp file
4.调整后在高峰期用我给你提供的语句查询,再补充查询
SELECT * FROM V$SYSSTAT
WHERE NAME LIKE '%sort%';

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
19#
 楼主| 发表于 2001-11-23 15:40 | 只看该作者
很感谢白鹭!

我们现在的db_block_size=4k,数据库的内存由2G
我可以将sort_area_size调大到256k
和使用local managerment

但我现在不太清楚extent的修改是在那个参数!
而且现在对数据库的修改,必需由客户来做! 可能需要时间来观测!

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
20#
发表于 2001-11-23 15:44 | 只看该作者
就是你重建表空间时
...
extent management local
uniform size 1028k;

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表