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

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. 深入浅出 - Android系统移植与平台开发(七)- 初识HAL

    作者:唐老师,华清远见嵌入式学院讲师. 1. HAL的module与stub HAL(Hardware AbstractLayer)硬件抽象层是Google开发的Android系统里上层应用对底层硬件 ...

  2. Idea_Intellij Idea 12 生成serialVersionUID的方法

    默认情况下Intellij IDEA是关闭了继承了java.io.Serializable的类生成serialVersionUID的警告.如果需要ide提示生成serialVersionUID,那么需 ...

  3. Linux_解决nohup命令生成的多余的大日志文件

    解决nohup命令生成的多余的大日志文件 经常使用命令 nohup /usr/bin/php /srv/www/update.php & 可以让它在后台安静的进行,但是有一个烦恼就是,它会生成 ...

  4. android-对话框

    一.常用对话框 AlertDialog: 功能最丰富,实际应用最广的对话框(以下三种对话框都是该对话框的子类) ProgressDialog:进度对话框.这个对话框只是对进度条的包装 DatePick ...

  5. 使用 GCC 调试程序

    系统 Ubuntu 调试示例: #include <stdio.h> int func(int n) { ,i; ;i<n;i++) { sum+=i; } return sum; ...

  6. Scala命令设置JVM参数的规则

    Scala下设置JVM参数简单分析 Scala 启动shell脚本,简化后的scala REPL 启动命令大致如下所示: java -Xmx256M -Xms32M \-Xbootclasspath/ ...

  7. Logistic Regression Vs Decision Trees Vs SVM: Part I

    Classification is one of the major problems that we solve while working on standard business problem ...

  8. linux笔记五-------编辑器

    1. 三种模式    命令(默认).尾行.编辑模式 2. 尾行模式    :    :q      退出vi编辑器    :w      保存修改    :wq     保存并退出编辑    :q!  ...

  9. Mysql的实时同步 - 双机互备

    设置方法: 步一设 A 服务服 (192.168.1.43) 上用户为 backup, 123456 , 同步的数据库为test; B 服务服 (192.168.1.23) 上用户为 root, 12 ...

  10. 服务器租用中网络ping值过高的原因

    其实在网络ping值过程中常常会有很多情况影响这个ping值问题,包括丢包现象,不稳定等等.究竟ping值的大小传输速度与哪些问题有关呢?是什么原因会影响他的速度呢?16年服务器租用运营经验的上市ID ...