在一测试环境做测试的时候发生以下错误:

SQL> exec dbms_stats.gather_table_stats(ownname=>'SYS',tabname=>'TT',method_opt=>'for columns size 1 id',cascade=>true);
BEGIN dbms_stats.gather_table_stats(ownname=>'SYS',tabname=>'TT',method_opt=>'for columns size 1 id',cascade=>true); END; *
ERROR at line 1:
ORA-25153: Temporary Tablespace is Empty
ORA-06512: at "SYS.DBMS_STATS", line 24281
ORA-06512: at "SYS.DBMS_STATS", line 24332
ORA-06512: at line 1 SQL>

查看临时表空间:temp表空间是处于online状态

SQL> select tablespace_name,status from dba_tablespaces;

TABLESPACE_NAME                STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
EXAMPLE ONLINE
TEST ONLINE 7 rows selected. SQL>

但是没有发现临时文件:

SQL> select name from v$tempfile;    --发现临时文件丢失
no rows selected

查看物理文件:文理文件仍然存在

$ ll
total 2678324
-rw-r----- 1 ora11 oinstall 10076160 Oct 25 14:39 control01.ctl
-rw-r----- 1 ora11 oinstall 10076160 Oct 25 14:39 control02.ctl
-rw-r----- 1 ora11 oinstall 363077632 Oct 25 14:33 example01.dbf
-rw-r----- 1 ora11 oinstall 52429312 Oct 25 14:33 redo01.log
-rw-r----- 1 ora11 oinstall 52429312 Oct 25 14:33 redo02.log
-rw-r----- 1 ora11 oinstall 52429312 Oct 25 14:38 redo03.log
-rw-r----- 1 ora11 oinstall 587210752 Oct 25 14:38 sysaux01.dbf
-rw-r----- 1 ora11 oinstall 922755072 Oct 25 14:38 system01.dbf
-rw-r----- 1 ora11 oinstall 62922752 Aug 14 06:02 temp01.dbf
-rw-r----- 1 ora11 oinstall 52436992 Oct 25 14:33 test01.dbf

从物理文件的时间戳可以看出temp文件最后一次访问时间

根据时间查看alert日志,发现在对应的时间做个重建控制文件操作,并且在重建控制完成后启动数据库后在alert日志中发现以下内容:

*********************************************************************
WARNING: The following temporary tablespaces contain no files.
This condition can occur when a backup controlfile has
been restored. It may be necessary to add files to these
tablespaces. That can be done using the SQL statement: ALTER TABLESPACE <tablespace_name> ADD TEMPFILE Alternatively, if these temporary tablespaces are no longer
needed, then they can be dropped.
Empty temporary tablespace: TEMP
*********************************************************************

说明是重建控制文件后,丢失了临时文件。(rman恢复数据库时也会发生类似现象)

只要把临时文件重新添加即可。

SQL> alter tablespace temp add tempfile '/u01/app/oracle/oradata/db11/temp01.dbf';

Tablespace altered.

SQL> select * from v$tempfile;

     FILE# CREATION_CHANGE# CREATION_        TS#     RFILE# STATUS  ENABLED         BYTES     BLOCKS CREATE_BYTES BLOCK_SIZE NAME
---------- ---------------- --------- ---------- ---------- ------- ---------- ---------- ---------- ------------ ---------- ----------------------------------------
1 1727770 25-OCT-16 3 1 ONLINE READ WRITE 62914560 7680 62914560 8192 /u01/app/oracle/oradata/db11/temp01.dbf SQL> select tablespace_name,file_name from dba_temp_files; TABLESPACE_NAME FILE_NAME
------------------------------ -------------------------------------------------------------------------------------------
TEMP /u01/app/oracle/oradata/db11/temp01.dbf SQL> exec dbms_stats.gather_table_stats(ownname=>'SYS',tabname=>'TT',method_opt=>'for columns size 1 id',cascade=>true); PL/SQL procedure successfully completed. SQL>

  

