加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             264244100 bytes
Database Buffers          339738624 bytes
Redo Buffers                7135232 bytes
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                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      MANUAL
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1

SQL> alter system set undo_management='AUTO' scope=spfile;
System altered.


6,重新启动,数据库恢复成undo自动管理.

SQL> shutdown immediate;
SQL> startup

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有