当前位置:  数据库>oracle

Oracle ORA-01652 错误解决

    来源: 互联网  发布时间:2017-05-29

    本文导语:   现象:ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段   一般情况下,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放,TEMP...

  现象:ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段

  一般情况下,在完成Select语句、create index等一些使用TEMP表空间的排序操作后,Oracle是会自动释放掉临时段a的。但有些有侯我们则会遇到临时段没有被释放,TEMP表空间几乎满的状况,甚至是我们重启了数据库仍没有解决问题。下面我总结一下,给出几种处理方法。

  方法一、重启库

  库重启时,Smon进程会完成临时段释放,TEMP表空间的清理操作,不过很多的时侯我们的库是不允许down的,所以这种方法缺少了一点的应用机会,不过这种方法还是很好用的。

  方法二、Metalink给出的一个方法

  修改一下TEMP表空间的storage参数,让Smon进程观注一下临时段,从而达到清理和TEMP表空间的目的。

  SQL>alter tablespace temp increase 1;

  SQL>alter tablespace temp increase 0;

  方法三、我常用的一个方法,具体内容如下:

  1、 使用如下语句a查看一下认谁在用临时段

  SELECT username,

  sid,

  serial#,

  sql_address,

  machine,

  program,

  tablespace,

  segtype,

  contents

  FROM v$session se,

  v$sort_usage su

  WHERE se.saddr=su.session_addr

  2、那些正在使用临时段的进程

  SQL>Alter system kill session 'sid,serial#';

  3、把TEMP表空间回缩一下

  SQL>Alter tablespace TEMP coalesce;

  方法四、使用诊断事件的一种方法,也是被我认为是“杀手锏”的一种方法

  1、 确定TEMP表空间的ts#

  SQL>select ts#, name from sys.ts$ ;

  TS# NAME

  -----------------------

  0 SYSYEM

  1 RBS

  2 USERS

  3* TEMP

  4 TOOLS

  5 INDX

  6 DRSYS

  2、 执行清理操作

  SQL>alter session set events 'immediate trace

  name DROP_SEGMENTS level 4' ;

  说明:

  temp表空间的TS# 为 3*, So TS#+ 1= 4

  其它:

  1、 出现如上问题的原因我认为可能是由于大的排序超出了TEMP表空间的空间允许范围引起的。也可能包含着其它的异常的因素。

  2、 观注TEMP等这些空间的状态是Dba日常职责之一,我们可以通过Toad、Object Browser等这些工具办到,也可以用如下的语句:

  SELECT UPPER(F.TABLESPACE_NAME) "表空间名",

  D.TOT_GROOTTE_MB "表空间大小(M)",

  D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",

  TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,

  2),

  '990.99') "使用比",

  F.TOTAL_BYTES "空闲空间(M)",

  F.MAX_BYTES "最大块(M)"

  FROM (SELECT TABLESPACE_NAME,

  ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,

  ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES

  FROM SYS.DBA_FREE_SPACE

  GROUP BY TABLESPACE_NAME) F,

  (SELECT DD.TABLESPACE_NAME,

  ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB

  FROM SYS.DBA_DATA_FILES DD

  GROUP BY DD.TABLESPACE_NAME) D

  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME

  ORDER BY 4 DESC;

相关阅读:

ORA-01172、ORA-01151错误处理

ORA-00600 [2662]错误解决

ORA-01078 和 LRM-00109 报错解决方法

ORA-00471 处理方法笔记

ORA-00314,redolog 损坏,或丢失处理方法

ORA-00257 归档日志过大导致无法存储的解决办法


    
 
 

您可能感兴趣的文章:

  • 安装Oracle加载数据库错误areasQueries的解决
  • 我在安装oracle的时候出现了这个错误,请懂行人赐教~~附图!~~
  • 记录Linux下一次oracle启动错误
  • shell如何获取oracle错误码 在线等
  • Linux系统下安装Oracle X11错误解决办法
  • 求助前辈们:solaris 10 x86 安装oracle 10g 错误
  • 有 ORACLE 错误码文档吗? 谢谢大家!
  • Eclipse连接Oracle数据库的ORA-00604 ORA-12705错误
  • ORACLE安装时/tmp/orainstRoot.sh 执行发生错误
  • 关于提高Oracle数据库性能的四个错误认识
  • C++使用OCCI连Oracle10g的错误
  • Linux上管理本机Oracle的时候出现找不到ServiceName的错误
  • Oracle的sqlcode对应的错误信息sqlerrm
  • 连接Oracle817数据库的错误提示
  • Oracle AS关键字 提示错误
  • rh9上装oracle817犯了个低级错误,如何挽回?
  • oracle错误迷惑
  • FC6下安装Oracle9i错误,请高手指教 在线等 解决即结贴
  • Oracle10201 RAC升级到10204后导出数据时报EXP-00056错误
  • 在tomcat下连接oracle8i的javabean出现如下错误,急!
  • 解决oracle用户连接失败的解决方法
  • Oracle Connect to Idle Instance解决方法
  • Linux下安装Tomcat后与Oracle冲突的解决
  • linux下安装oracle,出现没有权限的报警,怎么解决?
  • Oracle 11g 相关工具netca,dbca乱码之解决
  • Linux安装Oracle 11时报错DISPLAY解决方案
  • Linux下Oracle安装时遇到的问题及解决
  • 简单的Oracle小问题解决
  • oracle中文乱码解决的办法
  • 关于系统重装后Oracle数据库完全恢复的解决办法
  • 安装oracle9时,安装界面的字体无法正确显示,怎么解决啊???
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,