我们面临Oracle临时空间的一些问题。在将数据插入表中时,它会迅速填充并失败,无法扩展临时段错误。
有什么方法可以克服这种情况而无需添加额外的临时文件?
答案 0 :(得分:0)
要获取表空间中的总分配空间,已用空间和可用空间,可以使用以下查询:
-- Available space, by tablespace
SELECT * FROM
(SELECT tablespace_name FROM dba_tablespaces)
LEFT OUTER JOIN
(SELECT tablespace_name, SUM(bytes) AS total_bytes
FROM dba_data_files
GROUP BY tablespace_name)
USING (tablespace_name)
LEFT OUTER JOIN
(SELECT tablespace_name, sum(bytes) AS used_bytes
from dba_segments
GROUP BY tablespace_name)
USING (tablespace_name)
LEFT OUTER JOIN
(SELECT tablespace_name, SUM(bytes) AS free_bytes
FROM dba_free_space
GROUP BY tablespace_name)
USING (tablespace_name);
确实没有一种方法可以“控制”您对临时空间的使用。数据库将完成它需要做的事情。但是一次插入350万行是很多数据。我建议您调整人口程序以间歇性实施。
好运。
答案 1 :(得分:0)