ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-25153: Temporary Tablespace is Empty 解决方法

ORA-25153: Temporary Tablespace is Empty 解决方法

Linux操作系统 作者:牛肉面之歌 时间:2014-08-19 23:26:45 0 删除 编辑

2008年的春节马上就要到来,深圳的冬天,日光依旧,一颗漂浮的心,在美丽浪漫的 烟雨 里,终于开始安静下来。前途是光明的,爱情是甜蜜的,秋香的出现,让每一天都充满激情,乐趣,突然发现,世界是多么的美好,这是一个美丽的 冬天。

下面,是我做的Oracle 10G 里面控制文件恢复后,临时表空间为空的处理方法,这是Oracle 10G 的一个bug,在11G里面已经没有这个问题。

问题: ORA-25153: Temporary Tablespace is Empty

我们先查看表空间

SQL> select tablespace_name,status from dba_tablespaces;

TABLESPACE_NAME                STATUS
------------------------------ ---------
SYSTEM                         ONLINE
UNDOTBS1                       ONLINE
SYSAUX                         ONLINE
TEMP                           ONLINE
USERS                          ONLINE
RECOVERY_TBS                   ONLINE
都temp online 在线。

 SQL> select tablespace_name,file_name from dba_temp_files;

no rows selected

就会发现,dba_temp_files 原来如此。

SQL> alter tablespace temp add tempfile '/oradata/elife02/temp01.dbf' SQL>  select FILE_NAME,TABLESPACE_NAME,STATUS from dba_temp_files;

FILE_NAME TABLESPACE_NAME STATUS

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

/oradata/elife02/temp01.dbf TEMP AVAILABLE

还可以指定默认的临时表空间

SQL>alter database  default temporary tablespace temp;

下面,我们来了解一下临时表的用途:

disk sort:

自己的理解是排序始终是在内存里完成的,如果要排序的数据量很大,在内存里不能完成,oracle会分阶段来排序,每次先排一部分,并且把排好序的数据临时存放在用户default temporary tablespace中的temp segment上,而临时表空间对应的tempfile属于disk文件,这就是disk sort的由来。

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29424472/viewspace-1254291/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-04

  • 博文量
    76
  • 访问量
    115105