shutdown abort的情况,恢复全部控制文件和数据文件(不包括redo)

原创 2004年07月22日 15:57:00

*shutdown abort的情况,恢复全部控制文件和数据文件(不包括redo)
准备工作
(这样,insert into test1 values(13);就是没有提交的数据了,如果完全恢复,应该一直可以看到insert into test1 values(12);)
  
SQL> conn lunar/lunar
Connected.
SQL> select * from test1;
  
          A
----------
          1
          2
          3
          4
          5
          6
          7
          8
          9
         10
         11
  
11 rows selected.
  
SQL> insert into test1 values(12);
  
1 row created.
  
SQL> commit;
  
Commit complete.
  
SQL> insert into test1 values(13);
  
1 row created.
  
SQL>
  
单开一个session,用来shutdow abort
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
  
E:/>sqlplus internal
  
SQL*Plus: Release 8.1.7.0.0 - Production on 星期一 10月 21 01:53:09 2002
  
(c) Copyright 2000 Oracle Corporation.  All rights reserved.
  
连接到:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
  
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL>
拷贝所有的控制文件和数据文件(不包括redo)
mount数据库,按照提示重建口令文件
SQL> startup mount
ORACLE instance started.
  
Total System Global Area   25856028 bytes
Fixed Size                    75804 bytes
Variable Size               8925184 bytes
Database Buffers           16777216 bytes
Redo Buffers                  77824 bytes
ORA-01991: invalid password file 'd:/oracle1/ora81/DATABASE/PWDbackup.ORA'
  
SQL> host
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
  
E:/>cd d:/oracle1/ora81/DATABASE
E:/>d:
  
D:/oracle1/ora81/database>del PWDbackup.ORA
  
D:/oracle1/ora81/database>orapwd file=d:/oracle1/ora81/DATABASE/PWDbackup.ORA pa
ssword=oracle entries=10
  
D:/oracle1/ora81/database>exit
这时,试图完全恢复数据库是不成功的
SQL> recover database;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
  
用to trace备份控制文件
SQL>  alter database backup controlfile to trace;
  
Database altered.
  
SQL> shutdown immediate;
ORA-01109: database not open
  
Database dismounted.
ORACLE instance shut down.
找到并且编辑控制文件
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "BACKUP" NORESETLOGS ARCHIVELOG
     MAXLOGFILES 32
     MAXLOGMEMBERS 2
     MAXDATAFILES 254
     MAXINSTANCES 1
     MAXLOGHISTORY 453
LOGFILE
   GROUP 1 'D:/BACKUPDB/REDO01.LOG'  SIZE 1M,
   GROUP 2 'D:/BACKUPDB/REDO02.LOG'  SIZE 1M,
   GROUP 3 'D:/BACKUPDB/REDO03.LOG'  SIZE 1M
DATAFILE
   'D:/BACKUPDB/SYSTEM01.DBF',
   'D:/BACKUPDB/RBS01.DBF',
   'D:/BACKUPDB/USERS01.DBF',
   'D:/BACKUPDB/TEMP01.DBF',
   'D:/BACKUPDB/TOOLS01.DBF',
   'D:/BACKUPDB/INDX01.DBF'
CHARACTER SET ZHS16GBK
;
RECOVER DATABASE
ALTER SYSTEM ARCHIVE LOG ALL;
ALTER DATABASE OPEN;
  
重建控制文件
SQL> startup nomount
ORACLE instance started.
  
Total System Global Area   25856028 bytes
Fixed Size                    75804 bytes
Variable Size               8925184 bytes
Database Buffers           16777216 bytes
Redo Buffers                  77824 bytes
SQL> @D:/BACKUPDB/udump/ORA01532.sql
ORA-01081: cannot start already-running ORACLE - shut it down first
  
Control file created.
  
ORA-00279: change 424112 generated at 10/20/2002 20:40:52 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00001.ARC
ORA-00280: change 424112 for thread 1 is in sequence #1
  
