客户oracle数据库恢复测试

本文介绍Oracle RMAN工具进行数据库备份、恢复的具体步骤,包括备份脚本配置、控制文件恢复、数据文件恢复及归档日志的处理等。通过实际案例展示了如何解决备份过程中的常见问题。

[oracle@ln1 ~]$ more mydb_backup.sh 
#!/bin/bash
source /home/oracle/.bash_profile
rman TARGET / @/home/oracle/rmanmydb.txt log=/home/oracle/mydb_backup.log append

 

[oracle@ln1 ~]$ cat rmanmydb.txt
RUN {
ALLOCATE CHANNEL c1 TYPE disk;
ALLOCATE CHANNEL c2 TYPE disk;
ALLOCATE CHANNEL c3 TYPE disk;
ALLOCATE CHANNEL c4 TYPE disk;
backup filesperset 3 database format '/media/mydbback/1320118228_%d_%T_%s_%p';
backup archivelog all delete input format '/media/mydbback/1320118228_%d_%T_%s_%p';
backup current controlfile format '/media/mydbback/1320118228_%d_%T_%s_%p';
delete noprompt obsolete device type disk;
release  CHANNEL c1;
release  CHANNEL c2;
release  CHANNEL c3;
release  CHANNEL c4;}

 

 

[oracle@localhost ~]$ rman target /


Recovery Manager: Release 10.2.0.1.0 - Production on Thu Jul 6 16:23:05 2017

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database (not started)

RMAN> set dbid=1320118228


executing command: SET DBID


RMAN> startup nomount


RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of startup command at 07/06/2017 16:25:45
RMAN-04014: startup failed: ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01262: Stat failed on a file destination directory
Linux-ia64 Error: 2: No such file or directory


RMAN> startup nomount


Segmentation fault
[oracle@localhost ~]$ rman target /


Recovery Manager: Release 10.2.0.1.0 - Production on Thu Jul 6 16:31:59 2017


Copyright (c) 1982, 2005, Oracle.  All rights reserved.


connected to target database (not started)


RMAN> set dbid=1320118228


executing command: SET DBID


RMAN> startup nomount


Oracle instance started


Total System Global Area    2147483648 bytes


Fixed Size                     1995784 bytes
Variable Size                301992952 bytes
Database Buffers            1828716544 bytes
Redo Buffers                  14778368 bytes


RMAN> restore spfile from '/oracle/mydbback/1320118228_mydb_20170706_8100_1';


Starting restore at 06-JUL-17
using channel ORA_DISK_1


RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 07/06/2017 16:41:44
RMAN-06564: must use the TO clause when the instance is started with SPFILE


RMAN>  restore controlfile from '/oracle/mydbback/1320118228_mydb_20170706_8100_1';
RMAN>  restore controlfile from '/oracle/mydbback/1320118228_mydb_20170706_8100_1';


Starting restore at 06-JUL-17
using channel ORA_DISK_1


channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
output filename=/oracle/oradata/mydb/controlfile/o1_mf_dovy39gj_.ctl
output filename=/oracle_back/flash_recovery_area/mydb/mydb/controlfile/o1_mf_dovy39sr_.ctl
Finished restore at 06-JUL-17


RMAN> alter database mount;


database mounted
released channel: ORA_DISK_1


RMAN> restore database;


Starting restore at 06-JUL-17
Starting implicit crosscheck backup at 06-JUL-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=541 devtype=DISK
Crosschecked 7 objects
Finished implicit crosscheck backup at 06-JUL-17


Starting implicit crosscheck copy at 06-JUL-17
using channel ORA_DISK_1
Crosschecked 5 objects
Finished implicit crosscheck copy at 06-JUL-17


searching for all files in the recovery area
cataloging files...
no files cataloged


using channel ORA_DISK_1


RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 07/06/2017 16:46:07
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 4 found to restore
RMAN-06023: no backup or copy of datafile 3 found to restore
RMAN-06023: no backup or copy of datafile 2 found to restore
RMAN-06023: no backup or copy of datafile 1 found to restore




RMAN> list backup of database;


using target database control file instead of recovery catalog


List of Backup Sets
===================


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
8026    Full    1.46G      DISK        00:01:46     06-JUL-17      
        BP Key: 8026   Status: EXPIRED  Compressed: NO  Tag: TAG20170706T145108
        Piece Name: /media/mydbback/1320118228_mydb_20170706_8095_1
  List of Datafiles in backup set 8026
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 606382997  06-JUL-17 /oracle/oradata/mydb/datafile/o1_mf_system_4sx1c19w_.dbf
  3       Full 606382997  06-JUL-17 /oracle/oradata/mydb/datafile/o1_mf_sysaux_4sx1c1lr_.dbf


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
8027    Full    6.78G      DISK        00:04:23     06-JUL-17      
        BP Key: 8027   Status: EXPIRED  Compressed: NO  Tag: TAG20170706T145108
        Piece Name: /media/mydbback/1320118228_mydb_20170706_8094_1
  List of Datafiles in backup set 8027
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  2       Full 606382996  06-JUL-17 /oracle/oradata/mydb/datafile/o1_mf_undotbs1_4sx1c1vh_.dbf
  4       Full 606382996  06-JUL-17 /oracle/oradata/mydb/datafile/o1_mf_users_4sx1c24d_.dbf


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
8028    Full    19.09G     DISK        00:09:18     06-JUL-17      
        BP Key: 8028   Status: EXPIRED  Compressed: NO  Tag: TAG20170706T145108
        Piece Name: /media/mydbback/1320118228_mydb_20170706_8093_1
  List of Datafiles in backup set 8028
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----

 

  5       Full 606382995  06-JUL-17 /oracle/oradata/mydb/datafile/nbdl.dbf

 

 

2.5.2 注册单个文件,也可以注册整个目录
---ASM:
CATALOG START WITH '+disk'; # catalog allfiles from an ASM disk group
--本地目录:最后一定要加/
CATALOG START WITH '/fs1/datafiles/'; #catalog all files in directory
--有多个目录,注册多次:

 


RMAN> CATALOG BACKUPPIECE '/oracle/mydbback/1320118228_mydb_20170706_8093_1';


cataloged backuppiece
backup piece handle=/oracle/mydbback/1320118228_mydb_20170706_8093_1 recid=8033 stamp=948646578


RMAN> CATALOG BACKUPPIECE '/oracle/mydbback/1320118228_mydb_20170706_8094_1';


cataloged backuppiece
backup piece handle=/oracle/mydbback/1320118228_mydb_20170706_8094_1 recid=8034 stamp=948646604


RMAN> CATALOG BACKUPPIECE '/oracle/mydbback/1320118228_mydb_20170706_8095_1';


cataloged backuppiece
backup piece handle=/oracle/mydbback/1320118228_mydb_20170706_8095_1 recid=8035 stamp=948646617


RMAN> CATALOG BACKUPPIECE '/oracle/mydbback/1320118228_mydb_20170706_8096_1';


cataloged backuppiece
backup piece handle=/oracle/mydbback/1320118228_mydb_20170706_8096_1 recid=8036 stamp=948646640


RMAN> CATALOG BACKUPPIECE '/oracle/mydbback/1320118228_mydb_20170706_8097_1';


cataloged backuppiece
backup piece handle=/oracle/mydbback/1320118228_mydb_20170706_8097_1 recid=8037 stamp=948646654


RMAN> CATALOG BACKUPPIECE '/oracle/mydbback/1320118228_mydb_20170706_8098_1';


cataloged backuppiece
backup piece handle=/oracle/mydbback/1320118228_mydb_20170706_8098_1 recid=8038 stamp=948646679


RMAN> CATALOG BACKUPPIECE '/oracle/mydbback/1320118228_mydb_20170706_8099_1';


cataloged backuppiece
backup piece handle=/oracle/mydbback/1320118228_mydb_20170706_8099_1 recid=8039 stamp=948646719


RMAN> CATALOG BACKUPPIECE '/oracle/mydbback/1320118228_mydb_20170706_8100_1';


cataloged backuppiece
backup piece handle=/oracle/mydbback/1320118228_mydb_20170706_8100_1 recid=8040 stamp=948646729


RMAN> list backup;




List of Backup Sets
===================


BS Key  Type LV Size
------- ---- -- ----------
8026    Full    1.46G
  List of Datafiles in backup set 8026
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  1       Full 606382997  06-JUL-17 /oracle/oradata/mydb/datafile/o1_mf_system_4sx1c19w_.dbf
  3       Full 606382997  06-JUL-17 /oracle/oradata/mydb/datafile/o1_mf_sysaux_4sx1c1lr_.dbf


  Backup Set Copy #1 of backup set 8026
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:01:46     06-JUL-17       NO         TAG20170706T145108


    List of Backup Pieces for backup set 8026 Copy #1
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8026    1   EXPIRED     /media/mydbback/1320118228_mydb_20170706_8095_1


  Backup Set Copy #2 of backup set 8026
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:01:46     06-JUL-17       NO         TAG20170706T145108


    List of Backup Pieces for backup set 8026 Copy #2
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8035    1   AVAILABLE   /oracle/mydbback/1320118228_mydb_20170706_8095_1


