ORACLE数据库undo表空间文件丢失或损坏处理步骤
(2018-06-07 10:57:43)
标签:
it |
分类: Oracle学习 |
undo表空间对应的文件丢失.
模拟:在数据库shutdown后将undo文件删除,启动的时候出错:
ORA-01110:....................................
恢复步骤:因为undo文件不保存数据,可以直接drop 后重建.
1,drop undo文件.
SQL>
alter database datafile
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF' offline
drop;
Database altered.
2,将undo管理改为manual
SQL>
alter system set undo_management='MANUAL'
scope=spfile;
System altered.
3,重新启动数据库
SQL>
shutdown immediate;
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL>
startup
ORACLE instance started.
Total System Global Area
Fixed
Size
Variable
Size
Database
Buffers
Redo
Buffers
Database mounted.
Database opened.
4,将丢失文件的undo表空间drop后重建
SQL>
drop tablespace undotbs1;
Tablespace dropped.
移除损坏的undo文件
SQL>
create undo tablespace UNDOTBS1 datafile
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF' size
20M;
Tablespace created.
5,查看目前的数据库undo设置,需要将undo_management
改为auto.
SQL> show parameter undo
NAME
------------------------------------ -----------
------------------------------
undo_management
undo_retention
undo_tablespace
SQL>
alter system set undo_management='AUTO'
scope=spfile;
System altered.
6,重新启动,数据库恢复成undo自动管理.
SQL>
shutdown immediate;
SQL> startup