• ORA-1652: unable to extend temp segment by xxx in tablespace


    转自:http://blog.csdn.net/evils798/article/details/7296519

    收集数据库信息时候报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

  • 相关阅读:
    Windows Server 2008 IIS安装FTP及端口配置
    Zabbix 3.4过滤多余的windows网卡监控
    Linux下统计当前文件夹下的文件个数、目录个数
    CentOS 7 使用 ACL 设置文件权限
    Linux服务器CPU使用率较低但负载较高
    Linux下通过 rm -f 删除大量文件时报错:Argument list too long
    nginx环境安装配置fail2ban屏蔽攻击ip
    CentOS 服务器添加简易"回收站"
    游戏行业DDoS攻击解决方案
    使用 fail2ban 防御 SSH 服务器的暴力破解攻击
  • 原文地址:https://www.cnblogs.com/summer520/p/3476163.html
Copyright © 2020-2023  润新知