设为首页 加入收藏 联系我们
+  最新公告
+ 更多  
导航分类  
数据正在添加中!

厂商认证
·微软MCP考试信息
·致已购买非正常渠道思科折扣号的
·关于对微软考生身份证件的政策
·7月1日起微软将不再免费寄发纸
·ITIL 考后证书需重新申请
·重庆协创思科授权培训中心(重庆
·证书丢了怎么办
文章集萃
 
重庆IT培训教您Oracle性能优化怎么做
  发布者: 发布时间:2012/10/30 14:41:08 阅读:1218次 【字体:
  当排序操作、重建索引等大型操作无法在内存中完成时,临时表空间将为排序提供便利。一般情况下临时表空间为多个用户,多个会话所共享。不能为会话分批空间配额。
  1、关注alert_.log文件中的ORA-1652错误并调查什么原因导致该错误。有些时候并不是由于当前的SQL导致临时表空间不能扩展,很可能由于前一个SQL耗用了99%的临时表空间,而后一个SQL执行时即出现错误。对于此类情况应调查前一SQL并调整避免过多的磁盘排序。
  2、如果基于空间压力应该关闭临时表空间的自动扩展。因此为临时表空间设定合理的大小就成了一个问题。个人的解决方案是首先检查ORA-1652,其次是观察业务高峰期的峰值。如前面查询中的字段MaxSize(:MaximumnumberofMBeverused)的值来预估。如果大师们有更好的建议不妨拍砖。
  3、通过重启数据库,临时表空间所耗用的大小有时候并不能缩小。
  4、在Oracle11g之前一般是通过创建中转临时表空间来达到缩小的目的。不是很完美,因为有些时候临时段未释放导致不能删除临时表空间及数据文件。在11g可以直接使用下面的命令来完成:
  altertablespacetempshrinkspace;
  altertablespacetempshrinktempfile’
  ’keepn;
  5、系统缺省的临时表空间不能被删除,因此如果系统缺省的临时表空间过大删除前应该新置一个系统缺省的临时表空间。
  6、删除过大临时表空间前其上的用户应该先将其设定到中转临时表空间,重建后再将其置回原状态。
  7、减少磁盘排序的首要任务调整SQL,如避免笛卡尔积,为表添加合理的索引等。其次要考虑PGA的值是否设定合理。