数据库数据完全丢失,恢复数据库过程

80酷酷网    80kuku.com

  过程|恢复|数据|数据库

恢复测试,模拟数据库硬盘损坏数据丢失。
1、数据库全备份,
2、备份数据文件、控制文件、spfile、口令文件
3、删除数据库(用dbca删除),只留oracle程序。

4、启动数据库实例

HB130000 oracle$rman target / catalog

Recovery Manager: Release 9.2.0.1.0 - 64bit Production

Copyright (c) 1995, 2002, Oracle Corporation.  All rights reserved.

connected to target database (not started)
connected to recovery catalog database

RMAN> startup nomount

startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/oracle/oracle/app/oracle/product/9.2.
0.1/dbs/inithb130000.ora'

trying to start the Oracle instance without parameter files ...
Oracle instance started

Total System Global Area     156729832 bytes

Fixed Size                      741864 bytes
Variable Size                104857600 bytes
Database Buffers              50331648 bytes
Redo Buffers                    798720 bytes


5、查询原数据库dbid,恢复spfile
RMAN> list incarnation;查询原数据库的dbid。


List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            CUR Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
15936   131731  HB130000 2380174037       YES 23440815   25-AUG-05

RMAN> set dbid=2380174037;  设置dbid。

executing command: SET DBID
RMAN> restore spfile;

Starting restore at 13-SEP-05

using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: restoring SPFILE
output filename=/oracle/oracle/app/oracle/product/9.2.0.1/dbs/spfilehb130000.ora
channel ORA_DISK_1: restored backup piece 1
piece handle=/oradata/rmanbackup/hb130000_ctl_c-2380174037-20050913-00.bak tag=n
ull params=NULL
channel ORA_DISK_1: restore complete
Finished restore at 13-SEP-05

6、关闭数据库,使用使用spfile文件启动

RMAN> shutdown immediate

Oracle instance shut down

RMAN> startup nomount;

connected to target database (not started)
Oracle instance started

Total System Global Area     303530016 bytes

Fixed Size                      741408 bytes
Variable Size                268435456 bytes
Database Buffers              33554432 bytes
Redo Buffers                    798720 bytes

7、恢复控制文件

RMAN> restore controlfile;

Starting restore at 13-SEP-05

allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=13 devtype=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: sid=14 devtype=DISK
allocated channel: ORA_DISK_3
channel ORA_DISK_3: sid=15 devtype=DISK
allocated channel: ORA_DISK_4
channel ORA_DISK_4: sid=16 devtype=DISK
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: restoring controlfile
output filename=/oracle/oracle/app/oracle/product/9.2.0.1/dbs/hb130000/control01
.ctl
channel ORA_DISK_1: restored backup piece 1
piece handle=/oradata/rmanbackup/hb130000_ctl_c-2380174037-20050913-00.bak tag=n
ull params=NULL
channel ORA_DISK_1: restore complete
replicating controlfile
input filename=/oracle/oracle/app/oracle/product/9.2.0.1/dbs/hb130000/control01.
ctl
output filename=/oracle/oracle/app/oracle/product/9.2.0.1/dbs/hb130000/control02
.ctl
output filename=/oradata/hb130000/control03.ctl
Finished restore at 13-SEP-05


8、数据库mount

RMAN> alter database mount;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 09/13/2005 14:13:42
ORA-01990: error opening password file '/oracle/oracle/app/oracle/product/9.2.0.
1/dbs/orapw'
ORA-27037: unable to obtain file status
IBM AIX RISC System/6000 Error: 2: No such file or directory
Additional information: 3
RMAN> alter database mount;

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 09/13/2005 14:17:18
ORA-01100: database already mounted

9、数据库恢复。

RMAN> restore database;

Starting restore at 13-SEP-05

using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00006 to /oradata/hb130000/indx01.dbf
restoring datafile 00008 to /oradata/hb130000/tools01.dbf
restoring datafile 00013 to /oradata/hb130000/CA.dbf
restoring datafile 00015 to /oradata/hb130000/FOGLIGHT.dbf
restoring datafile 00017 to /oradata/hb130000/GDSS.dbf
channel ORA_DISK_2: starting datafile backupset restore
channel ORA_DISK_2: specifying datafile(s) to restore from backup set
restoring datafile 00002 to /oradata/hb130000/undotbs01.dbf
restoring datafile 00004 to /oradata/hb130000/drsys01.dbf
restoring datafile 00007 to /oradata/hb130000/odm01.dbf
restoring datafile 00014 to /oradata/hb130000/QUEST.dbf
restoring datafile 00021 to /oradata/hb130000/oem_repository.dbf
channel ORA_DISK_3: starting datafile backupset restore
channel ORA_DISK_3: specifying datafile(s) to restore from backup set
restoring datafile 00003 to /oradata/hb130000/cwmlite01.dbf
restoring datafile 00005 to /oradata/hb130000/example01.dbf
restoring datafile 00010 to /oradata/hb130000/xdb01.dbf
restoring datafile 00016 to /oradata/hb130000/gwd.dbf
restoring datafile 00020 to /oradata/hb130000/catalog_rman.dbf
channel ORA_DISK_4: starting datafile backupset restore
channel ORA_DISK_4: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /oradata/hb130000/system01.dbf
restoring datafile 00009 to /oradata/hb130000/users01.dbf
restoring datafile 00012 to /oradata/hb130000/GFB.DBF
restoring datafile 00019 to /oradata/hb130000/tgggg.dbf
channel ORA_DISK_1: restored backup piece 1
piece handle=/oradata/rmanbackup/df_HB130000_568897697_175_1.bak tag=TAG20050913
T110814 params=NULL
channel ORA_DISK_1: restore complete
channel ORA_DISK_2: restored backup piece 1
piece handle=/oradata/rmanbackup/df_HB130000_568897694_173_1.bak tag=TAG20050913
T110814 params=NULL
channel ORA_DISK_2: restore complete
channel ORA_DISK_3: restored backup piece 1
piece handle=/oradata/rmanbackup/df_HB130000_568897694_172_1.bak tag=TAG20050913
T110814 params=NULL
channel ORA_DISK_3: restore complete
channel ORA_DISK_4: restored backup piece 1
piece handle=/oradata/rmanbackup/df_HB130000_568897695_174_1.bak tag=TAG20050913
T110814 params=NULL
channel ORA_DISK_4: restore complete
Finished restore at 13-SEP-05

RMAN>


RMAN> recover database;

Starting recover at 13-SEP-05
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4

starting media recovery

channel ORA_DISK_1: starting archive log restore to default destination
channel ORA_DISK_1: restoring archive log
archive log thread=1 sequence=32
channel ORA_DISK_1: restored backup piece 1
piece handle=/oradata/rmanbackup/df_HB130000_568897755_179_1.bak tag=TAG20050913
T110915 params=NULL
channel ORA_DISK_1: restore complete
archive log filename=/oradata/rmanbackup/archive/hb130000_1_32.dbf thread=1 sequ
ence=32
unable to find archive log
archive log thread=1 sequence=33
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 09/13/2005 14:20:50
RMAN-06054: media recovery requesting unknown log: thread 1 scn 26146497

RMAN> recover database;

Starting recover at 13-SEP-05
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4

starting media recovery

unable to find archive log
archive log thread=1 sequence=33
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 09/13/2005 14:26:33
RMAN-06054: media recovery requesting unknown log: thread 1 scn 26146497


10、数据库resetlogs打开
RMAN> alter database open resetlogs;

database opened
new incarnation of database registered in recovery catalog
starting full resync of recovery catalog
full resync complete

RMAN>


11、完全备份数据库。



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: