我们如何才能有效地使用Oracle临时空间?

时间:2018-07-12 07:31:20

标签: oracle

我们面临Oracle临时空间的一些问题。在将数据插入表中时,它会迅速填充并失败,无法扩展临时段错误。

有什么方法可以克服这种情况而无需添加额外的临时文件?

enter image description here

2 个答案:

答案 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)