删除临时表数据文件

时间:2022-07-20 00:33:23

一.将临时表数据文件离线

alter database tempfile 'C:\ORACLE\ORADATA\TEST\TEMP02.dbf' offline;

二.找出正在使用该临时文件的session

   select  'alter system kill session '||''''||a.sid||','||a.serial#||''';'    
   from v$session a, v$sort_usage b, v$process c, v$parameter d
   where b.segfile# = &seg_temp_file_id -- 临时表数据文件ID
     and d.name = 'db_block_size'
     and a.saddr = b.session_addr
     and a.paddr = c.addr
     order by b.tablespace, b.segfile#, b.segblk#, b.blocks

三.杀掉这些进程

四.删除临时表数据文件
  ALTER DATABASE TEMPFILE 'C:\ORACLE\ORADATA\TEST\TEMP02.dbDROP INCLUDING DATAFILES;