ORA-00308: cannot open archived log 'ALTER'
ORA-27041: unable to open file
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。
  
ALTER DATABASE OPEN
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: 'D:/BACKUPDB/SYSTEM01.DBF'
  
shutdown immediate,然后重新恢复数据库
SQL> shutdown immediate;
ORA-01109: database not open
  
Database dismounted.
ORACLE instance shut down.
SQL>  startup mount
ORACLE instance started.
  
Total System Global Area   25856028 bytes
Fixed Size                    75804 bytes
Variable Size               8925184 bytes
Database Buffers           16777216 bytes
Redo Buffers                  77824 bytes
Database mounted.
  
完全恢复数据库
SQL>  recover database;
ORA-00279: change 424112 generated at 10/20/2002 20:40:52 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00001.ARC
ORA-00280: change 424112 for thread 1 is in sequence #1
  
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 424125 generated at 10/20/2002 20:44:14 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00002.ARC
ORA-00280: change 424125 for thread 1 is in sequence #2
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00001.ARC' no longer needed
for this recovery
  
ORA-00279: change 424135 generated at 10/20/2002 21:55:35 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00003.ARC
ORA-00280: change 424135 for thread 1 is in sequence #3
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00002.ARC' no longer needed
for this recovery
  
ORA-00279: change 424139 generated at 10/20/2002 21:57:42 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00004.ARC
ORA-00280: change 424139 for thread 1 is in sequence #4
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00003.ARC' no longer needed
for this recovery
  
ORA-00279: change 424143 generated at 10/20/2002 21:57:54 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00005.ARC
ORA-00280: change 424143 for thread 1 is in sequence #5
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00004.ARC' no longer needed
for this recovery
  
ORA-00279: change 444145 generated at 10/20/2002 22:01:23 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00006.ARC
ORA-00280: change 444145 for thread 1 is in sequence #6
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00005.ARC' no longer needed
for this recovery
  
ORA-00279: change 464194 generated at 10/20/2002 22:24:10 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00007.ARC
ORA-00280: change 464194 for thread 1 is in sequence #7
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00006.ARC' no longer needed
for this recovery
  
ORA-00279: change 484347 generated at 10/21/2002 00:16:14 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00008.ARC
ORA-00280: change 484347 for thread 1 is in sequence #8
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00007.ARC' no longer needed
for this recovery
  
ORA-00279: change 484401 generated at 10/21/2002 00:30:27 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00009.ARC
ORA-00280: change 484401 for thread 1 is in sequence #9
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00008.ARC' no longer needed
for this recovery
  
ORA-00279: change 484453 generated at 10/21/2002 00:33:51 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00010.ARC
ORA-00280: change 484453 for thread 1 is in sequence #10
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00009.ARC' no longer needed
for this recovery
  
ORA-00279: change 484508 generated at 10/21/2002 00:38:40 needed for thread 1
ORA-00289: suggestion : D:/BACKUPDB/ARCHIVE/BACKUPT001S00011.ARC
ORA-00280: change 484508 for thread 1 is in sequence #11
ORA-00278: log file 'D:/BACKUPDB/ARCHIVE/BACKUPT001S00010.ARC' no longer needed
for this recovery
  
Log applied.
Media recovery complete.
SQL>
  
打开数据库
SQL> alter database open;
  
Database altered.
SQL> conn lunar/lunar
Connected.
SQL> select * from test1;
  
          A
----------
          1
          2
          3
          4
          5
          6
          7
          8
          9
         10
         11
  
          A
----------
         12
  
12 rows selected.
  
SQL>
  
说明:
1.  拷贝所有的控制文件和数据文件(不包括redo)   
2.  mount数据库,按照提示重建口令文件   
3.  这时,试图完全恢复数据库是不成功的   
4.  用to trace备份控制文件   
5.  找到并且编辑控制文件   
6.  重建控制文件   
7.  shutdown immediate,然后重新恢复数据库   
8.  完全恢复数据库   
9.  打开数据库  

