天萃荷净

重建控制文件丢失undo异常恢复 ORA-01173模拟与恢复

数据库异常关闭,使用resetlogs方式重建控制文件,不包含undo表空间相关数据库,然后尝试resetlogs打开数据库,非常容易出现ORA-01173: data dictionary indicates missing data file from system tablespace之类的错误,本文通过模拟该错误,并简单提供解决方法

模拟环境ORA-01173错误

SQL> select * from v$version;

BANNER

--------------------------------------------------------------------------------

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production

PL/SQL Release 11.2.0.3.0 - Production

CORE 11.2.0.3.0 Production

TNS for Linux: Version 11.2.0.3.0 - Production

NLSRTL Version 11.2.0.3.0 - Production

SQL> shutdown abort;

ORACLE instance shut down.

--除掉undo表空间相关数据库然后使用resetlogs模式重建控制文件

SQL> startup nomount;

ORACLE instance started.

Total System Global Area 175775744 bytes

Fixed Size 1343668 bytes

Variable Size 117444428 bytes

Database Buffers 50331648 bytes

Redo Buffers 6656000 bytes

SQL> @/tmp/ctl.sql

Control file created.

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01194: file 1 needs more recovery to be consistent

ORA-01110: data file 1: '/u01/oracle/oradata/ora11g/system01.dbf'

SQL> recover database until cancel;

ORA-00283: recovery session canceled due to errors

ORA-01610: recovery using the BACKUP CONTROLFILE option must be done

SQL> recover database until cancel using backup controlfile;

ORA-00279: change 12696930512547 generated at 08/26/2013 14:43:13 needed for

thread 1

ORA-00289: suggestion : /u01/oracle/oradata/ora11g/archivelog/1_8_824475918.dbf

ORA-00280: change 12696930512547 for thread 1 is in sequence #8

Specify log: {=suggested | filename | AUTO | CANCEL}

cancel;

ORA-00308: cannot open archived log 'cancel;'

ORA-27037: unable to obtain file status

Linux Error: 2: No such file or directory

Additional information: 3

Specify log: {=suggested | filename | AUTO | CANCEL}

cancel

ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below

ORA-01194: file 1 needs more recovery to be consistent

ORA-01110: data file 1: '/u01/oracle/oradata/ora11g/system01.dbf'

ORA-01112: media recovery not started

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01194: file 1 needs more recovery to be consistent

ORA-01110: data file 1: '/u01/oracle/oradata/ora11g/system01.dbf'

SQL> recover database until cancel using backup controlfile;

ORA-00279: change 12696930512547 generated at 08/26/2013 14:43:13 needed for

thread 1

ORA-00289: suggestion : /u01/oracle/oradata/ora11g/archivelog/1_8_824475918.dbf

ORA-00280: change 12696930512547 for thread 1 is in sequence #8

Specify log: {=suggested | filename | AUTO | CANCEL}

/u01/oracle/oradata/ora11g/redo02.log

Log applied.

Media recovery complete.

SQL> alter database open resetlogs;

alter database open resetlogs

*

ERROR at line 1:

ORA-01092: ORACLE instance terminated. Disconnection forced

ORA-01173: data dictionary indicates missing data file from system tablespace

Process ID: 15053

Session ID: 125 Serial number: 3

alert日志

Mon Aug 26 15:22:20 2013

alter database open resetlogs

RESETLOGS after complete recovery through change 12696930514503

Archived Log entry 1 added for thread 1 sequence 7 ID 0xfb91eb36 dest 1:

Archived Log entry 2 added for thread 1 sequence 8 ID 0xfb91eb36 dest 1:

Archived Log entry 3 added for thread 1 sequence 6 ID 0xfb91eb36 dest 1:

Clearing online redo logfile 1 /u01/oracle/oradata/ora11g/redo01.log

Clearing online log 1 of thread 1 sequence number 7

Clearing online redo logfile 1 complete

Clearing online redo logfile 2 /u01/oracle/oradata/ora11g/redo02.log

Clearing online log 2 of thread 1 sequence number 8