BS Key  Type LV Size
------- ---- -- ----------
8027    Full    6.78G
  List of Datafiles in backup set 8027
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  2       Full 606382996  06-JUL-17 /oracle/oradata/mydb/datafile/o1_mf_undotbs1_4sx1c1vh_.dbf
  4       Full 606382996  06-JUL-17 /oracle/oradata/mydb/datafile/o1_mf_users_4sx1c24d_.dbf


  Backup Set Copy #1 of backup set 8027
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:04:23     06-JUL-17       NO         TAG20170706T145108


    List of Backup Pieces for backup set 8027 Copy #1
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8027    1   EXPIRED     /media/mydbback/1320118228_mydb_20170706_8094_1


  Backup Set Copy #2 of backup set 8027
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:04:23     06-JUL-17       NO         TAG20170706T145108


    List of Backup Pieces for backup set 8027 Copy #2
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8034    1   AVAILABLE   /oracle/mydbback/1320118228_mydb_20170706_8094_1


BS Key  Type LV Size
------- ---- -- ----------
8028    Full    19.09G
  List of Datafiles in backup set 8028
  File LV Type Ckp SCN    Ckp Time  Name
  ---- -- ---- ---------- --------- ----
  5       Full 606382995  06-JUL-17 /oracle/oradata/mydb/datafile/nbdl.dbf


  Backup Set Copy #1 of backup set 8028
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:09:18     06-JUL-17       NO         TAG20170706T145108


    List of Backup Pieces for backup set 8028 Copy #1
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8028    1   EXPIRED     /media/mydbback/1320118228_mydb_20170706_8093_1


  Backup Set Copy #2 of backup set 8028
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:09:18     06-JUL-17       NO         TAG20170706T145108


    List of Backup Pieces for backup set 8028 Copy #2
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8033    1   AVAILABLE   /oracle/mydbback/1320118228_mydb_20170706_8093_1


BS Key  Size
------- ----------
8029    359.05M


  List of Archived Logs in backup set 8029
  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    20701   606103905  04-JUL-17 606127880  04-JUL-17
  1    20702   606127880  04-JUL-17 606155369  05-JUL-17
  1    20703   606155369  05-JUL-17 606183950  05-JUL-17
  1    20704   606183950  05-JUL-17 606216253  05-JUL-17
  1    20705   606216253  05-JUL-17 606244270  05-JUL-17
  1    20706   606244270  05-JUL-17 606267065  06-JUL-17
  1    20707   606267065  06-JUL-17 606292725  06-JUL-17
  1    20708   606292725  06-JUL-17 606345184  06-JUL-17
  1    20709   606345184  06-JUL-17 606383818  06-JUL-17


  Backup Set Copy #1 of backup set 8029
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:00:23     06-JUL-17       NO         TAG20170706T150036


    List of Backup Pieces for backup set 8029 Copy #1
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8029    1   EXPIRED     /media/mydbback/1320118228_mydb_20170706_8099_1


  Backup Set Copy #2 of backup set 8029
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:00:23     06-JUL-17       NO         TAG20170706T150036


    List of Backup Pieces for backup set 8029 Copy #2
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8039    1   AVAILABLE   /oracle/mydbback/1320118228_mydb_20170706_8099_1


BS Key  Size
------- ----------
8030    501.20M


  List of Archived Logs in backup set 8030
  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    20665   605258621  26-JUN-17 605287823  26-JUN-17
  1    20666   605287823  26-JUN-17 605315902  26-JUN-17
  1    20667   605315902  26-JUN-17 605322547  26-JUN-17
  1    20668   605322547  26-JUN-17 605350759  27-JUN-17
  1    20669   605350759  27-JUN-17 605384339  27-JUN-17
  1    20670   605384339  27-JUN-17 605414261  27-JUN-17
  1    20671   605414261  27-JUN-17 605435467  28-JUN-17
  1    20672   605435467  28-JUN-17 605447866  28-JUN-17
  1    20673   605447866  28-JUN-17 605480098  28-JUN-17
  1    20674   605480098  28-JUN-17 605509623  28-JUN-17
  1    20675   605509623  28-JUN-17 605527429  29-JUN-17
  1    20676   605527429  29-JUN-17 605550990  29-JUN-17


  Backup Set Copy #1 of backup set 8030
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:00:29     06-JUL-17       NO         TAG20170706T150036


    List of Backup Pieces for backup set 8030 Copy #1
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8030    1   EXPIRED     /media/mydbback/1320118228_mydb_20170706_8097_1


  Backup Set Copy #2 of backup set 8030
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:00:29     06-JUL-17       NO         TAG20170706T150036


    List of Backup Pieces for backup set 8030 Copy #2
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8037    1   AVAILABLE   /oracle/mydbback/1320118228_mydb_20170706_8097_1


