Oracle调整临时表空间大小
- 一、方法一:直接修改表空间文件大小
- 二、方法二:重建临时表空间
- 2.1、查看当前的临时表空间大小及使用情况
- 2.2、查看当前的临时表空间使用率
- 2.3、确认需要增大临时表空间的大小,创建一个新的临时表空间
- 2.4、设置数据库的默认临时表空间为新创建的临时表空间
- 2.5、释放旧的临时表空间
一、方法一:直接修改表空间文件大小
alter database tempfile 'D:\app\twx1014920\oradata\tzq\TEMP01.DBF' resize 1024M;
二、方法二:重建临时表空间
2.1、查看当前的临时表空间大小及使用情况
SELECT tablespace_name,file_name,bytes / 1024 / 1024 size_mb,used_space / 1024 / 1024 used_mb,free_space / 1024 / 1024 free_mb,round((used_space / bytes) * 100,2) "% USED",round((free_space / bytes) * 100,2) "% FREE"FROM (SELECT t1.tablespace_name,t1.file_name,t1.bytes,nvl(t2.used_space,0) used_space,t1.bytes - nvl(t2.used_space,0) free_spaceFROM (SELECT tablespace_name,file_name,SUM(bytes) bytes,file_idFROM dba_temp_filesGROUP BY tablespace_name,file_name,file_id) t1,(SELECT tablespace_name,file_id,SUM(bytes) used_spaceFROM v$temp_extent_mapGROUP BY tablespace_name,file_id) t2WHERE t1.tablespace_name = t2.tablespace_name(+)AND t1.file_id = t2.file_id(+))ORDER BY tablespace_name,file_name;
2.2、查看当前的临时表空间使用率
SELECT *FROM (SELECT round((SUM(bytes_used) * 100 / SUM(bytes_used+bytes_free)) * 100) / 100 "% USED"FROM v$temp_space_header);
2.3、确认需要增大临时表空间的大小,创建一个新的临时表空间
CREATE TEMPORARY TABLESPACE new_temp_ts TEMPFILE '/u02/app/oracle/oradata/db/temp02.dbf' SIZE 2048M;
注:请将路径和文件名替换为实际的路径和文件名。
2.4、设置数据库的默认临时表空间为新创建的临时表空间
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE new_temp_ts;
2.5、释放旧的临时表空间
DROP TABLESPACE old_temp_ts INCLUDING CONTENTS AND DATAFILES;
注:请将旧的临时表空间替换为实际的临时表空间名称。