Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32888
  • 博文数量: 17
  • 博客积分: 696
  • 博客等级: 上士
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-14 16:59
文章分类

全部博文(17)

文章存档

2010年(4)

2009年(13)

我的朋友

分类: Oracle

2009-06-21 23:29:43

模拟恢复控制文件
alter database backup controlfile to trace;
然后从trc文件中找出创建控制文件的脚本 建立creatcon.sql文件
CREATE CONTROLFILE REUSE DATABASE "BILLY" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 5
    MAXLOGMEMBERS 5
    MAXDATAFILES 100
    MAXINSTANCES 1
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 (
    '/home/u02/oradata/billy/redo01.log',
    '/home/u02/oradata/billy/redo011.log'
  ) SIZE 100M,
  GROUP 2 (
    '/home/u02/oradata/billy/redo02.log',
    '/home/u02/oradata/billy/redo031.log'
  ) SIZE 100M,
  GROUP 3 (
    '/home/u02/oradata/billy/redo03.log',
    '/home/u02/oradata/billy/redo021.log'
  ) SIZE 100M
-- STANDBY LOGFILE
DATAFILE
  '/home/u02/oradata/billy/system01.dbf',
  '/home/u02/oradata/billy/undotbs01.dbf',
  '/home/u02/oradata/billy/sysaux01.dbf',
  '/home/u02/oradata/billy/BILLY/datafile/o1_mf_tbs_1_3h3ocgds_.dbf',
  '/home/u02/oradata/billy/users01.dbf',
  '/home/u02/oradata/billy/indx01.dbf',
  '/home/u02/oradata/billy/dgyy01.dbf'
CHARACTER SET AL32UTF8
;
mv ora_control  bakcontrolfile/
idle> shutdown abort
idle> startup nomount
ORACLE instance started.
Total System Global Area  385875968 bytes
Fixed Size                  2020960 bytes
Variable Size             377489824 bytes
Database Buffers            4194304 bytes
Redo Buffers                2170880 bytes
idle> @creatcon.sql
Control file created.
idle> alter database open;
alter database open
*
ERROR at line 1:
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/home/u02/oradata/billy/system01.dbf'
ORA-01207: file is more recent than control file - old control file

idle> recover database using backup controlfile until cancel;
ORA-00279: change 287311 generated at 06/18/2009 23:55:30 needed for thread 1
ORA-00289: suggestion : /home/u02/archivelogfile/1_13_633780023.dbf
ORA-00280: change 287311 for thread 1 is in sequence #13

Specify log: {=suggested | filename | AUTO | CANCEL}
/home/u02/oradata/billy/redo01.log
Log applied.
Media recovery complete.
idle> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
idle> alter database open RESETLOGS;
Database altered.
idle>  select count(*) from dba_objects;
  COUNT(*)
----------
      9410
idle>
使用 open resetlogs会使部分数据丢失,并且在恢复之后需要立即对数据库进行完全备份。
 
阅读(436) | 评论(0) | 转发(0) |
0

上一篇:share pool

下一篇:数据缓存池

给主人留下些什么吧!~~