BS Key  Size
------- ----------
8031    499.61M


  List of Archived Logs in backup set 8031
  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    20689   605775249  01-JUL-17 605809662  01-JUL-17
  1    20690   605809662  01-JUL-17 605836089  02-JUL-17
  1    20691   605836089  02-JUL-17 605859593  02-JUL-17
  1    20692   605859593  02-JUL-17 605891423  02-JUL-17
  1    20693   605891423  02-JUL-17 605926575  03-JUL-17
  1    20694   605926575  03-JUL-17 605942538  03-JUL-17
  1    20695   605942538  03-JUL-17 605978233  03-JUL-17
  1    20696   605978233  03-JUL-17 606009927  03-JUL-17
  1    20697   606009927  03-JUL-17 606026981  04-JUL-17
  1    20698   606026981  04-JUL-17 606045497  04-JUL-17
  1    20699   606045497  04-JUL-17 606071105  04-JUL-17
  1    20700   606071105  04-JUL-17 606103905  04-JUL-17


  Backup Set Copy #1 of backup set 8031
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:00:31     06-JUL-17       NO         TAG20170706T150036


    List of Backup Pieces for backup set 8031 Copy #1
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8031    1   EXPIRED     /media/mydbback/1320118228_mydb_20170706_8098_1


  Backup Set Copy #2 of backup set 8031
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:00:31     06-JUL-17       NO         TAG20170706T150036


    List of Backup Pieces for backup set 8031 Copy #2
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8038    1   AVAILABLE   /oracle/mydbback/1320118228_mydb_20170706_8098_1


BS Key  Size
------- ----------
8032    503.21M


  List of Archived Logs in backup set 8032
  Thrd Seq     Low SCN    Low Time  Next SCN   Next Time
  ---- ------- ---------- --------- ---------- ---------
  1    20677   605550990  29-JUN-17 605581139  29-JUN-17
  1    20678   605581139  29-JUN-17 605601367  29-JUN-17
  1    20679   605601367  29-JUN-17 605628700  30-JUN-17
  1    20680   605628700  30-JUN-17 605644283  30-JUN-17
  1    20681   605644283  30-JUN-17 605676074  30-JUN-17
  1    20682   605676074  30-JUN-17 605698490  30-JUN-17
  1    20683   605698490  30-JUN-17 605713689  01-JUL-17
  1    20684   605713689  01-JUL-17 605716951  01-JUL-17
  1    20685   605716951  01-JUL-17 605721096  01-JUL-17
  1    20686   605721096  01-JUL-17 605735708  01-JUL-17
  1    20687   605735708  01-JUL-17 605744758  01-JUL-17
  1    20688   605744758  01-JUL-17 605775249  01-JUL-17


  Backup Set Copy #1 of backup set 8032
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:00:33     06-JUL-17       NO         TAG20170706T150036


    List of Backup Pieces for backup set 8032 Copy #1
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8032    1   EXPIRED     /media/mydbback/1320118228_mydb_20170706_8096_1


  Backup Set Copy #2 of backup set 8032
  Device Type Elapsed Time Completion Time Compressed Tag
  ----------- ------------ --------------- ---------- ---
  DISK        00:00:33     06-JUL-17       NO         TAG20170706T150036


    List of Backup Pieces for backup set 8032 Copy #2
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    8036    1   AVAILABLE   /oracle/mydbback/1320118228_mydb_20170706_8096_1


BS Key  Type LV Size       Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
8033    Full    18.02M     DISK        00:00:00     06-JUL-17      
        BP Key: 8040   Status: AVAILABLE  Compressed: NO  Tag: TAG20170706T150115
        Piece Name: /oracle/mydbback/1320118228_mydb_20170706_8100_1
  Control File Included: Ckp SCN: 606384144    Ckp time: 06-JUL-17


RMAN> RESTORE DATABASE;


Starting restore at 06-JUL-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=541 devtype=DISK


channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to /oracle/oradata/mydb/datafile/o1_mf_system_4sx1c19w_.dbf
restoring datafile 00003 to /oracle/oradata/mydb/datafile/o1_mf_sysaux_4sx1c1lr_.dbf
channel ORA_DISK_1: reading from backup piece /oracle/mydbback/1320118228_mydb_20170706_8095_1
channel ORA_DISK_1: restored backup piece 1
piece handle=/oracle/mydbback/1320118228_mydb_20170706_8095_1 tag=TAG20170706T145108
channel ORA_DISK_1: restore complete, elapsed time: 00:00:36
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00002 to /oracle/oradata/mydb/datafile/o1_mf_undotbs1_4sx1c1vh_.dbf
restoring datafile 00004 to /oracle/oradata/mydb/datafile/o1_mf_users_4sx1c24d_.dbf
channel ORA_DISK_1: reading from backup piece /oracle/mydbback/1320118228_mydb_20170706_8094_1
channel ORA_DISK_1: restored backup piece 1
piece handle=/oracle/mydbback/1320118228_mydb_20170706_8094_1 tag=TAG20170706T145108
channel ORA_DISK_1: restore complete, elapsed time: 00:02:05
channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00005 to /oracle/oradata/mydb/datafile/nbdl.dbf
channel ORA_DISK_1: reading from backup piece /oracle/mydbback/1320118228_mydb_20170706_8093_1
channel ORA_DISK_1: restored backup piece 1
piece handle=/oracle/mydbback/1320118228_mydb_20170706_8093_1 tag=TAG20170706T145108
channel ORA_DISK_1: restore complete, elapsed time: 00:06:15
Finished restore at 06-JUL-17


RMAN> recover database;


Starting recover at 06-JUL-17
using channel ORA_DISK_1


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=20709
channel ORA_DISK_1: reading from backup piece /oracle/mydbback/1320118228_mydb_20170706_8099_1
channel ORA_DISK_1: restored backup piece 1
piece handle=/oracle/mydbback/1320118228_mydb_20170706_8099_1 tag=TAG20170706T150036
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
archive log filename=/oracle_back/flash_recovery_area/mydb/mydb/archivelog/2017_07_06/o1_mf_1_20709_dovzogxo_.arc thread=1 sequence=20709
channel default: deleting archive log(s)
archive log filename=/oracle_back/flash_recovery_area/mydb/mydb/archivelog/2017_07_06/o1_mf_1_20709_dovzogxo_.arc recid=20701 stamp=948647471
unable to find archive log
archive log thread=1 sequence=20710
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 07/06/2017 17:11:16
RMAN-06054: media recovery requesting unknown log: thread 1 seq 20710 lowscn 606383818


RMAN> shutdown immediate


database dismounted
Oracle instance shut down


RMAN> 


[oracle@localhost ~]$ sqlplus / as sysdba


SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 6 17:11:59 2017


Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to an idle instance.


SQL> startup
ORACLE instance started.


Total System Global Area 2147483648 bytes
Fixed Size                  1995784 bytes
Variable Size             301992952 bytes
Database Buffers         1828716544 bytes
Redo Buffers               14778368 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open
SQL> alter database open resetlogs;


Database altered.


Oracle RMAN 将 备份集 重新 注册到控制文件 说明
2.5 将备份集重新注册到控制文件
因为之前备份集的位置发生改变,导致corsscheck之后,将之前备份的记录标记为expired,我们后来手工删除了这些expired的备份集信息。
现在我们要进行恢复,必须将之前的备份信息重新注册到控制文件中来。
2.5.1 方法一:注册单个备份片
RMAN> CATALOG BACKUPPIECE '/u01/bak/arch_0no76njh_1_1_20130416','/u01/bak/ctl_file_0oo76njm_1_1_20130416';
cataloged backup piece
backup piecehandle=/u01/bak/arch_0no76njh_1_1_20130416 RECID=25 STAMP=812872014
cataloged backup piece
backup piece handle=/u01/bak/ctl_file_0oo76njm_1_1_20130416RECID=26 STAMP=812872014
--可以正常查看:
RMAN> list backupset summary;
List of Backups
===============
Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- ---------------------- ------- ---------- ---
25 B A A DISK 16-APR-13 1 1 NO ARC_BAK
26 B F A DISK 16-APR-13 1 1 NO BAK_CTLFILE
RMAN> catalog start with'/data01/';
2.5.2 方法二:注册整个目录
---ASM:
CATALOG START WITH '+disk'; # catalog allfiles from an ASM disk group
--本地目录:最后一定要加/
CATALOG START WITH '/fs1/datafiles/'; #catalog all files in directory
--有多个目录,注册多次:
RMAN> catalog start with'/data01/'; 
RMAN>catalog start with '/data02/'; 
RMAN>catalog start with '/data03/';
--示例:
RMAN> catalog start with '/u01/bak';
searching for all files that match thepattern /u01/bak
List of Files Unknown to the Database
=====================================
File Name: /u01/bak/dave_lev0_0io76nh7_1_1_20130416
File Name:/u01/bak/dave_lev0_21o687pl_1_1_20130404
File Name:/u01/bak/dave_spfile_1mo65679_1_1_20130403
File Name:/u01/bak/arch_27o687s8_1_1_20130404
File Name:/u01/bak/ctl_file_2ao6vobb_1_1_20130413
File Name: /u01/bak/arch_26o687rp_1_1_20130404
File Name:/u01/bak/arch_1ho6566m_1_1_20130403
File Name:/u01/bak/dave_lev0_20o687pl_1_1_20130404
File Name:/u01/bak/arch_1io6566n_1_1_20130403
File Name:/u01/bak/dave_spfile_29o687sc_1_1_20130404
File Name: /u01/bak/ctl_file_1lo65676_1_1_20130403
File Name: /u01/bak/block_change_tracking.f
File Name:/u01/bak/ctl_file_28o687sa_1_1_20130404
File Name:/u01/bak/dave_lev0_0ko76nim_1_1_20130416
File Name:/u01/bak/dave_lev0_22o687qp_1_1_20130404
File Name: /u01/bak/dave_lev0_0jo76nh7_1_1_20130416


