因为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: 数据库未打开
请教高手,怎么恢复呢?
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: 数据库未打开
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也不成呢?
按以下步骤看能否打开数据库:startup mount
alter database datafile '/opt/oracle/oradata/orcl/undotbs01.dbf' offline;
alter database open;