临时表空间增加数据文件
第一步:查看当前TEMP临时表空间大小和数据文件路径
SELECT tablespace_name, file_name, bytes/1024/1024 "Size_MB"
FROM dba_temp_files
第二步:给临时表空间新增数据文件
语法:
ALTER TABLESPACE TEMP
ADD TEMPFILE '数据文件路径及名称'
SIZE 1G
AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED
其中数据文件的路径是第一步查询结果中对应的 FILE_NAME,
路径前面不变,路径后的文件名重新起一个名字
比如上一个语句FILE_NAME查询结果是 '+DATA/TEMP/TEMP01.DBF'
我们新加的数据文件便可以是 '+DATA/TEMP/TEMP02.DBF'
要执行的语句便是
ALTER TABLESPACE TEMP
ADD TEMPFILE '+DATA/TEMP/TEMP02.DBF'
SIZE 1G
AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED
本语句的含义是给TEMP临时表空间新加一个数据文件,初始大小1GB,
启用自动扩展,每次扩容1GB,最大可以扩容到32GB,
启用自动扩展后TEMP临时表空间可以根据实际需要从初始大小一直自动扩展到32GB
查看会话使用临时表空间的情况
SELECT s.sid, s.serial#, s.username, t.tablespace, t.blocks * 8 / 1024/1024 AS used_gb
FROM v$session s
JOIN v$sort_usage t ON s.saddr = t.session_addr
WHERE t.tablespace = 'TEMP'
ORDER BY used_gb DESC
查看 Oracle 临时表空间剩余空间
SELECT
file_name,
autoextensible,
maxbytes / 1024 / 1024/1024 AS max_size_Gb,
bytes / 1024 / 1024/1024 AS current_size_Gb
FROM
dba_temp_files