Do you really want to catalog the abovefiles (enter YES or NO)? YES
cataloging files...
cataloging done


List of Cataloged Files


=======================


File Name:/u01/bak/dave_lev0_0io76nh7_1_1_20130416
File Name: /u01/bak/ctl_file_2ao6vobb_1_1_20130413
File Name:/u01/bak/dave_lev0_0ko76nim_1_1_20130416
File Name:/u01/bak/dave_lev0_0jo76nh7_1_1_20130416


 


List of Files Which Where Not Cataloged


=======================================
File Name: /u01/bak/dave_lev0_21o687pl_1_1_20130404
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
File Name:/u01/bak/dave_spfile_1mo65679_1_1_20130403
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
File Name: /u01/bak/arch_27o687s8_1_1_20130404
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
File Name:/u01/bak/arch_26o687rp_1_1_20130404
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
File Name: /u01/bak/arch_1ho6566m_1_1_20130403
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
File Name:/u01/bak/dave_lev0_20o687pl_1_1_20130404
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
File Name: /u01/bak/arch_1io6566n_1_1_20130403
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
File Name:/u01/bak/dave_spfile_29o687sc_1_1_20130404
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
File Name:/u01/bak/ctl_file_1lo65676_1_1_20130403
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
File Name: /u01/bak/block_change_tracking.f
RMAN-07529: Reason: catalog is not supported for this file type
File Name: /u01/bak/ctl_file_28o687sa_1_1_20130404
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
File Name:/u01/bak/dave_lev0_22o687qp_1_1_20130404
RMAN-07518: Reason: Foreign database file DBID: 854240218 Database Name: DAVE
RMAN>


--验证:


RMAN> list backupset summary;




List of Backups


===============


Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag


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


25 B A A DISK 16-APR-13 1 1 NO ARC_BAK


26 B F A DISK 16-APR-13 1 1 NO BAK_CTLFILE


27 B 0 A DISK 16-APR-13 1 1 NO DAVE_LEV0


28 B F A DISK 13-APR-13 1 1 NO BAK_CTLFILE


29 B 0 A DISK 16-APR-13 1 1 NO DAVE_LEV0


30 B 0 A DISK 16-APR-13 1 1 NO DAVE_LEV0

 

