替换默认临时表空间

有时候一不小心,忘记给temp空间设置上限,很容易把临时表空间撑爆,怎么样替换临时表空间呢?

如下脚本。

--替换默认临时表空间

select PROPERTY_NAME,PROPERTY_VALUE   from DATABASE_PROPERTIES  where PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';
 
查看下数据库默认的临时表空间是什么。
--创建中转临时表空间
CREATE TEMPORARY TABLESPACE TEMP_SWITCH TEMPFILE '/opt/oracle/oradata/EIN1/TEMP_SWITCH01.dbf' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 4096M ;
 
--切换默认表空间
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP_SWITCH;
 
--删除原来表空间
drop tablespace TEMP including contents and datafiles;
 
--重新创立原来的临时表空间
CREATE TEMPORARY TABLESPACE TEMP TEMPFILE '/opt/oracle/oradata/ein1/TEMP01.dbf' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 4096M ;
 
--切换回原来的默认表空间
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;
 
--删除中转临时表空间
drop tablespace TEMP_SWITCH including contents and datafiles;
 
--查看现在的情况
select PROPERTY_NAME,PROPERTY_VALUE   from DATABASE_PROPERTIES  where PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';
 
注意:有人可能会觉得为什么还要切换回去,因为数据库还有一个参数,是给每个用户配置一个临时表空间,如果更换了临时表空间,会有些麻烦,所以干脆别更换临时表空间的名字。

你可能感兴趣的:(tablespace,tablespace,temporary,临时表空间,temp)