http://www.cnoug.org/viewthread.php?tid=93&highlight=%2Blunar

 

rman恢复的方式搭建dataguard后redo log 的处理

转载:http://www.dbdream.org/?p=548 搭建DATA GUARD,利用RMAN备份恢复备库时,由于RMAN不会备份REDO文件,还原后的备库缺少REDO日志文件,对于用...
  • changyanmanman
  • changyanmanman
  • 2014年05月08日 15:08
  • 1474

使用redo.log完全恢复数据库

场景:之前该数据库进行过一次完全恢复,应有是有如下提示的,然后又使用了resetlogs打开过数据库,但未做日志切换(alter system checkpoint/alter system swit...
  • bw_xinyun
  • bw_xinyun
  • 2016年02月02日 10:22
  • 1487

通过重建控制文件的方法恢复数据库

今天配置dataguard的时候,一不小心把主库的控制文件全删了,主库是集团的测试库,所以心里比较慌。静下心来在网上找了一些资料之后,发现可以通过重建控制文件的方法来恢复数据库,就做了一下测试。 ...
  • MisshqZzz
  • MisshqZzz
  • 2016年05月26日 14:44
  • 3050

使用rman恢复控制文件

控制文件(controlfile)丢失恢复 基于控制文件的复合多路径性,它的丢失分为两种,一种是其中某个控制文件的损坏或丢失,另外一种是所有控制文件均丢失。基于第一种情况,只需把好的控制文件复制一份...
  • rlhua
  • rlhua
  • 2013年10月11日 23:06
  • 10763

Oracle数据文件迁移

(转)Oracle数据文件迁移 windows xp oracle 9. 2.0.1.0 sid:test 数据库安装在D盘,现在把D:\ORACLE\ORA...
  • haiross
  • haiross
  • 2014年01月20日 17:24
  • 1146

Postgresql日志系统的实现(九)

1.3.3.3恢复过程步骤     1.       读控制文件,如果有,则按照文件中的信息设置恢复参数。 2.       对控制文件中所写的系统状态进行判断,给出系统状态提示 3.     ...
  • fly2nn
  • fly2nn
  • 2017年03月13日 18:50
  • 80

oracle数据文件被删除的恢复

当oraclek中的数据文件在OS系统下被误删除后,该如何恢复呢? 这时千万不要慌张重启数据库或者操作系统,可以通过dbwn进程相关句柄找回数据文件。 测试: 步骤1:用DBA身份登陆数据库并...
  • tchic
  • tchic
  • 2016年09月18日 19:08
  • 1618

SCN号与oracle数据库恢复的关系

SCN号与oracle数据库恢复过程有着密切的关系,只有很好地理解了这层关系,才能深刻地理解恢复的原理,从而才能很好地解决这方面的问题。 SCN与CHECKPOINT CKPT进程在checkpo...
  • xiaobluesky
  • xiaobluesky
  • 2015年12月02日 22:49
  • 1616

Oracle数据库数据文件rm -rf误删除后恢复

Oracle数据库中表空间的数据文件在基于OS系统级别被rm -rf 删除后,只要数据库在删除后一直未被shutdown,那么就可以手动恢复,恢复的前提是Oracle安装在Linux系统下,下面是一个...
  • a58457432
  • a58457432
  • 2014年05月30日 15:00
  • 1224

Oracle控制文件、数据文件、临时文件总结笔记

一.控制文件(Control Files) 1.控制文件的作用 控制文件在Oracle数据库中扮演着很重要的角色,没有控制文件(或者控制文件损坏了),运行着的实例立...
  • cunxiyuan108
  • cunxiyuan108
  • 2014年11月13日 16:33
  • 888
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shutdown abort的情况,恢复全部控制文件和数据文件(不包括redo)
举报原因:
原因补充:

(最多只允许输入30个字)