ORA-12801 ORA-01652 释放临时表空间

1、问题:
执行sql 报一下错误:
ORA-12801 ORA-01652
在这里插入图片描述可以查到临时表空间不足
在这里插入图片描述
2、处理:
释放temp临时表空间

--查看临时被哪些sql占用
SELECT se.username,
       se.sid,
       se.serial#,
       su.extents,
       su.blocks * to_number(rtrim(p.value)) AS Space,
       tablespace,
       segtype,
       sql_text
  FROM v$sort_usage su, v$parameter p, v$session se, v$sql s
 WHERE p.NAME = 'db_block_size'
   AND su.session_addr = se.saddr
   AND s.hash_value = su.sqlhash
   AND s.address = su.sqladdr
 ORDER BY se.username, se.sid;
--查看谁在使用临时表空间
SELECT se.username,
       sid,
       serial#,
       sql_address,
       machine,
       program,
       tablespace,
       segtype,
       contents
  FROM v$session se, v$sort_usage su
 WHERE se.saddr = su.session_addr
 order by 7, 1;
--然后查看用户的状态是active还是inactive,如果是inactive,直接kill即可
select * from v$session where sid=1042;  
alter system kill session1042,48682;

--查看临时表空间剩余
select tablespace_name,
       tablespace_size / 1024 / 1024,
       allocated_space / 1024 / 1024,
       free_space / 1024 / 1024
  from dba_temp_free_space;
  
--查看临时数据文件  
select * from dba_temp_files

--查找用户表空间和临时表空间 
select username,default_tablespace,temporary_tablespace from user_users;
--创建一个临时表空间
create temporary tablespace O_PRO_SB_TEMP1 tempfile '+DATA' size 20480M autoextend on; 
--修改用户默认表空间
alter user O_PRO_SB temporary tablespace O_PRO_SB_TEMP1;
--确定旧的临时表空间没有在被使用,直接删除即可
drop tablespace O_PRO_SB_TEMP including contents and datafiles;



--修改数据库默认临时表空间
alter database default temporary tablespace temp1;  

有问题感谢批评指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值