<think> 首先,用户的问题是:“我想获取oracle数据库恢复测试操作的教程”,意思是“我想要获取Oracle数据库恢复测试操作的教程”。用户指定了“恢复测试操作”,这涉及到测试数据库恢复的过程。 回顾系统级指令: - 所有行内数学表达式必须使用$...$格式。 - 独立公式必须使用$$...$$$$格式并单独成段。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 用户提供了一些引用: - 引用[1]: Oracle数据库的备份恢复测试方法,面向DBA、运维等人员,文档结构概述。 - 引用[2]: Oracle数据库实验总集,实验八:Oracle数据库备份与恢复,包括冷备份、热备份、数据泵工具等。 - 引用[3]: Oracle数据库备份与恢复实验报告,详细步骤如修改控制文件、使用热备份恢复等。 - 引用[4]: Oracle数据库基础教程,介绍备份方式如RMAN- 引用[5]: Oracle Recovery Tools,用于坏块修复等。 用户说:“上述引用仅供参考,并不是用户真正的需求,请尽可能多的参考用户上一次的问题和你的回答。” 意思是我应该参考用户上一次的问题和我的回答。 在历史消息中: - 用户的上一次问题是:“我想获取oracle数据库恢复测试操作的教程”,但这是当前问题;在上下文之前,有系统指令示例,但没有之前的用户问题。系统消息是初始指令,然后是用户的这次查询。所以,没有之前的用户问题;这是我第一次回答这个用户。 用户说:“请尽可能多的参考用户上一次的问题和你的回答”,但在这个对话中,这是第一个用户消息(除了系统指令)。系统指令部分是关于快速排序的示例,但那不是用户的问题。所以,我可能不需要参考任何之前的用户问题;只需基于当前查询。 现在,用户的核心需求是获取Oracle数据库恢复测试操作的教程。教程应该步骤清晰、指导用户如何进行恢复测试。 从引用中提取关键信息: - 引用[2]提到冷备份、热备份、数据泵、恢复实验。 - 引用[3]提供具体步骤如修改控制文件、执行不完全恢复- 引用[4]提到使用RMAN进行备份和恢复- 引用[5]介绍恢复工具如坏块修复。 基于这些,我应该构建一个结构化的教程。 回答结构: - 保持中文。 - 结构清晰,逐步解决问题。 - 包含相关代码或命令示例。 - 在适当的地方添加引用标识(引用[1]到[^5])。 - 最后生成相关问题。 大纲教程内容: 1. **引言**:介绍恢复测试的重要性。 2. **准备阶段**:确保有可靠的备份。 3. **备份方式**:冷备份、热备份、使用RMAN。 4. **恢复测试步骤**: - 模拟故障(如数据文件损坏)。 - 执行恢复(完全恢复、不完全恢复)。 - 使用工具如RMAN或手工恢复。 5. **验证恢复**:检查数据库完整性。 6. **常见问题和工具**:如Oracle Recovery Tools用于坏块修复。 7. **结论**:总结关键点。 添加引用: - 例如,当提到备份方法时,添加引用[^2]或[^4]。 - 自然地集成,如:在描述热备份后添加[^3]。 生成相关问题: - 在回答末尾,类似于示例,添加“§§相关问题§§”部分。 确保符合指令: - 行内数学表达式:如果有变量等,但Oracle教程可能没有数学,所以可能不需要。如果有,如SCN(System Change Number),使用$SCN$。 - 独立公式:不太可能,但如果有,使用$$...$$。 - LaTeX正确:用$包裹变量。 最终回答结构: - 标题:Oracle数据库恢复测试操作教程 - 逐步内容 - 代码块用于命令示例 - 最后生成相关问题 </think> ### Oracle数据库恢复测试操作教程 以下是Oracle数据库恢复测试操作的结构化教程。恢复测试是验证备份有效性和数据库恢复性的关键环节,旨在确保在真实故障场景中数据能安全恢复。本教程基于Oracle官方最佳实践和常见行业方法,结合了冷备份、热备份、RMAN工具等关键技术。教程将分步指导您完成测试操作,包括准备、执行恢复和验证恢复结果。每个步骤均附实用命令示例和引用来源。 #### 1. **恢复测试概述** 恢复测试的核心目标是模拟数据库故障(如数据文件损坏、控制文件丢失),执行恢复流程,并验证数据一致性和完整性。测试前需确保: - 数据库处于归档模式(ARCHIVELOG),支持热备份和不完全恢复- 有完整的备份集(包括数据文件、控制文件、归档日志)。 - 测试环境隔离(如非生产环境),避免影响业务。 参考:[Oracle数据库备份恢复测试重要性][^1] #### 2. **测试准备工作** 在开始恢复测试前,完成以下准备: - **步骤1: 创建可靠备份** - **冷备份(关闭数据库)**:适用于小型数据库或维护窗口。 ```bash # 关闭数据库 SQL> SHUTDOWN IMMEDIATE; # 备份所有数据文件、控制文件和重做日志 $ cp -r /u01/oradata/ORCL /backup/cold_backup # 启动数据库 SQL> STARTUP; ``` - **热备份(在线备份)**:适用于高可用环境,数据库运行时备份表空间。 ```bash # 设置表空间为备份模式 SQL> ALTER TABLESPACE users BEGIN BACKUP; # 复制表空间数据文件 $ cp /u01/oradata/ORCL/users01.dbf /backup/hot_backup/ # 结束备份模式 SQL> ALTER TABLESPACE users END BACKUP; ``` - **使用RMAN工具备份**:推荐方式,支持增量备份和自动化。 ```bash rman target / RMAN> BACKUP DATABASE PLUS ARCHIVELOG; # 备份全库和归档日志 RMAN> LIST BACKUP; # 验证备份集 ``` 参考:[冷备份和热备份方法][^2],[RMAN备份命令][^4] - **步骤2: 模拟故障场景** - 人为创建故障,如删除数据文件或损坏控制文件: ```bash # 模拟数据文件损坏 $ rm /u01/oradata/ORCL/users01.dbf # 或修改参数文件注释控制文件(模拟控制文件丢失) SQL> ALTER SYSTEM SET control_files='/u01/oradata/ORCL/control01.ctl' SCOPE=SPFILE; -- 移除其他路径 SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP; # 启动时报错,验证故障 ``` 参考:[故障模拟方法][^3] #### 3. **恢复测试执行步骤** 根据故障类型选择恢复方法: - **完全恢复(数据文件损坏)** - 使用RMAN恢复数据文件: ```bash rman target / RMAN> RESTORE DATABASE; # 还原备份 RMAN> RECOVER DATABASE; # 应用归档日志恢复 RMAN> ALTER DATABASE OPEN; # 打开数据库 ``` - 手工热备份恢复: ```bash SQL> STARTUP MOUNT; SQL> ALTER DATABASE DATAFILE '/u01/oradata/ORCL/users01.dbf' OFFLINE; SQL> !cp /backup/hot_backup/users01.dbf /u01/oradata/ORCL/ # 替换损坏文件 SQL> RECOVER DATAFILE '/u01/oradata/ORCL/users01.dbf'; # 恢复数据文件 SQL> ALTER DATABASE OPEN; ``` 参考:[热备份恢复步骤][^3] - **不完全恢复(控制文件丢失或基于时间点恢复)** - 基于SCN(System Change Number)恢复: ```bash SQL> STARTUP MOUNT; # 查询当前SCN或目标SCN SQL> SELECT checkpoint_change# FROM v$database; # 使用备份控制文件恢复 SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CHANGE $target_scn; # $target_scn为指定SCN SQL> ALTER DATABASE OPEN RESETLOGS; # 重置日志 ``` - 基于时间恢复: ```bash SQL> RECOVER DATABASE UNTIL TIME "TO_DATE('2023-10-01 12:00:00', 'YYYY-MM-DD HH24:MI:SS')"; SQL> ALTER DATABASE OPEN RESETLOGS; ``` 参考:[不完全恢复操作][^3] - **工具辅助恢复(坏块修复)** - 使用Oracle Recovery Tools修复损坏块: ```bash # 标记坏块并修复 SQL> ALTER SYSTEM SET "_allow_resetlogs_corruption"=TRUE; # 允许损坏修复 # 使用工具修正SCN或复制数据块 $ oracle_recovery_tool --fix-block --file=/u01/oradata/ORCL/users01.dbf --block=123 ``` 参考:[Oracle Recovery Tools使用方法][^5] #### 4. **恢复结果验证** 恢复后必须验证数据一致性和业务功能: - **验证数据完整性**: ```bash SQL> SELECT * FROM dba_data_files WHERE status != 'AVAILABLE'; # 检查文件状态 SQL> EXECUTE dbms_utility.analyze_schema('SCOTT', 'COMPUTE'); # 分析表结构 SQL> SELECT * FROM user_errors; # 查找错误 ``` - **测试业务查询**: ```sql SELECT COUNT(*) FROM orders; -- 确保关键表数据完整 ``` - **生成测试报告**:记录恢复时间、数据损失量(如行数变化)和错误日志。 参考:[备份恢复有效性验证][^2] #### 5. **最佳实践和注意事项** - **测试频率**:建议每季度执行一次恢复测试,尤其在高变更环境后。 - **归档模式**:始终启用ARCHIVELOG模式(`ALTER DATABASE ARCHIVELOG;`),支持点恢复- **自动化脚本**:使用RMAN脚本自动化测试: ```bash rman target / cmdfile=recovery_test.rman ``` 脚本内容示例: ```sql RUN { RESTORE DATABASE VALIDATE; # 验证备份可恢复性 RESTORE DATABASE PREVIEW; # 预览恢复计划 } ``` - **常见问题处理**: - 恢复失败:检查归档日志连续性(`SQL> SELECT sequence# FROM v$archived_log;`)。 - RESETLOGS后问题:确保备份包含恢复点之前的日志[^3]。 恢复测试不仅能验证备份有效性,还能锻炼故障响应能力。通过定期测试,可确保在真实灾难中快速恢复,减少数据损失风险[^1][^2]。 如需深入工具使用或脚本示例,参考Oracle官方文档或专业工具如[RMAN][^4]和[Oracle Recovery Tools][^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值