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

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. 【POJ】3243 Clever Y

    http://poj.org/problem?id=3243 题意:求$a^y \equiv b \pmod{p}$最小的$y$.(0<=x, y, p<=10^9) #include & ...

  2. 去掉inline-block元素默认间距的几种方法

    方法1:使用负margin值一般是-3px,部分浏览器可能不同,不太推荐使用. 方法2:去掉多余空格将元素紧挨着写去掉多余空格,但降低了可读性. 方法3:使用font-size:0在外层父元素加上fo ...

  3. 使用ADO.NET访问数据库

    第一种连接数据库的方法:可以使用.ET Framework提供程序的sqlConnection对象,使用无参数的构造函数创建Connection对象,代码如下: string strcon = &qu ...

  4. JS手机访问PC端网站自动跳转到手机端网站

    <script type="text/javascript"> //移动端url跳转,自定义部分开始 function mobile_device_detect(url ...

  5. 用一段JS代码来比较各浏览器的极限内存与运算速度

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 数组遍历map和each使用

    <body> <input type="/> <input type="/> <input type="/> </b ...

  7. 使用Sublime Text 直接运行Quick-cocos2d-x 项目

    一.新建一个编译系统 { "cmd": "D:/WorkSoftWare/Quick/quick-cocos2d-x-3.3rc0/quick/samples/Runni ...

  8. linux应用与发展(上)

    UNIX/Linux发展历史 当年,没有cmm的概念,也没什么PMP认证什么的,导致了MIT,GE,AT&T联合开发multics失败,multics是一个复杂多功能的操作系统.开发者想要开发 ...

  9. Python多行注释

    由于Python的注释只有针对于单行的注释(用#),多行注释时很不方便(要想多行注释只能每行代码前面都加上#).在网上看到一个Python的多行注释方法,分享给大家,其实很简单的,就是使用一对三个双引 ...

  10. Python打包成exe程序

    如何把.py文件打包成.exe可执行程序. 这里选择用PyInstaller 3.0来打包,PyInstaller 3.0下载地址:https://pypi.python.org/pypi/PyIns ...