首页  >  文章  >  数据库  >  UNDO表空间失败的处理方法

UNDO表空间失败的处理方法

WBOY
WBOY原创
2016-06-07 17:28:481054浏览

表空间文件,如果被我们自己无意中删除,或者被其他程序破坏的话,Oracle将无法正常启动,也无法正常退出。

本文档中,测试环境是AIX6.1,日文系统。
 一、UNDO表空间异常的现象
  1、表空间文件,如果被我们自己无意中删除,,或者被其他程序破坏的话,Oracle将无法正常启动,也无法正常退出。
 SQL> shutdown immediate
 ORA-00376: ファイル12を読み込むことはできません。
 ORA-01110: データファイル12: '/opt/oradata/DTCDB/undotbs_01.dbf'
  2、通过Oracle命令删除UNDO表空间,同样也会出现错误。
 $ sqlplus /nolog
 con
 SQL*Plus: Release 11.1.0.6.0 - Production on 水 3月 14 17:52:46 2012
 
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
 


SQL> conn /as sysdba
 Connected to an idle instance.
 

 

SQL> startup
 ORACLE instance started.
 Total System Global Area 3874926592 bytes
 Fixed Size                  2144080 bytes
 Variable Size            1761609904 bytes
 Database Buffers        2097152000 bytes
 Redo Buffers              14020608 bytes
 Database mounted.
 Database opened.
 

 

SQL> drop tablespace undotbs;
 drop tablespace undotbs
 *
 ERROR at line 1:
 ORA-01548:
 アクティブなロールバックセグメント'_SYSSMU11_1331712400$'があります。表領域の
 削除を終了しました
  3、通过创建UNDO表空间,由于表空间名称已经存在,同样也不可能成功的。
 SQL> create undo tablespace undotbs1 datafile '/opt/oradata/DTCDB/undotbs_01.dbf' size 10m autoextend on next 1m maxsize 1024m;
 create undo tablespace undotbs1 datafile '/opt/oradata/DTCDB/undotbs_01.dbf' size 10m autoextend on next 1m maxsize 1024m
 *
 ERROR at line 1:
 ORA-01537: ファイル'/opt/oradata/DTCDB/undotbs_01.dbf'を追加できません -
 すでにデータベースの一部として存在します
  4、如果创建一个新的UNDO表空间,即UNDO表空间名换一个新的,不在使用默认的表空间名称;然后删除原来默认表空间,同样出错。
 SQL> create undo tablespace undotbs1 datafile '/opt/oradata/DTCDB/undotbs_02.dbf' size 10m autoextend on next 1m maxsize 1024m;
 Tablespace created.
 

 

SQL> drop tablespace undotbs;
 drop tablespace undotbs
 *
 ERROR at line 1:
 ORA-01548:
 アクティブなロールバックセグメント'_SYSSMU11_1331712400$'があります。表領域の
 削除を終了しました
  5、直接向UNDO表空间中添加数据库文件,还是出错。
 SQL> alter tablespace undotbs add datafile '/opt/oradata/DTCDB/undotbs_01.dbf' size 10m autoextend on next 1m maxsize 1024m;
 alter tablespace undotbs add datafile '/opt/oradata/DTCDB/undotbs_01.dbf' size 10m autoextend on next 1m maxsize 1024m
 *
 ERROR at line 1:
 ORA-01537: ファイル'/opt/oradata/DTCDB/undotbs_01.dbf'を追加できません -
 すでにデータベースの一部として存在します
 

 

SQL> alter tablespace undotbs mv datafile '/opt/oradata/DTCDB/undotbs_01.dbf';
 alter tablespace undotbs mv datafile '/opt/oradata/DTCDB/undotbs_01.dbf'
                        *
 ERROR at line 1:
 ORA-02142: ALTER TABLESPACEオプションがないか、または無効です。

linux

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn