天天看点

表空间、临时-[置顶] ora-01652:无法通过128(在表空间space中)扩展temp段-by小雨

当“space=用户表空间 ”时报错处理:/span

最近研究表空间、临时-,稍微总结一下,以后继续补充:

    当“space=用户表空间 ”时报错处置:

    --查看表空间的小大;

    SQL> SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024 MB FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME;

    --查看表空间中据数文件放存的路径:

    SQL> SELECT TABLESPACE_NAME, BYTES/1024/1024 FILE_SIZE_MB, FILE_NAME FROM DBA_DATA_FILES;

    --错误处置:附加表空间

    --alter tablespace TESTSPACE add datafile 'D:\MYSPACE01.DBF' size 20480m

    当“space=temp ”时报错处置:

    临时表空间相干知识点总结(转载)

    临时表空间的作用:

    临时表空间主要用途是在据数库行进排序运算[如建创索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze令命]、理管索引[如建创索引、IMP行进据数导入]、拜访图视等作操时供提临时的运算空间,当运算成完以后系统会主动清算。

    当临时表空间缺乏时,表现为运算速度常异的慢,并且临时表空间速迅增长到最大空间(扩展的极限),并且一般不会主动清算了。

    如果临时表空间没有置设为主动扩展,则临时表空间不敷时事务行执将会报ora-01652没法扩展临时段的错误,当然解决方法也很简单:1、置设临时据数文件主动扩展,或者2、增大临时表空间。

    临时表空间的相干作操:

    询查默许临时表空间:

    SQL> select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';

    PROPERTY_NAME

    ------------------------------

    PROPERTY_VALUE

    --------------------------------------------------------------------------------

    DESCRIPTION

    DEFAULT_TEMP_TABLESPACE

    TEMP

    Name of default temporary tablespace

    询查临时表空间态状:

    SQL> select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;

    TABLESPACE_NAME

    FILE_NAME

 FILE_SIZE AUT

    ---------- ---

    /opt/oracle/oradata/TEST/temp01.dbf

        65 YES

    询查临时表空间动态图视:

    SQL> select * from v$tempfile;

     FILE# CREATION_CHANGE# CREATION_TIM        TS#     RFILE# STATUS

    ---------- ---------------- ------------ ---------- ---------- -------

    ENABLED         BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE

    ---------- ---------- ---------- ------------ ----------

    NAME

         1           446436 09-DEC-08             3          1 ONLINE

    READ WRITE   68157440       8320     20971520       8192

    扩展临时表空间:

    方法一、增大临时文件小大:

    SQL> alter database tempfile '/opt/oracle/oradata/TEST/temp01.dbf'  resize 100m;

    Database altered.

    方法二、将临时据数文件设为主动扩展:

    SQL>  alter database tempfile '/opt/oracle/oradata/TEST/temp01.dbf' autoextend on next 5m maxsize unlimited;

    扩展表空间时报错:

    SQL> alter database tempfile  '/opt/oracle/oradata/TEST/temp01.dbf' resize 100m;

    alter database tempfile  '/opt/oracle/oradata/TEST/temp01.dbf' resize 100m

    *

    ERROR at line 1:

    ORA-00376: file 201 cannot be read at this time

    ORA-01110: data file 201: '/opt/oracle/oradata/TEST/temp01.dbf'

 alter database tempfile '/opt/oracle/oradata/TEST/temp01.dbf' autoextend on next 5m maxsize unlimited

    原因是临时表空间不知道什么原因offline了,修为改online后修改功成。