视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
ORA-01652:无法通过128(在表空间space中)扩展temp段
2020-11-09 10:50:03 责编:小采
文档


ORA-01652:无法通过128(在表空间space中)扩展temp段

当“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
---------- ---
TEMP
/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 4436 09-DEC-08 3 1 ONLINE
READ WRITE 68157440 8320 20971520 8192
/opt/oracle/oradata/TEST/temp01.dbf

扩展临时表空间:

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

  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'

SQL> alter database tempfile '/opt/oracle/oradata/TEST/temp01.dbf' autoextend on next 5m maxsize unlimited;
alter database tempfile '/opt/oracle/oradata/TEST/temp01.dbf' autoextend on next 5m maxsize unlimited
*
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'

原因是临时表空间不知道什么原因offline了,修改为online后修改成功。
SQL> alter database tempfile '/opt/oracle/oradata/TEST/temp01.dbf' online;
Database altered.

下载本文
显示全文
专题