ORA-25153: Temporary Tablespace is Empty的更多相关文章

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

    SQL> @/tmp/4.txt create table huang_1 (deptno number,dname varchar2(19),loc varchar2(20)) * ERROR ...

  2. ORA-10922 Temporary tablespace group is empty错误

    错误--练习查询,发现报错: SQL>  select * from range_list_part_tab where id=100000Execution Plan------------- ...

  3. Oracle中的Temporary tablespace的作用

    临时表空间主要用途是在数据库进行排序运算[如创建索引.order by及group by.distinct.union/intersect/minus/.sort-merge及join.analyze ...

  4. [Oracle] 中的Temporary tablespace的作用

    临时表空间主要用途是在数据库进行排序运算[如创建索引.order by及group by.distinct.union/intersect/minus/.sort-merge及join.analyze ...

  5. Now trying to drop the old temporary tablespace, the session hangs.

    1.描述 问题描述:删除临时表空间时,会话Hangs挂起 SQL> drop tablespace TEMP_B including contents and datafiles; 2.故障诊断 ...

  6. RMAN数据库异机迁移步骤

    --RMAN数据库异机迁移步骤----------------------------2013/09/28 测试环境:AIX+ora11g   一. source数据库准备.   1.获取数据文件编号 ...

  7. ASM的备份集在文件系统上恢复测试

    背景:最近时常有客户咨询这类问题,其实很简单一个操作,但由于每个人的理解差异,也容易出现各种问题或者误解,本文主要总结下这个过程以及常遇到的问题处理. 环境:Site A(Oracle RAC 11. ...

  8. Oracle报错ORA-16433非归档丢失redo无法启动的恢复过程

    [案例]Oracle报错ORA-16433非归档丢失redo无法启动的恢复过程 转惜纷飞 今天ML的群中女神和travel在纠结一个恢复的问题,11.2.0.3版本,非归档,大概是rm掉current ...

  9. ORACLE DG临时表空间管理

    实施目标:由于磁盘空间不足,将主库的临时表空间修改位置 standby_file_management 管理方式:AUTO SQL> show parameter standby_file NA ...

随机推荐

  1. 【HDU】4405 Aeroplane chess

    http://acm.hdu.edu.cn/showproblem.php?pid=4405 题意:每次可以走1~6格,初始化在第0格,走到>=n的格子就结束.还有m个传送门,表示可以从X[i] ...

  2. 【CodeVS】p1174 靶形数独

    题目描述 Description 小城和小华都是热爱数学的好学生,最近,他们不约而同地迷上了数独游戏,好胜的他们想用数独来一比高低.但普通的数独对他们来说都过于简单了,于是他们向Z 博士请教,Z 博士 ...

  3. libc abi.dylib: terminate_handler unexpectedly threw an exception

    错误代码:很明显的错误,一定要谨记. - (NSInteger)giftCountFullScreen{ NSArray *arr = [NSMutableArray arrayWithArray:s ...

  4. iOS9 tableVIewCell的分割线不显示,只有在滑动的时候才显示?

    1.如果用6plus模拟器的话,电脑分辨率达不到那么高,因此就看不到分割线. 2.把模拟器换成6s 或 5s,就没问题了.

  5. IOS 蓝牙相关-基础知识(1)

    蓝牙常见名称和缩写 MFI ======= make for ipad ,iphone, itouch 专们为苹果设备制作的设备 BLE ==== buletouch low energy,蓝牙4.0 ...

  6. 自己签发免费ssl证书

    自己制作ssl证书:自己签发免费ssl证书,为nginx生成自签名ssl证书 这里说下Linux 系统怎么通过openssl命令生成 证书. 首先执行如下命令生成一个keyopenssl genrsa ...

  7. JavaScript的几种继承方式

    看<JavaScript高级程序设计>做的一些笔记 ECMAScript只支持实现继承,不支持接口继承(因为函数没有签名) 原型链(实现继承的主要方法): function SuperTy ...

  8. android中的Dialog

    一.Dialog概述 二.使用系统自带的Dialog 1.新建Builder AlertDialog.Builder builder = new AlertDialog.Builder(StoryAc ...

  9. Java_Eclipse_Maven插件部署

    方法一:在线; Eclipse-help-Install New Software 1.下载地址: m2e - http://download.eclipse.org/technology/m2e/r ...

  10. c# 函数练习

    1.out的使用 2.100以内与7无关的数(个位数是7,十位数是7,7的倍数) 每日一句:不求与人相比,但求超越自己,要哭就哭出激动的泪水,要笑就笑出成长的性格!