ORA-25153: 临时表空间为空

今天做flashback table实验时出现了报错,下面谈谈处理过程:

ORA-25153: 临时表空间为空

1.做闪回表的第一步要对表t启用row movement

SQL> alter table t enable row movement;

表已更改。

2.查询当前的scn

SQL> select current_scn from v$database;

CURRENT_SCN
-----------
     592774

3.往表里插入一个数据,并commit

SQL> insert into t values(123456,100);

已创建 1 行。

SQL> commit;

提交完成。

4.执行闪回表操作,此时报了个ORA-25153
SQL> flashback table t to scn 592774;
flashback table t to scn 592774
                *
第 1 行出现错误:
ORA-00604: 递归 SQL 级别 1 出现错误
ORA-25153: 临时表空间为空

思路:

我数据的版本是10.2.0.1,之前做过控制文件恢复,导致临时表空间为空,|这是10g的一个bug,在11g里已经没有这个问题(以上两句不知是否正确)|。

1.首先查看dba_tablespaces,表空间都online

SQL> select tablespace_name,status from dba_tablespaces;

TABLESPACE_NAME                STATUS
------------------------------ ---------
SYSTEM                         ONLINE
UNDOTBS1                       ONLINE
SYSAUX                         ONLINE
TEMP                           ONLINE
USERS                          ONLINE

2.查看dba_temp_files

SQL> select tablespace_name,file_name from dba_temp_files;

未选定行

SQL> alter database  default temporary tablespace temp;
alter database  default temporary tablespace temp
*
第 1 行出现错误:
ORA-12907: 表空间 TEMP 已经是默认的临时表空间

问题就出在这里了,临时数据文件丢了。现在来加一个


SQL> alter tablespace temp add tempfile 'D:\oracle\product\10.2.0\oradata\test\TEMP01.DBF'size 21M autoextend off;;

表空间已更改。

SQL> select tablespace_name,file_name from dba_temp_files;

TABLESPACE_NAME
------------------------------
FILE_NAME
--------------------------------------------------------------------------------
TEMP
D:\ORACLE\PRODUCT\10.2.0\ORADATA\TEST\TEMP01.DBF

现在再执行闪回表:
SQL> flashback table t to scn 592774;

闪回完成。

SQL> select * from t;

        ID         AA
---------- ----------
         1        100
        12        100
       123        100
      1234        100
     12345        100

成功了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值