暂无图片
Oracle 临时表空间一直都是满的,查询后也没有运行的东西,但是下不去,其他的SQL有时候执行报错 ORA-01652
我来答
分享
暂无图片 匿名用户
Oracle 临时表空间一直都是满的,查询后也没有运行的东西,但是下不去,其他的SQL有时候执行报错 ORA-01652

临时表空间 一直都是满的情况,查询后也没有运行的东西,但是就是下不去,其他的SQL有时候执行就报错

ORA-01652: unable to extend temp segment by 128 in tablespace TEMP_NEW

复制

如何排查解决?

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
PiscesCanon

查询当前实例,当前占用temp空间会话:

PS:prev_sql_id,sql_id不一定就是消耗了temp的sql,因为有可能会话曾经执行过消耗了大量临时表空间的SQL,然后后续有执行了其他SQL,这个”其他SQL“就会出现在prev_sq_id(上条SQL),sql_id(当前SQL)。可以结合v$open_cursor来慢慢确定。

set line 300
col username for a25
col tablespace for a10
col sql_id for a13
col prev_sql_id for a13
col SEGTYPE for a10
col contents for a10
select s.sid,
s.serial#,
s.username,
s.sql_id,
s.prev_sql_id,
--u.sql_id,
u.tablespace,
u.contents,
u.segtype,
u.extents,
u.blocks,
round(((u.blocks * P.VALUE) / 1024 / 1024), 2) MB
from v$session s, v$sort_usage u, SYS.V_$SYSTEM_PARAMETER P
where s.saddr = u.session_addr
AND UPPER(P.NAME) = 'DB_BLOCK_SIZE'
order by MB DESC;


查询历史占用temp语句:

select instance_number,to_char(a.sample_time,'yyyy-mm-dd hh24:mi:ss') sample_time,sum(temp_space_allocated)/1024/1024 mb,sql_id
from dba_hist_active_sess_history a
where a.temp_space_allocated is not null and a.sample_time between to_date('2020-10-27 12:49:00','yyyy-mm-dd hh24:mi:ss') and to_date('2020-10-27 12:51:00','yyyy-mm-dd hh24:mi:ss')
group by instance_number,to_char(a.sample_time,'yyyy-mm-dd hh24:mi:ss'),sql_id
order by 1,2;


更详细的参考:https://www.cnblogs.com/PiscesCanon/p/13896643.html

暂无图片 评论
暂无图片 有用 4
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle RAC One Node和Oracle RAC这两个有什么区别嘛?
回答 1
OracleRACOneNode:是指单机数据库,使用GRID进行管理,数据存放在ASM磁盘中。OracleRAC:是指多台机器集群模式,高可用负载均衡,同样也是使用GRID进行管理,数据存放在ASM
下面有关tablespace和datafile之间的关系的描述,说法错误的是?( )
回答 6
已采纳
Adatafile是逻辑上的概念,tablespace则在物理上储存了数据库的种种文件 刚好相反
查询执行计划的最底层节点通常是扫描表中的数据,通常有哪些扫描方法?(多选)
回答 3
ABCD
oracle中drop表的时候,会把这个表自动生成的序列删除掉吗?
回答 3
已采纳
oracle中drop表的时候,会把这个表自动生成的序列删除掉吗?这个好像是会的
oswacher
回答 1
暂无文字回复
如果文件系统损坏了,Oracle数据库是如何正常运行的?是不是造成临时表空间无法扩展的原因?
回答 1
如果像你说的损坏了,那么只能说你现在数据都在内存中。你重启数据库可能起不来了。临时表空间无法扩展,也有可能,看具体报错了。是空间不足,还是文件达到了最大。还是无法识别等等。
Oracle10G的库能导进11G中吗?
回答 2
已采纳
exp可以的
rhel8安装生产环境的oracle,如何配置selinux?
回答 1
已采纳
建议还是直接disable掉selinux,如果oracle想用selinux,因为默认selinux中没有包含oracle的服务模块,因此你需要先创建oracleSELinux模块,然后使用sema
麒麟操作系统可以装oracle 11g rac吗?
回答 1
已采纳
可以
Oracle 用什么工具可以检测磁盘阵列?
回答 1
kfod
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~