0

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

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

选择 * 从 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

请在这个问题上帮助我。

4

1 回答 1

6

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

但是,您最好调查一下为什么您的查询使用了如此多的临时空间并查看是否可以减少它;可能存在一个根本性错误(例如意外的交叉连接),这意味着它使用的温度远远超过应有的温度,并且可能使其运行时间超过应有的时间。查看解释计划以获取有关问题所在的线索。增加TEMP可能是必要的,但不应在看到此错误后立即自动完成。

如果您有一个查询需要比正常多得多的临时表,那么另一个选择可能是添加一个新的临时表空间,在操作期间将其分配给用户alter user,完成后恢复,并且然后删除新的表空间。然后额外的磁盘只占用很短的时间。对于您的情况可能不实用或不明智,但以防万一。


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

于 2013-01-29T08:54:58.680 回答