我在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
请帮我解决这个问题。
答案 0 :(得分:6)
临时表空间的管理方式与普通数据表空间不同。您可以通过查询dba_temp_files
来查看操作系统文件。有关如何增加临时表空间文件的大小或添加新文件的信息,请参阅the documentation。
但是,您可能最好调查一下为什么您的查询使用了这么多临时空间并看看您是否可以减少它;可能存在一个根本性的错误(如偶然的交叉连接),这意味着它使用的温度远高于应有的温度,并且可能使其运行时间超过应有的时间。看一下解释计划,找出出错的线索。可能需要增加TEMP
,但一旦看到此错误,就不应自动完成。
另一个选项是,如果你有一个需要比正常温度更高的单个查询 - 并且它是一次性的 - 可能是在操作期间通过{{1}添加一个新的临时表空间assign that to the user完成后还原,然后删除新的表空间。然后额外的磁盘只被绑定很短的时间。对你的情况可能不实际或不合理,但提到以防万一。
我应该说真正的临时临时表空间 - 用create temporary tablespace
定义 - 是这样管理的,alter user
中有条目。在8i之前,它们具有正常的数据文件,并且仍然可以在已升级的数据库中具有该配置,而不是以新格式重新创建临时表空间。很明显,情况并非如此,因为你的问题没有出现在dba_temp_files
。