ORACLE_OCP之非归档模式下使用RMAN进行全库备份
- 写在前:所有情况以你遇到的为主,该文档只是起到了命令辅助记忆的功能,如果遇到了与该文档状况不一致的情况,请以你遇到的当前状况为准。
一、前提:在SQLPLUS下使用该命令查看当前数据库的归档状态
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination ?#/dbs/arch
Oldest online log sequence 4
Current log sequence 6
-
切换到root用户在“/”根目录下建立full目录。
mkdir /full
-
把/full目录所属权赋予给oracle用户和oinstall组
chown -R oracle:oinstall /full
-
切换回oracle用户 并在/full目录下建立arch目录(注 arch目录留着备用)
su - oracle
mkdir -p /full/arch
二、RMAN备份正式开始!
- 使用rman target / 进入到rman中
-
查看当前数据库状态
RMAN> select status from v$instance;
using target database control file instead of recovery catalog(这句话不用管他下次再执行一次查询就不出了)
STATUS
-----------
OPEN我们再执行一次这个查询
RMAN> select status from v$instance;
STATUS
------------
OPEN
看到了吧!那句话不出了吧!!!根据查询我们可以看到我们的数据库现在是OPEN状态。OPEN状态是数据库正常的打开状态,就是STARTUP或ALTER DATABASE OPEN;后可供我们正常使用的数据库。
-
执行backup database;
RMAN> backup database;
/
Starting backup at 2021-01-01 15:20:15
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=52 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 01/01/2021 15:20:15
RMAN-06149: cannot BACKUP DATABASE in NOARCHIVELOG mode
/
//这里报错,我们从最后一个报错信息可以看到(RMAN-06149: cannot BACKUP DATABASE in NOARCHIVELOG mode),我们不能在非归档模式下的OPEN状态的数据库进行全库备份。 -
关闭数据库
RMAN> shutdown immediate
database closed
database dismounted
Oracle instance shut down -
将数据库启动到mount状态
RMAN> startup mount
connected to target database (not started)
Oracle instance started
database mounted
Total System Global Area 838860800 bytes
Fixed Size 8626240 bytes
Variable Size 322965440 bytes
Database Buffers 503316480 bytes
Redo Buffers 3952640 bytes -
检查数据库现在的状态
RMAN> SELECT STATUS FROM V$INSTANCE;
STATUS
------------
MOUNTED
//可以看到是MOUNT状态的。 -
执行backup database; 全库备份
RMAN> backup database; Starting backup at 2021-01-01 17:18:52 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=133 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=00001 name=/u01/app/oracle/oradata/orcl/system01.dbf input datafile file number=00003 name=/u01/app/oracle/oradata/orcl/sysaux01.dbf input datafile file number=00002 name=/u01/app/oracle/oradata/orcl/undotbs2_01.dbf input datafile file number=00005 name=/u01/app/oracle/oradata/orcl/undo02.dbf input datafile file number=00004 name=/u01/app/oracle/oradata/orcl/undotbs01.dbf input datafile file number=00007 name=/u01/app/oracle/oradata/orcl/users01.dbf channel ORA_DISK_1: starting piece 1 at 2021-01-01 17:18:53 channel ORA_DISK_1: finished piece 1 at 2021-01-01 17:19:08 piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 tag=TAG20210101T171853 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15 Finished backup at 2021-01-01 17:19:08 Starting Control File and SPFILE Autobackup at 2021-01-01 17:19:08 piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-01 comment=NONE Finished Control File and SPFILE Autobackup at 2021-01-01 17:19:09
-
全库备份完成,而且我们能从最后一段提示可以看出控制文件与SPFILE文件(Starting Control File and SPFILE Autobackup at)也进行了自动备份,并成功完成了这两个文件的备份。存储到了“/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-01”这个文件中。
-
我们也可以将RMAN备份备份到指定位置!这个会在后面讲!
-
例:
backup format '/full/full_%d_%s_%T_%p.bak database;
- 使用list backup;命令查看一下该备份结果
RMAN> list backup; List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ ------------------- 1 Full 1.23G DISK 00:00:20 2021-01-01 15:20:36 BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20210101T152016 Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/01vji1dg_1_1 List of Datafiles in backup set 1 File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name ---- -- ---- ---------- ------------------- ----------- ------ ---- 1 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/system01.dbf 2 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/undotbs2_01.dbf 3 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/sysaux01.dbf 4 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/undotbs01.dbf 5 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/undo02.dbf 7 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/users01.dbf BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ ------------------- 2 Full 10.19M DISK 00:00:01 2021-01-01 15:20:42 BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20210101T152041 Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-00 SPFILE Included: Modification time: 2021-01-01 05:22:42 SPFILE db_unique_name: ORCL Control File Included: Ckp SCN: 3097913 Ckp time: 2021-01-01 15:20:41 BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ ------------------- 3 Full 1.23G DISK 00:00:10 2021-01-01 17:19:03 BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20210101T171853 Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 List of Datafiles in backup set 3 File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name ---- -- ---- ---------- ------------------- ----------- ------ ---- 1 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/system01.dbf 2 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/undotbs2_01.dbf 3 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/sysaux01.dbf 4 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/undotbs01.dbf 5 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/undo02.dbf 7 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/users01.dbf BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ ------------------- 4 Full 10.19M DISK 00:00:00 2021-01-01 17:19:08 BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20210101T171908 Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-01 SPFILE Included: Modification time: 2021-01-01 17:18:56 SPFILE db_unique_name: ORCL Control File Included: Ckp SCN: 3103443 Ckp time: 2021-01-01 17:19:08
- 备份成功!
- 使用alter database open;打开数据库
RMAN> alter database open;
Statement processed
RMAN> SELECT STATUS FROM V$INSTANCE;
STATUS
------------
OPEN
- 打开数据库成功!备份完成。
三 使用备份恢复数据库!
- 找到数据文件的位置!
RMAN> SELECT NAME FROM V$DATAFILE;
using target database control file instead of recovery catalog
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/undotbs2_01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/undo02.dbf
/u01/app/oracle/oradata/orcl/users01.dbf
- 我们可以看到所有的数据文件都在 “/u01/app/oracle/oradata/orcl/”目录中。
- 关闭数据库并删除所有的数据文件
RMAN> shutdown immediate
database closed
database dismounted
Oracle instance shut down
RMAN> exit
Recovery Manager complete.
- 在linux命令行下删除下面的数据文件。(此处以我的操作系统目录为主。大家请按自己的自身真实目录情况删除对应的文件)
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/oradata/orcl/system01.dbf
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/oradata/orcl/undotbs2_01.dbf
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/oradata/orcl/sysaux01.dbf
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/oradata/orcl/undotbs01.dbf
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/oradata/orcl/undo02.dbf
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/oradata/orcl/users01.dbf
- 使用RMAN启动数据库,这里也可以使用sqlplus / as sysdba启动数据库,我主要是为了方便所以用了RMAN.
[oracle@oracle12 ~]$ rman target / Recovery Manager: Release 12.2.0.1.0 - Production on Fri Jan 1 17:56:41 2021 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. connected to target database (not started) RMAN> startup Oracle instance started database mounted RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of startup command at 01/01/2021 17:56:59 ORA-01157: cannot identify/lock data file 1 - see DBWR trace file ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf' RMAN>
- 可以看到数据库无法启动,主要是因为我们刚才输出了所有的数据文件造成的。
- 使用备份恢复所有的数据文件,但是要先确定你的操作系统现在是mount状态。
RMAN> SELECT STATUS FROM V$INSTANCE;
using target database control file instead of recovery catalog
STATUS
------------
MOUNTED
-
已经确定了是MOUNT状态,恢复数据库。
//还原数据文件 RMAN> restore database; Starting restore at 2021-01-01 17:59:17 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=390 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 /u01/app/oracle/oradata/orcl/system01.dbf channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/orcl/undotbs2_01.dbf channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl/sysaux01.dbf channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl/undotbs01.dbf channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl/undo02.dbf channel ORA_DISK_1: restoring datafile 00007 to /u01/app/oracle/oradata/orcl/users01.dbf channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 channel ORA_DISK_1: piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 tag=TAG20210101T171853 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:16 Finished restore at 2021-01-01 17:59:34
-
数据文件恢复完成!
-
对数据库进行介质恢复
RMAN> recover database; Starting recover at 2021-01-01 18:00:54 using channel ORA_DISK_1 starting media recovery media recovery complete, elapsed time: 00:00:00 Finished recover at 2021-01-01 18:00:55
-
恢复完成以resetlogs;打开数据库
RMAN> alter database open resetlogs; Statement processed RMAN> SELECT STATUS FROM V$INSTANCE; STATUS ------------ OPEN 恢复步骤完成。
四、使用RMAN单独恢复某一个丢失的数据文件。//此处会与视频发生情况不同,请按照真实的“advise failure”给出方案为准!!!
- 在数据库open状态下,我们删除user01.dbf
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/oradata/orcl/users01.dbf [oracle@oracle12 ~]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Fri Jan 1 18:12:36 2021 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> shutdown immediate ORA-01116: error in opening database file 7 ORA-01110: data file 7: '/u01/app/oracle/oradata/orcl/users01.dbf' ORA-27041: unable to open file Linux-x86_64 Error: 2: No such file or directory Additional information: 3 SQL> shutdown abort ORACLE instance shut down. SQL>
- 进入到rman 启动数据库
[oracle@oracle12 ~]$ rman target / Recovery Manager: Release 12.2.0.1.0 - Production on Fri Jan 1 18:14:08 2021 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. connected to target database (not started) RMAN> startup Oracle instance started database mounted RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of startup command at 01/01/2021 18:14:30 ORA-01157: cannot identify/lock data file 7 - see DBWR trace file ORA-01110: data file 7: '/u01/app/oracle/oradata/orcl/users01.dbf' RMAN>
- 发现故障,这里教大家一个小妙招,使用“list failure;”命令查看数据库当前故障
RMAN> list failure; using target database control file instead of recovery catalog Database Role: PRIMARY List of Database Failures ========================= Failure ID Priority Status Time Detected Summary ---------- -------- --------- ------------------- ------- 163 HIGH OPEN 2021-01-01 17:59:19 One or more non-system datafiles are corrupt 105 HIGH OPEN 2021-01-01 17:56:59 One or more non-system datafiles are missing
- 可以看到这里ORACLE已经告诉我们了,是因为一个或多个数据文件丢失,和我们刚才看到的上面的报错符合。
- 使用“advise failure;” 这个命令查看一下解决方案
RMAN> advise failure; Database Role: PRIMARY List of Database Failures ========================= Failure ID Priority Status Time Detected Summary ---------- -------- --------- ------------------- ------- 163 HIGH OPEN 2021-01-01 17:59:19 One or more non-system datafiles are corrupt 105 HIGH OPEN 2021-01-01 17:56:59 One or more non-system datafiles are missing analyzing automatic repair options; this may take some time allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=390 device type=DISK analyzing automatic repair options complete Mandatory Manual Actions ======================== no manual actions available Optional Manual Actions ======================= 1. If file /u01/app/oracle/oradata/orcl/users01.dbf was unintentionally renamed or moved, restore it Automated Repair Options ======================== Option Repair Description ------ ------------------ 1 Restore and recover datafile 7 Strategy: The repair includes complete media recovery with no data loss Repair script: /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_3657336767.hm RMAN>
-
这里的最后一行“Repair script: /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_3657336767.hm” 给出了我们一个恢复方案脚本。
-
我们查看一下这个方案
[oracle@oracle12 ~]$ cat /u01/app/oracle/diag/rdbms/orcl/orcl/hm/reco_3657336767.hm
# restore and recover datafile
restore ( datafile 7 );
recover datafile 7;
sql ‘alter database datafile 7 online’;
[oracle@oracle12 ~]$ -
那么我们按照他的办法来。
RMAN> restore ( datafile 7 ); Starting restore at 2021-01-01 18:22:11 using channel ORA_DISK_1 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 00007 to /u01/app/oracle/oradata/orcl/users01.dbf channel ORA_DISK_1: reading from backup piece /u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 channel ORA_DISK_1: piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 tag=TAG20210101T171853 channel ORA_DISK_1: restored backup piece 1 channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 Finished restore at 2021-01-01 18:22:13 RMAN> recover datafile 7; Starting recover at 2021-01-01 18:22:21 using channel ORA_DISK_1 starting media recovery media recovery complete, elapsed time: 00:00:00 Finished recover at 2021-01-01 18:22:22 RMAN> alter database datafile 7 online 2> ; Statement processed RMAN>
-
恢复成功!
五、使用crosscheck命令,对数据库进行相关的维护。
先检查备份文件状态。
```
RMAN> list backup;
List of Backup Sets
===================
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
1 Full 1.23G DISK 00:00:20 2021-01-01 15:20:36
BP Key: 1 Status: AVAILABLE Compressed: NO Tag: TAG20210101T152016
Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/01vji1dg_1_1
List of Datafiles in backup set 1
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- ------------------- ----------- ------ ----
1 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/system01.dbf
2 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/undotbs2_01.dbf
3 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/sysaux01.dbf
4 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/undotbs01.dbf
5 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/undo02.dbf
7 Full 3097897 2021-01-01 15:20:16 NO /u01/app/oracle/oradata/orcl/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
2 Full 10.19M DISK 00:00:01 2021-01-01 15:20:42
BP Key: 2 Status: AVAILABLE Compressed: NO Tag: TAG20210101T152041
Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-00
SPFILE Included: Modification time: 2021-01-01 05:22:42
SPFILE db_unique_name: ORCL
Control File Included: Ckp SCN: 3097913 Ckp time: 2021-01-01 15:20:41
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
3 Full 1.23G DISK 00:00:10 2021-01-01 17:19:03
BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20210101T171853
Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1
List of Datafiles in backup set 3
File LV Type Ckp SCN Ckp Time Abs Fuz SCN Sparse Name
---- -- ---- ---------- ------------------- ----------- ------ ----
1 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/system01.dbf
2 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/undotbs2_01.dbf
3 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/sysaux01.dbf
4 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/undotbs01.dbf
5 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/undo02.dbf
7 Full 3103430 2021-01-01 17:18:53 NO /u01/app/oracle/oradata/orcl/users01.dbf
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
4 Full 10.19M DISK 00:00:00 2021-01-01 17:19:08
BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20210101T171908
Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-01
SPFILE Included: Modification time: 2021-01-01 17:18:56
SPFILE db_unique_name: ORCL
Control File Included: Ckp SCN: 3103443 Ckp time: 2021-01-01 17:19:08
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ -------------------
5 Full 10.19M DISK 00:00:01 2021-01-01 18:29:27
BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20210101T182926
Piece Name: /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-02
SPFILE Included: Modification time: 2021-01-01 18:14:32
SPFILE db_unique_name: ORCL
Control File Included: Ckp SCN: 3205409 Ckp time: 2021-01-01 18:13:14
```
-
现在备份文件状态是AVAILABLE 正常状态。
RMAN> crosscheck backup; using channel ORA_DISK_1 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/01vji1dg_1_1 RECID=1 STAMP=1060701616 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-00 RECID=2 STAMP=1060701642 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 RECID=3 STAMP=1060708733 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-01 RECID=4 STAMP=1060708748 crosschecked backup piece: found to be 'AVAILABLE' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-02 RECID=5 STAMP=1060712967 Crosschecked 5 objects
-
删除所有备份 切换到full目录下,删除所有的备份文件.可以用直接路径删除,也可以进入到“/u01/app/oracle/product/12.2.0/db_1/”目录下 将所有备份片删除。
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/product/12.2.0/db_1/dbs/01vji1dg_1_1
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-00
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-01
[oracle@oracle12 ~]$ rm -rf /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-02 -
通过备份文件我们可以看到
RMAN> crosscheck backup; using channel ORA_DISK_1 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/01vji1dg_1_1 RECID=1 STAMP=1060701616 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-00 RECID=2 STAMP=1060701642 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 RECID=3 STAMP=1060708733 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-01 RECID=4 STAMP=1060708748 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-02 RECID=5 STAMP=1060712967 Crosschecked 5 objects
- 所有备份文件现在的状态都是 EXPIRED;
- 删除过期的备份文件
RMAN> crosscheck backup; using channel ORA_DISK_1 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/01vji1dg_1_1 RECID=1 STAMP=1060701616 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-00 RECID=2 STAMP=1060701642 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 RECID=3 STAMP=1060708733 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-01 RECID=4 STAMP=1060708748 crosschecked backup piece: found to be 'EXPIRED' backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-02 RECID=5 STAMP=1060712967 Crosschecked 5 objects RMAN> DELETE EXPIRED BACKUP; using channel ORA_DISK_1 List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name ------- ------- --- --- ----------- ----------- ---------- 1 1 1 1 EXPIRED DISK /u01/app/oracle/product/12.2.0/db_1/dbs/01vji1dg_1_1 2 2 1 1 EXPIRED DISK /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-00 3 3 1 1 EXPIRED DISK /u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 4 4 1 1 EXPIRED DISK /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-01 5 5 1 1 EXPIRED DISK /u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-02 Do you really want to delete the above objects (enter YES or NO)? YES deleted backup piece backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/01vji1dg_1_1 RECID=1 STAMP=1060701616 deleted backup piece backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-00 RECID=2 STAMP=1060701642 deleted backup piece backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/03vji8bt_1_1 RECID=3 STAMP=1060708733 deleted backup piece backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-01 RECID=4 STAMP=1060708748 deleted backup piece backup piece handle=/u01/app/oracle/product/12.2.0/db_1/dbs/c-1587326136-20210101-02 RECID=5 STAMP=1060712967 Deleted 5 EXPIRED objects RMAN>
- 他这里列出了过期的文件 还询问你是否真正的删除。我们填 YES 或 yes 确认删除
-
使用list backup;
RMAN> list backup;
specification does not match any backup in the repository
RMAN> -
crosscheck backup;
RMAN> crosscheck backup;
using channel ORA_DISK_1
specification does not match any backup in the repository
RMAN>
- 确认失效的备份已经删除掉了。