Clearing online redo logfile 2 complete

Clearing online redo logfile 3 /u01/oracle/oradata/ora11g/redo03.log

Clearing online log 3 of thread 1 sequence number 6

Clearing online redo logfile 3 complete

Resetting resetlogs activation ID 4220644150 (0xfb91eb36)

Online log /u01/oracle/oradata/ora11g/redo01.log: Thread 1 Group 1 was previously cleared

Online log /u01/oracle/oradata/ora11g/redo02.log: Thread 1 Group 2 was previously cleared

Online log /u01/oracle/oradata/ora11g/redo03.log: Thread 1 Group 3 was previously cleared

Mon Aug 26 15:22:26 2013

Setting recovery target incarnation to 2

Using SCN growth rate of 16384 per second

Mon Aug 26 15:22:26 2013

Assigning activation ID 4220652407 (0xfb920b77)

LGWR: STARTING ARCH PROCESSES

Mon Aug 26 15:22:26 2013

ARC0 started with pid=20, OS id=15131

ARC0: Archival started

LGWR: STARTING ARCH PROCESSES COMPLETE

ARC0: STARTING ARCH PROCESSES

Mon Aug 26 15:22:27 2013

ARC1 started with pid=21, OS id=15135

Mon Aug 26 15:22:27 2013

ARC2 started with pid=22, OS id=15139

Thread 1 opened at log sequence 1

Current log# 1 seq# 1 mem# 0: /u01/oracle/oradata/ora11g/redo01.log

Successful open of redo thread 1

MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set

Mon Aug 26 15:22:27 2013

SMON: enabling cache recovery

Mon Aug 26 15:22:27 2013

ARC3 started with pid=23, OS id=15143

ARC1: Archival started

ARC2: Archival started

ARC2: Becoming the 'no FAL' ARCH

ARC2: Becoming the 'no SRL' ARCH

ARC1: Becoming the heartbeat ARCH

Errors in file /u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_15053.trc:

ORA-01173: data dictionary indicates missing data file from system tablespace

Errors in file /u01/oracle/diag/rdbms/ora11g/ora11g/trace/ora11g_ora_15053.trc:

ORA-01173: data dictionary indicates missing data file from system tablespace

Error 1173 happened during db open, shutting down database

USER (ospid: 15053): terminating the instance due to error 1173

Instance terminated by USER, pid = 15053

ORA-1092 signalled during: alter database open resetlogs...

opiodr aborting process unknown ospid (15053) as a result of ORA-1092

Mon Aug 26 15:22:29 2013

ORA-1092 : opitsk aborting process

解决方案

解决方案设置相关异常回滚段,然后屏蔽掉,数据库即可正常起来

--参数文件修改(使用event或者工具,系统命令等)

undo_management='manual'

_corrupted_rollback_segments

--重启数据库使得_corrupted_rollback_segments生效

shutdown immediate;

startup

--尝试open数据库

recover database;

alter database open;

--新建undo

create undo tablespace undo_new datafile '' size 100m autoextend on next 10m maxsize 30G;

--删除老undo

drop tablespace old_undo

--修改参数

shutdonw immediate

undo_management='auto'

undo_tablespace='unod_new'

--启动数据库

startup

--逻辑导出数据,导入新库

-----------------温馨提示--------------------

操作有风险,动手需谨慎

Oracle研究中心

http://www.oracleplus.net

本文由大师惜分飞原创分享,转载请尽量保留本站网址

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之案例:Oracle重建控制文件丢失undo异常恢复 ORA-01173模拟与恢复

