Oracle清除临时表空间
不知道为什么,在oracle9i中临时表空间一直在增长,不释放没用的空间,即使重启oracle也不行;
select * from global_name
update global_name set global_name ='cqya'
ALTER TABLE dsp_dm_claim ENABLE TABLE LOCK --解锁表
本文介绍一种清除临时表空间的方法,本人已经验证其可行性
1.设置db_create_file_dest参数(oracle OMF管理存储文件的路径)
alter system set db_create_file_dest='d:\oracle\oradata\yhl';(本人数据库数据文件存储路径);
2.创建一个新的临时表空间
create temporary tablespace temp2;
此时新的临时表空间已经创建,数据文件存在d:\oracle\oradata\yhl中,名称系统取的,表空间参数
是采用系统默认的参数;
3.设置默认的临时表空间
alter database default temporary tablespace temp2;
4.删除以前的默认临时表空间(就是数据量很大的那个临时表空间)
drop tablespace temp including contents and datafiles;
5.在创建一个新的临时表空,名称很上面删除的一样
create temporary tablespace temp;
6.设置默认表空间
alter database default temporary tablespace temp;
7删除开始新建的表空间
drop tablespace temp2;
因为是OMF方式创建的表空间,在删除时不用带including contents and datafiles 参数
create tablespace cqya logging datafile 'D:\oracle\product\10.2.0\oradata\cqya\cqya.dbf' size 5000M autoextend on next 1000M maxsize unlimited extent management local segment space management auto;
这样就搞定了数据默认临时表空间很大,空间得不到释放的问题
评论区