使用rman备份
使用rman备份前Oracle必须要先开启归档日志
SQL> archive log list;
当前是处于开启归档状态如未开启可借鉴Oracle开启归档模式https://blog.csdn.net/weixin_45833902/article/details/106634230
登录rman工具
[oracle@zzw ~]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Sun Jun 14 16:28:54 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: CISDB (DBID=87462260, not open)
对数据库进行全备份
RMAN> backup database;
Starting backup at 2020-06-14 15:43:46
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=9 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00005 name=/home/db/oracle/oradata/cisdb/ogg_tbs_01.dbf
input datafile file number=00001 name=/home/db/oracle/oradata/cisdb/system01.dbf
input datafile file number=00002 name=/home/db/oracle/oradata/cisdb/sysaux01.dbf
input datafile file number=00003 name=/home/db/oracle/oradata/cisdb/undotbs01.dbf
input datafile file number=00004 name=/home/db/oracle/oradata/cisdb/users01.dbf
channel ORA_DISK_1: starting piece 1 at 2020-06-14 15:43:46
channel ORA_DISK_1: finished piece 1 at 2020-06-14 15:45:03
piece handle=/home/db/oracle/fast_recovery_area/CISDB/backupset/2020_06_14/o1_mf_nnndf_TAG20200614T154346_hgco9m0o_.bkp tag=TAG20200614T154346 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:17
Finished backup at 2020-06-14 15:45:03
Starting Control File and SPFILE Autobackup at 2020-06-14 15:45:03
piece handle=/home/db/oracle/fast_recovery_area/CISDB/autobackup/2020_06_14/o1_mf_s_1043077503_hgcocz45_.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 2020-06-14 15:45:04
查看备份是否成功或查看之前备份
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
1 Full 1.03G DISK 00:03:02 2020-06-09 17:05:40
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20200609T170238
Piece Name: /home/db/oracle/fast_recovery_area/CISDB/backupset/2020_06_09/o1_mf_nnndf_TAG20200609T170238_hfyn1g4h_.bkp
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------- ----
1 Full 1353764 2020-06-09 17:02:38 /home/db/oracle/oradata/cisdb/system01.dbf
2 Full 1353764 2020-06-09 17:02:38 /home/db/oracle/oradata/cisdb/sysaux01.dbf
3 Full 1353764 2020-06-09 17:02:38 /home/db/oracle/oradata/cisdb/undotbs01.dbf
4 Full 1353764 2020-06-09 17:02:38 /home/db/oracle/oradata/cisdb/users01.dbf
5 Full 1353764 2020-06-09 17:02:38 /home/db/oracle/oradata/cisdb/ogg_tbs_01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
2 Full 9.36M DISK 00:00:01 2020-06-09 17:05:52
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20200609T170238
Piece Name: /home/db/oracle/fast_recovery_area/CISDB/backupset/2020_06_09/o1_mf_ncsnf_TAG20200609T170238_hfyn7j77_.bkp
SPFILE Included: Modification time: 2020-06-09 15:21:17
SPFILE db_unique_name: CISDB
Control File Included: Ckp SCN: 1353831 Ckp time: 2020-06-09 17:05:50
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
3 Full 1.03G DISK 00:09:59 2020-06-09 22:10:41
BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20200609T220042
Piece Name: /home/db/oracle/fast_recovery_area/CISDB/backupset/2020_06_09/o1_mf_nnndf_TAG20200609T220042_hfz5jn00_.bkp
List of Datafiles in backup set 3
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------- ----
1 Full 1378912 2020-06-09 22:00:43 /home/db/oracle/oradata/cisdb/system01.dbf
2 Full 1378912 2020-06-09 22:00:43 /home/db/oracle/oradata/cisdb/sysaux01.dbf
3 Full 1378912 2020-06-09 22:00:43 /home/db/oracle/oradata/cisdb/undotbs01.dbf
4 Full 1378912 2020-06-09 22:00:43 /home/db/oracle/oradata/cisdb/users01.dbf
5 Full 1378912 2020-06-09 22:00:43 /home/db/oracle/oradata/cisdb/ogg_tbs_01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
4 Full 9.36M DISK 00:00:02 2020-06-09 22:10:53
BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20200609T221051
Piece Name: /home/db/oracle/fast_recovery_area/CISDB/autobackup/2020_06_09/o1_mf_s_1042668651_hfz63dld_.bkp
SPFILE Included: Modification time: 2020-06-09 19:25:28
SPFILE db_unique_name: CISDB
Control File Included: Ckp SCN: 1383081 Ckp time: 2020-06-09 22:10:51
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
5 Full 9.36M DISK 00:00:01 2020-06-14 15:19:33
BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20200614T151932
Piece Name: /home/db/oracle/fast_recovery_area/CISDB/autobackup/2020_06_14/o1_mf_s_1043075972_hgcmw53l_.bkp
SPFILE Included: Modification time: 2020-06-14 15:11:36
SPFILE db_unique_name: CISDB
Control File Included: Ckp SCN: 1409100 Ckp time: 2020-06-14 15:19:32
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
6 Full 1.06G DISK 00:01:12 2020-06-14 15:44:58
BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20200614T154346
Piece Name: /home/db/oracle/fast_recovery_area/CISDB/backupset/2020_06_14/o1_mf_nnndf_TAG20200614T154346_hgco9m0o_.bkp
List of Datafiles in backup set 6
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------- ----
1 Full 1410727 2020-06-14 15:43:47 /home/db/oracle/oradata/cisdb/system01.dbf
2 Full 1410727 2020-06-14 15:43:47 /home/db/oracle/oradata/cisdb/sysaux01.dbf
3 Full 1410727 2020-06-14 15:43:47 /home/db/oracle/oradata/cisdb/undotbs01.dbf
4 Full 1410727 2020-06-14 15:43:47 /home/db/oracle/oradata/cisdb/users01.dbf
5 Full 1410727 2020-06-14 15:43:47 /home/db/oracle/oradata/cisdb/ogg_tbs_01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
7 Full 9.36M DISK 00:00:00 2020-06-14 15:45:03
BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20200614T154503
Piece Name: /home/db/oracle/fast_recovery_area/CISDB/autobackup/2020_06_14/o1_mf_s_1043077503_hgcocz45_.bkp
SPFILE Included: Modification time: 2020-06-14 15:20:09
SPFILE db_unique_name: CISDB
Control File Included: Ckp SCN: 1410759 Ckp time: 2020-06-14 15:45:03
可以看到我一共进行过三次全备份
使用rman备份实现恢复
现在假设有一个数据文件被我误删除了
先把数据库给停了
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
[oracle@zzw dbhome_1]$ cd /home/db/oracle/oradata/cisdb
[oracle@zzw cisdb]$ ll
total 7335952
-rwxr-xr-x. 1 oracle oinstall 9748480 Jun 14 15:15 control01.ctl
-rwxr-xr-x. 1 oracle oinstall 5368717312 Jun 14 15:03 ogg_tbs_01.dbf
-rwxr-xr-x. 1 oracle oinstall 209715712 Jun 14 13:58 redo01.log
-rwxr-xr-x. 1 oracle oinstall 209715712 Jun 14 13:03 redo02.log
-rwxr-xr-x. 1 oracle oinstall 209715712 Jun 14 13:03 redo03.log
-rwxr-xr-x. 1 oracle oinstall 587210752 Jun 14 15:13 sysaux01.dbf
-rwxr-xr-x. 1 oracle oinstall 786440192 Jun 14 15:13 system01.dbf
-rwxr-xr-x. 1 oracle oinstall 47194112 Jun 14 13:04 temp01.dbf
-rwxr-xr-x. 1 oracle oinstall 73408512 Jun 14 15:12 undotbs01.dbf
-rw-r-----. 1 oracle oinstall 53747712 Jun 14 15:12 users01.dbf
[oracle@zzw cisdb]$ rm users01.dbf
[oracle@zzw cisdb]$ ll
total 7283464
-rwxr-xr-x. 1 oracle oinstall 9748480 Jun 14 16:19 control01.ctl
-rwxr-xr-x. 1 oracle oinstall 5368717312 Jun 14 16:19 ogg_tbs_01.dbf
-rwxr-xr-x. 1 oracle oinstall 209715712 Jun 14 16:19 redo01.log
-rwxr-xr-x. 1 oracle oinstall 209715712 Jun 14 15:19 redo02.log
-rwxr-xr-x. 1 oracle oinstall 209715712 Jun 14 15:19 redo03.log
-rwxr-xr-x. 1 oracle oinstall 587210752 Jun 14 16:19 sysaux01.dbf
-rwxr-xr-x. 1 oracle oinstall 786440192 Jun 14 16:19 system01.dbf
-rwxr-xr-x. 1 oracle oinstall 47194112 Jun 14 16:07 temp01.dbf
-rwxr-xr-x. 1 oracle oinstall 73408512 Jun 14 16:19 undotbs01.dbf
数据库启为mount状态
SQL> startup mount
ORACLE instance started.
Total System Global Area 1887350784 bytes
Fixed Size 2254344 bytes
Variable Size 503319032 bytes
Database Buffers 1375731712 bytes
Redo Buffers 6045696 bytes
Database mounted.
登录到rman工具进行备份恢复
[oracle@saperp admin]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Sat May 2 20:47:10 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ERP (DBID=278491646)
恢复users01.dbf 文件
通过list backup可知users01.dbf为datafile 4
6 Full 1.06G DISK 00:01:12 2020-06-14 15:44:58
BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20200614T154346
Piece Name: /home/db/oracle/fast_recovery_area/CISDB/backupset/2020_06_14/o1_mf_nnndf_TAG20200614T154346_hgco9m0o_.bkp
List of Datafiles in backup set 6
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- ------------------- ----
1 Full 1410727 2020-06-14 15:43:47 /home/db/oracle/oradata/cisdb/system01.dbf
2 Full 1410727 2020-06-14 15:43:47 /home/db/oracle/oradata/cisdb/sysaux01.dbf
3 Full 1410727 2020-06-14 15:43:47 /home/db/oracle/oradata/cisdb/undotbs01.dbf
4 Full 1410727 2020-06-14 15:43:47 /home/db/oracle/oradata/cisdb/users01.dbf
5 Full 1410727 2020-06-14 15:43:47 /home/db/oracle/oradata/cisdb/ogg_tbs_01.dbf
开始恢复users01.dbf文件
RMAN> restore datafile 4;
Starting restore at 2020-06-14 21:12:32
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=249 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /home/db/oracle/oradata/erp/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /home/db/oracle/oradata/erp/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /home/db/oracle/oradata/erp/undotbs1.dbf
channel ORA_DISK_1: restoring datafile 00004 to /home/db/oracle/oradata/erp/PARTTBS103.dbf
channel ORA_DISK_1: restoring datafile 00005 to /home/db/oracle/oradata/erp/PARTTBS102.dbf
channel ORA_DISK_1: restoring datafile 00006 to /home/db/oracle/oradata/erp/PARTTBS101.dbf
channel ORA_DISK_1: restoring datafile 00007 to /home/db/oracle/oradata/erp/USERS01.dbf
channel ORA_DISK_1: restoring datafile 00008 to /home/db/oracle/oradata/erp/JYCTBS03.dbf
channel ORA_DISK_1: restoring datafile 00009 to /home/db/oracle/oradata/erp/JYCTBS02.dbf
channel ORA_DISK_1: restoring datafile 00010 to /home/db/oracle/oradata/erp/JYCTBS01.dbf
channel ORA_DISK_1: restoring datafile 00011 to /home/db/oracle/oradata/erp/TESTTBS103.dbf
channel ORA_DISK_1: restoring datafile 00012 to /home/db/oracle/oradata/erp/TESTTBS102.dbf
channel ORA_DISK_1: restoring datafile 00013 to /home/db/oracle/oradata/erp/TESTTBS101.dbf
channel ORA_DISK_1: restoring datafile 00014 to /home/db/oracle/oradata/erp/TESTTBS202.dbf
channel ORA_DISK_1: restoring datafile 00015 to /home/db/oracle/oradata/erp/TESTTBS201.dbf
channel ORA_DISK_1: restoring datafile 00016 to /home/db/oracle/oradata/erp/APEX_1301369653334498.dbf
channel ORA_DISK_1: restoring datafile 00017 to /home/db/oracle/oradata/erp/APEX_1706321139930175.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/dmp/bk_20_1_1039381174
channel ORA_DISK_1: piece handle=/home/oracle/dmp/bk_20_1_1039381174 tag=HOT_DB_BK_LEVEL0
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
Finished restore at 2020-06-14 21:12:32
RMAN> recover datafile 4;
Starting recover at 2020-06-14 21:12:32
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
destination for restore of datafile 00001: /home/db/oracle/oradata/erp/system01.dbf
destination for restore of datafile 00002: /home/db/oracle/oradata/erp/sysaux01.dbf
destination for restore of datafile 00003: /home/db/oracle/oradata/erp/undotbs1.dbf
destination for restore of datafile 00004: /home/db/oracle/oradata/erp/PARTTBS103.dbf
destination for restore of datafile 00005: /home/db/oracle/oradata/erp/PARTTBS102.dbf
destination for restore of datafile 00006: /home/db/oracle/oradata/erp/PARTTBS101.dbf
destination for restore of datafile 00007: /home/db/oracle/oradata/erp/USERS01.dbf
destination for restore of datafile 00008: /home/db/oracle/oradata/erp/JYCTBS03.dbf
destination for restore of datafile 00009: /home/db/oracle/oradata/erp/JYCTBS02.dbf
destination for restore of datafile 00010: /home/db/oracle/oradata/erp/JYCTBS01.dbf
destination for restore of datafile 00011: /home/db/oracle/oradata/erp/TESTTBS103.dbf
destination for restore of datafile 00012: /home/db/oracle/oradata/erp/TESTTBS102.dbf
destination for restore of datafile 00013: /home/db/oracle/oradata/erp/TESTTBS101.dbf
destination for restore of datafile 00014: /home/db/oracle/oradata/erp/TESTTBS202.dbf
destination for restore of datafile 00015: /home/db/oracle/oradata/erp/TESTTBS201.dbf
destination for restore of datafile 00016: /home/db/oracle/oradata/erp/APEX_1301369653334498.dbf
destination for restore of datafile 00017: /home/db/oracle/oradata/erp/APEX_1706321139930175.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/dmp/bk_22_1_1039381211
channel ORA_DISK_1: piece handle=/home/oracle/dmp/bk_22_1_1039381211 tag=HOT_DB_BK_LEVEL1
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
starting media recovery
archived log for thread 1 with sequence 44 is already on disk as file /home/db/oracle/oradata/erp/redo02.log
archived log file name=/home/db/oracle/oradata/erp/redo02.log thread=1 sequence=44
media recovery complete, elapsed time: 00:00:00
Finished recover at 2020-06-14 21:12:32
RMAN> alter database open;
database opened
全库恢复
RMAN> restore database;
Starting restore at 2020-05-02 21:12:32
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=249 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /home/db/oracle/oradata/erp/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /home/db/oracle/oradata/erp/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /home/db/oracle/oradata/erp/undotbs1.dbf
channel ORA_DISK_1: restoring datafile 00004 to /home/db/oracle/oradata/erp/PARTTBS103.dbf
channel ORA_DISK_1: restoring datafile 00005 to /home/db/oracle/oradata/erp/PARTTBS102.dbf
channel ORA_DISK_1: restoring datafile 00006 to /home/db/oracle/oradata/erp/PARTTBS101.dbf
channel ORA_DISK_1: restoring datafile 00007 to /home/db/oracle/oradata/erp/USERS01.dbf
channel ORA_DISK_1: restoring datafile 00008 to /home/db/oracle/oradata/erp/JYCTBS03.dbf
channel ORA_DISK_1: restoring datafile 00009 to /home/db/oracle/oradata/erp/JYCTBS02.dbf
channel ORA_DISK_1: restoring datafile 00010 to /home/db/oracle/oradata/erp/JYCTBS01.dbf
channel ORA_DISK_1: restoring datafile 00011 to /home/db/oracle/oradata/erp/TESTTBS103.dbf
channel ORA_DISK_1: restoring datafile 00012 to /home/db/oracle/oradata/erp/TESTTBS102.dbf
channel ORA_DISK_1: restoring datafile 00013 to /home/db/oracle/oradata/erp/TESTTBS101.dbf
channel ORA_DISK_1: restoring datafile 00014 to /home/db/oracle/oradata/erp/TESTTBS202.dbf
channel ORA_DISK_1: restoring datafile 00015 to /home/db/oracle/oradata/erp/TESTTBS201.dbf
channel ORA_DISK_1: restoring datafile 00016 to /home/db/oracle/oradata/erp/APEX_1301369653334498.dbf
channel ORA_DISK_1: restoring datafile 00017 to /home/db/oracle/oradata/erp/APEX_1706321139930175.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/dmp/bk_20_1_1039381174
channel ORA_DISK_1: piece handle=/home/oracle/dmp/bk_20_1_1039381174 tag=HOT_DB_BK_LEVEL0
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
Finished restore at 2020-05-02 21:12:35
RMAN> recover database;
Starting recover at 2020-05-02 21:13:21
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
destination for restore of datafile 00001: /home/db/oracle/oradata/erp/system01.dbf
destination for restore of datafile 00002: /home/db/oracle/oradata/erp/sysaux01.dbf
destination for restore of datafile 00003: /home/db/oracle/oradata/erp/undotbs1.dbf
destination for restore of datafile 00004: /home/db/oracle/oradata/erp/PARTTBS103.dbf
destination for restore of datafile 00005: /home/db/oracle/oradata/erp/PARTTBS102.dbf
destination for restore of datafile 00006: /home/db/oracle/oradata/erp/PARTTBS101.dbf
destination for restore of datafile 00007: /home/db/oracle/oradata/erp/USERS01.dbf
destination for restore of datafile 00008: /home/db/oracle/oradata/erp/JYCTBS03.dbf
destination for restore of datafile 00009: /home/db/oracle/oradata/erp/JYCTBS02.dbf
destination for restore of datafile 00010: /home/db/oracle/oradata/erp/JYCTBS01.dbf
destination for restore of datafile 00011: /home/db/oracle/oradata/erp/TESTTBS103.dbf
destination for restore of datafile 00012: /home/db/oracle/oradata/erp/TESTTBS102.dbf
destination for restore of datafile 00013: /home/db/oracle/oradata/erp/TESTTBS101.dbf
destination for restore of datafile 00014: /home/db/oracle/oradata/erp/TESTTBS202.dbf
destination for restore of datafile 00015: /home/db/oracle/oradata/erp/TESTTBS201.dbf
destination for restore of datafile 00016: /home/db/oracle/oradata/erp/APEX_1301369653334498.dbf
destination for restore of datafile 00017: /home/db/oracle/oradata/erp/APEX_1706321139930175.dbf
channel ORA_DISK_1: reading from backup piece /home/oracle/dmp/bk_22_1_1039381211
channel ORA_DISK_1: piece handle=/home/oracle/dmp/bk_22_1_1039381211 tag=HOT_DB_BK_LEVEL1
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
starting media recovery
archived log for thread 1 with sequence 44 is already on disk as file /home/db/oracle/oradata/erp/redo02.log
archived log file name=/home/db/oracle/oradata/erp/redo02.log thread=1 sequence=44
media recovery complete, elapsed time: 00:00:00
Finished recover at 2020-05-02 21:13:23