无法在表空间TEMP数据库驱动程序错误中将临时段扩展128

时间:2013-01-29 08:16:52

标签: oracle

我在oracle上执行了一些繁重的查询。但是会出现一个错误(无法在表空间TEMP数据库驱动程序错误中将临时段扩展128)

我检查了表空间但找不到TEMP表空间。下面是我执行的查询。我已经增加了USER表空间。但仍面临同样的问题。

SELECT * FROM DBA_DATA_FILES;

/home/oracle/oracle/oradata/ORCL/users01.dbf    4   USERS   32212254720 3932160 AVAILABLE   4   YES 34359721984 4194302 160 32211206144 3932032 ONLINE
/home/oracle/oracle/oradata/ORCL/undotbs01.dbf  3   UNDOTBS1    21474836480 2621440 AVAILABLE   3   YES 34359721984 4194302 640 21473787904 2621312 ONLINE
/home/oracle/oracle/oradata/ORCL/sysaux01.dbf   2   SYSAUX  1377828864  168192  AVAILABLE   2   YES 34359721984 4194302 1280    1376780288  168064  ONLINE
/home/oracle/oracle/oradata/ORCL/system01.dbf   1   SYSTEM  1073741824  131072  AVAILABLE   1   YES 34359721984 4194302 1280    1072693248  130944  SYSTEM
/home/oracle/oracle/oradata/ORCL/CSA_BILL_ITEM01.dbf    5   CSA_BILL_ITEM   32212254720 3932160 AVAILABLE   5   YES 32212254720 3932160 12800   32211206144 3932032 ONLINE
/home/oracle/oracle/oradata/ORCL/CSA_BILL_ITEM_INDEX01.dbf  6   CSA_BILL_ITEM_INDEX 2147483648  262144  AVAILABLE   6   YES 2147483648  262144  3200    2146435072  262016  ONLINE
/home/oracle/oracle/oradata/ORCL/CSA_BILL01.dbf 7   CSA_BILL    2147483648  262144  AVAILABLE   7   YES 2147483648  262144  12800   2146435072  262016  ONLINE
/home/oracle/oracle/oradata/ORCL/CSA_BILL_INDEX01.dbf   8   CSA_BILL_INDEX  536870912   65536   AVAILABLE   8   YES 1073741824  131072  3200    535822336   65408   ONLINE
/home/oracle/oracle/oradata/ORCL/META_DATA01.dbf    9   META_DATA   536870912   65536   AVAILABLE   9   YES 1073741824  131072  3200    535822336   65408   ONLINE
/home/oracle/oracle/oradata/ORCL/META_INDEX01.dbf   10  META_INDEX  268435456   32768   AVAILABLE   10  YES 536870912   65536   640 267386880   32640   ONLINE
/home/oracle/oracle/oradata/ORCL/POWERCENTER01.dbf  11  POWERCENTER 2147483648  262144  AVAILABLE   11  YES 2147483648  262144  4096    2146435072  262016  ONLINE
/home/oracle/oracle/oradata/ORCL/CSA_QOTA01.dbf 12  CSA_QOTA_TBSPACE    536870912   65536   AVAILABLE   12  YES 536870912   65536   4096    535822336   65408   ONLINE
/home/oracle/oracle/oradata/ORCL/CSA_QOTA02.dbf 13  CSA_QOTA_TBSPACE    1610612736  196608  AVAILABLE   13  NO  0   0   0   1609564160  196480  ONLINE
/home/oracle/oracle/oradata/ORCL/CSA_QOTA03.dbf 14  CSA_QOTA_TBSPACE    1073741824  131072  AVAILABLE   14  NO  0   0   0   1072693248  130944  ONLINE

请帮我解决这个问题。

1 个答案:

答案 0 :(得分:6)

临时表空间的管理方式与普通数据表空间不同。您可以通过查询dba_temp_files来查看操作系统文件。有关如何增加临时表空间文件的大小或添加新文件的信息,请参阅the documentation

但是,您可能最好调查一下为什么您的查询使用了这么多临时空间并看看您是否可以减少它;可能存在一个根本性的错误(如偶然的交叉连接),这意味着它使用的温度远高于应有的温度,并且可能使其运行时间超过应有的时间。看一下解释计划,找出出错的线索。可能需要增加TEMP,但一旦看到此错误,就不应自动完成。

另一个选项是,如果你有一个需要比正常温度更高的单个查询 - 并且它是一次性的 - 可能是在操作期间通过{{1}添加一个新的临时表空间assign that to the user完成后还原,然后删除新的表空间。然后额外的磁盘只被绑定很短的时间。对你的情况可能不实际或不合理,但提到以防万一。


我应该说真正的临时临时表空间 - 用create temporary tablespace定义 - 是这样管理的,alter user中有条目。在8i之前,它们具有正常的数据文件,并且仍然可以在已升级的数据库中具有该配置,而不是以新格式重新创建临时表空间。很明显,情况并非如此,因为你的问题没有出现在dba_temp_files