首页 > 代码库 > ORA-01652: unable to extend temp segment by 128 in tablespace TEMP01
ORA-01652: unable to extend temp segment by 128 in tablespace TEMP01
收集数据库信息时候报ORA-01652错 如下 SQL> EXEC DBMS_STATS.gather_database_stats; BEGIN DBMS_STATS.gather_database_stats; END; * ERROR at line 1: ORA-01652: unable to extend temp segment by 128 in tablespace TEMP01 ORA-06512: at "SYS.DBMS_STATS", line 13210 ORA-06512: at "SYS.DBMS_STATS", line 13556 ORA-06512: at "SYS.DBMS_STATS", line 13700 ORA-06512: at "SYS.DBMS_STATS", line 13664 ORA-06512: at line 1 原因是我的temp01表空间过小,而且没有自动扩展,因此无法完成数据库信息收集 SQL>select file_name,bytes/1024/1024 "MB",autoextensible,tablespace_name from dba_temp_files FILE_NAME MB AUT TABLESPACE_NAME -------------------------------------------------------- ----- ----- ------------------ /u01/app/oracle/product/10.2.0/db_1/dbs/temp01.dbf 512 NO TEMP01 需要对表空间进行重建,新建一个数据库的临时表空间temp02 SQL> create temporary tablespace TEMP02 TEMPFILE ‘/u01/app/oracle/product/10.2.0/db_1/dbs/temp02.dbf‘ SIZE 512M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED; Tablespace created. 更改数据库的默认临时表空间为temp02 SQL> alter database default temporary tablespace temp02; Database altered. ***原来的默认临时表空间TEMP01 SQL> drop tablespace temp01 including contents and datafiles; Tablespace dropped. 创建新的临时表空间TEMP01 SQL> create temporary tablespace TEMP01 TEMPFILE ‘/u01/app/oracle/product/10.2.0/db_1/dbs/temp01.dbf‘ SIZE 512M REUSE AUTOEXTEND ON NEXT 640K MAXSIZE UNLIMITED; Tablespace created. 更改数据库的默认临时表空间为TEMP01 SQL> alter database default temporary tablespace temp01; Database altered. ***临时表空间TEMP02 SQL> drop tablespace temp02 including contents and datafiles; Tablespace dropped. 查询新建的临时表空间TEMP01信息,自动扩展已经为“YES” SQL>select file_name,bytes/1024/1024 "MB",autoextensible,tablespace_name from dba_temp_files FILE_NAME MB AUT TABLESPACE_NAME -------------------------------------------------------- ----- ----- ------------------ /u01/app/oracle/product/10.2.0/db_1/dbs/temp01.dbf 512 YES TEMP01 此时再收集数据库信息,收集完毕 SQL> EXEC DBMS_STATS.gather_database_stats; PL/SQL procedure successfully completed. 临时表空间常用操作 更改临时表空间大小 SQL>alter database tempfile ‘/u01/app/oracle/product/10.2.0/db_1/dbs/temp01.dbf‘ RESIZE 1000m; 查看临时表空间大小 SQL>select file_name,bytes/1024/1024 "MB",autoextensible,tablespace_name from dba_temp_files
本文出自 “O Record” 博客,请务必保留此出处http://evils798.blog.51cto.com/8983296/1420942
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。