oracle恢复主键丢失,案例:Oracle重建控制文件丢失undo异常恢复 ORA-01173模拟与恢复...相关推荐

  1. oracle联合主键怎么找,Oracle数据库联合主键

    1.定义: 主键:在Oracle中,主键指能唯一标识一条记录的单个数据表列或联合的数据表列(联合主键|复合主键).主键用到的数据                   表列数据不能包含空值.而且,一张表 ...

  2. oracle中主键自增长,oracle 数据库主键自动增长方法

    oracle 数据库没有像 MYSQL一样有 自动ID增值 的功能,如要实现可以用触发器. 首先就是建立一个序列,序列有有自动增值的功能,再建立一个触发器. 如: 建立一个序列 CREATE SEQU ...

  3. oracle中主键的建立,oracle 建立主键与索引

    一般的情况下,表的主键是必要的,没有主键的表可以说是不符合设计规范的. SELECT table_name FROM User_tables t WHERE NOT EXISTS (SELECT ta ...

  4. 玩转oracle 11g(36):rman备份-控制文件丢失恢复

    ORA-00205: error in identifying control file, check alert log for more info 检查oracle的报警日志包含类似报错: ORA ...

  5. Oracle添加主键和索引,Oracle 添加主键和索引

    数据的主键和索引一般情况下都是必须的,特别是表有大量数据的时候,索引和主键更是必不可少,这样可以提供数据的查询效率: 一.创建表的同时创建主键约束 (1)无命名 create table studen ...

  6. oracle修改主键多字段,Oracle增加修改删除字段/主键

    修改字段名称 alter table xgj rename column old_name to new_name; 修改字段类型 alter table tablename modify (colu ...

  7. Oracle 11g重建控制文件——控制文件全部丢失,从零开始

    控制文件(control file)是一个相当小的文件(最多能增长到64M左右),其中包含Oracle需要的其他文件的一个目录.参数文件告知实例控制文件的位置,控制文件则告知示例数据库和在线重做日志文 ...

  8. ORACLE实例控制文件删除恢复,Oracle案例:损坏控制文件的恢复方法

    一: 损坏单个控制文件 损坏单个控制文件是比较容易恢复的,因为一般的数据库系统,控制文件都不是一个,而且所有的控制文件都互为镜相,只要拷贝一个好的控制文件替换坏的控制文件就可以了. 1.控制文件损坏, ...

  9. oracle log block size,案例:Oracle无法启动报错ORA-00218: block size 0 重建控制文件

    天萃荷净 oracle数据库无法启动报错ORA-00218故障,通过重建控制文件解决文件损坏问题 遇到一个案例在数据库启动的时候报ORA-00218错误,而这个故障的引起原因是因为重建控制文件的时候, ...

最新文章

  1. 使用mysql内连接查询年龄_Mysql的连表查询
  2. 【深度学习】医学图像分割多标签损失函数和极坐标变换
  3. CG CTF CRYPTO easy!
  4. 有限元笔记06-三维实体单元
  5. 使用try-catch-finally处理异常---java
  6. 整个电脑键盘被锁住了_蜗居共享经济,如何彻底榨干你家里的电子设备|鼠标|共享经济|键盘|电脑桌|显示器|升降支架...
  7. iOS中的中间人-NSURLProtocol 的原理和使用实例
  8. NHibernate源码分析开篇
  9. 敏捷脑图用例实践之路
  10. java中的银行界面开发_ATM机银行项目java图形界面
  11. 金融风控实战——可解释人工智能技术
  12. 巴克莱银行申请区块链专利改进银行服务
  13. NOD32 ID及升级服务器
  14. 不了解外贸装箱,这一篇够够的
  15. jquery向服务器发送ajax请求标准写法
  16. 为什么很多人认为测试就是“鼠标点点点”?
  17. 什么牌子的护眼灯最好推荐?盘点口碑好的护眼灯品牌
  18. 开源项目之Android繁体中文输入法
  19. 优盘显示需要格式化,怎么恢复正常?
  20. 白天不懂夜的黑,众人不识O2O真身

热门文章

  1. 3G版iPad水货价普降最少200元 受新品发布冲击
  2. 为什么bytes32等于uint256
  3. 结构化思维的一种土话理解
  4. Microsoft Edge 去除广告
  5. 信息化孤岛探讨及解决思路(一)
  6. 95、民用建筑的耐火等级
  7. 小白笔记:linux学习
  8. 祭奠逝去的青春-记YY项目失败总结
  9. Explay Crystal透明手机上市 透明显示渐入佳境
  10. 庄子 内篇 齐物论第二