因为UNDOTBS01.DBF占空间太大,没有置换个小的,因为创建时也报错,所以直接给删了,删了之后才后悔了。
请教高手,怎么恢复呢?
SQL> startup
ORACLE instance started.Total System Global Area 1603411968 bytes
Fixed Size                  2213776 bytes
Variable Size             822085744 bytes
Database Buffers          553648128 bytes
Redo Buffers              225464320 bytes
Database mounted.
ORA-01157: 无法标识/锁定数据文件 3 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 3: '/opt/oracle/oradata/orcl/undotbs01.dbf'
SQL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '/opt/ORACLE/ORADATA/ORCL/UNDOTBS02.DBF' SIZE 100M REUSE AUTOEXTEND ON;
CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '/opt/ORACLE/ORADATA/ORCL/UNDOTBS02.DBF' SIZE 100M REUSE AUTOEXTEND ON
*
ERROR at line 1:
ORA-01109: 数据库未打开

解决方案 »

  1.   

    SQL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '/opt/oracle/oradata/orcl/undotbs02.dbf' SIZE 100M REUSE AUTOEXTEND ON;
    CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '/opt/oracle/oradata/orcl/undotbs02.dbf' SIZE 100M REUSE AUTOEXTEND ON
    *
    ERROR at line 1:
    ORA-01034: ORACLE not available
    进程 ID: 0
    会话 ID: 0 序列号: 0
    SQL> alter database datafile '/opt/oracle/oradata/orcl/undotbs01.dbf' offline drop ;
    alter database datafile '/opt/oracle/oradata/orcl/undotbs01.dbf' offline drop
    *
    ERROR at line 1:
    ORA-01034: ORACLE not available
    进程 ID: 0
    会话 ID: 0 序列号: 0应该是这样的报错提示,上面的写的路径不对,为什么创建undotbs02.dbf也不成呢?
      

  2.   

    你的数据库无法打开,当然不能建表空间。
    按以下步骤看能否打开数据库:startup mount
    alter database datafile '/opt/oracle/oradata/orcl/undotbs01.dbf' offline;
    alter database open;