如何解决oracle 中的合并查询抛出“ORA-01652:无法在表空间 TEMP 中将临时段扩展 64”
我们在 oracle 12c 中使用一次性合并查询,它获取大约“22633334”条数据记录并在目标表中更新它,但是每次查询运行时它都会抛出“ORA-01652:无法扩展临时segment by 64 in tablespace TEMP”问题,DBA 已经将其扩展到 60 GB。谁能告诉我如何解决这个问题,或者为这个数据量分配的理想临时空间是什么?
解决方法
Oracle 使用该空间来构建临时结果集并执行排序。所需的空间量取决于查询的精确解释(检查它,它应该会给你一些线索),但如果有连接,则可能是表中实际数据量的几倍。记录的数量根本不重要;它是关于记录的大小以及 Oracle 试图用它们做什么。您希望避免全表扫描、不必要的排序以及诸如此类的事情。确保您的表统计信息是最新的。最后,它需要它需要的东西,你所能做的就是增加你的 TEMP 表空间大小,直到它工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。