问题描述
前面的试验的过程中遇到了,看这个提示首先怀疑是临时表空间不足但也有可能是目标表空间不足。
专家解答
ORA-01652: unable to extend temp segment by 128 in tablespace ANBOB system@ORCL> create tablespace anbob datafile ‘/u01/app/oracle/oradata/ORCL/datafile/anbob.dbf’ size 5m; Tablespace created. anbob@ORCL> create table testspace as select * from all_objects; Table created. anbob@ORCL> select segment_name,tablespace_name from user_segments where segment_name=’TESTSPACE’; SEGMENT_NAME TABLESPACE_NAME ——————– ——————– TESTSPACE TT anbob@ORCL> select count(*) from testspace; COUNT(*) ———- 40770 anbob@ORCL> insert into testspace select * from testspace; 40770 rows created. anbob@ORCL> / 81540 rows created. anbob@ORCL> / 163080 rows created. anbob@ORCL> select count(*) from testspace; COUNT(*) ———- 326160 anbob@ORCL> alter table testspace move tablespace anbob; alter table testspace move tablespace anbob * ERROR at line 1: ORA-01652: unable to extend temp segment by 128 in tablespace ANBOB system@ORCL>exec dbam_stats.gather_table_states(‘ANBOB’,’TESTSPACE’); system@ORCL> select file_name,tablespace_name,bytes/1024/1024 mb from dba_data_files where tablespace_name=’ANBOB’; FILE_NAME TABLESPACE_NAME MB ———————————————————— ——————– ———- /u01/app/oracle/oradata/ORCL/datafile/anbob.dbf ANBOB 5 system@ORCL> select owner,segment_name,bytes/1024/1024 from dba_segments where segment_name=’TESTSPACE’; OWNER SEGMENT_NAME BYTES/1024/1024 —————————— ——————– ————— ANBOB TESTSPACE 37 sys@ORCL> select file#,bytes/1024/1024 from v$tempfile; FILE# BYTES/1024/1024 ———- ————— 1 100 sys@ORCL> select * from V$TEMPSEG_USAGE; no rows selected
临时表空间有100M,但没有使用,可以断定ORA-01652 不是临时表空间不足而是move 时目标 表空间不足
sys@ORCL> alter database datafile ‘/u01/app/oracle/oradata/ORCL/datafile/anbob.dbf’ resize 40m;
Database altered.
sys@ORCL> conn anbob/anbob
anbob@ORCL> alter table testspace move tablespace anbob;
Table altered.
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。