达梦数据库的DMRMAN工具-管理备份(备份集删除)

达梦数据库的DMRMAN工具-管理备份(备份集删除)

基础信息
OS版本:
Red Hat Enterprise Linux Server release 7.9 (Maipo)
DB版本:
DM Database Server 64 V8
DB Version: 0x7000c
03134284132-20240115-215128-20081

1 概述

DMRMAN中使用REMOVE命令删除备份集,可删除单个备份集,也可批量删除备份集。单个备份集删除时并行备份中的子备份集不允许单独删除;在指定备份集搜索目录中,发现存在引用待删除备份集作为基备份的需要执行级联删除,默认报错。批量删除备份集时,跳过收集到的单独的子备份集。

语法如下

REMOVE BACKUPSET '<备份集目录>'
[<device_type_stmt>]
[<database_bakdir_lst_stmt>][CASCADE]; |
REMOVE [<备份集类型>] BACKUPSETS [<device_type_stmt>] <database_bakdir_lst_stmt>
[[UNTIL TIME '<截止时间串>'] | [BEFORE <n_day>]];
<device_type_stmt>::= DEVICE TYPE <介质类型> [PARMS '<介质参数>']
<database_bakdir_lst_stmt>::=
DATABASE '<INI_PATH>' |
WITH BACKUPDIR '<备份集搜索目录>' {, '<备份集搜索目录>' } |
DATABASE '<INI_PATH>' WITH BACKUPDIR '<备份集搜索目录>' {, '<备份集搜索目录>' }
<备份集类型>::=
DATABASE |
TABLESPACE [<ts_name>] |
TABLE ["<schema_name>"."<tab_name>"] |
ARCHIVELOG|
ARCHIVE LOG

BACKUPSET:指定待删除的备份集目录。
DEVICE TYPE:指存储备份集的介质类型,支持 DISK 和 TAPE,默认 DISK,详见 1.4 介质管理层。
PARMS:只对介质类型为 TAPE 时有效,详见 1.4 介质管理层。
DATABASE:指定数据库 dm.ini 文件路径,若指定,则该数据库的默认备份目录作为备份集搜索目录之一。
WITH BACKUPDIR:备份集搜索目录,用于搜索指定目录下的所有备份集。
CASCADE:当目标备份集已经被其他增量备份引用为基备份集,默认不允许删除,若指定 CASCADE,则递归删除所有引用的增量备份。
DATABASE|TABLESPACE|TABLE|ARCHIVELOG|ARCHIVE LOG:指定待删除备份集的类型,分别为库级备份、表空间级备份、表级备份以及归档级备份,其中 ARCHIVELOG 和ARCHIVE LOG 等价。若不指定备份集类型,则全部删除。指定 TABLESPACE 时,若指定目标表空间名,则仅会删除满足条件的指定表空间名称的表空间备份集,否则,删除所有满足条件的表空间备份集。指定 TABLE 时,若指定目标表名,则仅会删除满足条件的指定表名的表备份集,否则,删除所有满足条件的表备份集。
UNTIL TIME:删除备份集生成的最大时间,即删除指定时间之前的备份集,若未指定,则删除所有备份集。
BEFORE:删除距离当前时间前 n_day 天产生的备份集; n_day 取值范围 0~365,单位:天。

更详细的内容请查看官方文档《DM8备份与还原》。

2 删除备份集

2.1 删除特定的备份集

使用 REMOVE BACKUPSET … 命令可删除特定备份集,每次只能删除一个备份集。若删除备份集已经被引用为其他备份集的基备份且未指定 CASCADE,则报错。

[dmdba@test ~]$ dmrman
dmrman V8
RMAN> REMOVE BACKUPSET '/home/dmdba/backup/db_increment_bak_02';
REMOVE BACKUPSET '/home/dmdba/backup/db_increment_bak_02';
remove backupset successfully.
time used: 30.936(ms)
RMAN> show backupset '/home/dmdba/backup/db_increment_bak_02';
show backupset '/home/dmdba/backup/db_increment_bak_02';
[-10001]:[错误码:-127]无效的备份集目录[/home/dmdba/backup/db_increment_bak_02]

2.2 批量删除所有备份集

使用 REMOVE ... BACKUPSETS ... 命令可批量删除备份集。批量删除可选择备份集的备份类型,备份类型包括数据库备份、表空间备份、表备份以及归档备份,不指定备份类型则全部删除。
下面示例为删除/home/dmdba/backup 目录下的所有备份集,可以是联机生成的备份集,也可以是脱机工具 DMRMAN 生成的备份集。
--删除前
[dmdba@test backup]$ pwd
/home/dmdba/backup
[dmdba@test backup]$ ll
total 0
drwxr-xr-x 2 dmdba dinstall 61 Apr 18 23:21 arch_all_bak_01
drwxr-xr-x 2 dmdba dinstall 61 Apr 18 23:26 arch_lsn_bak_02
drwxr-xr-x 2 dmdba dinstall 59 Apr 18 23:10 db_full_bak_01

--执行删除
[dmdba@test ~]$ dmrman
dmrman V8
RMAN> REMOVE BACKUPSETS WITH BACKUPDIR '/home/dmdba/backup';
REMOVE BACKUPSETS WITH BACKUPDIR '/home/dmdba/backup';
remove backupsets successfully.
time used: 40.700(ms)


--删除后,备份已经全部被删除
[dmdba@test backup]$ pwd
/home/dmdba/backup
[dmdba@test backup]$ ll
total 0

2.3 批量删除指定时间之前的备份集

REMOVE … BACKUPSETS … UNTIL TIME 命令用来批量删除指定时间之前的备份集。通常情况下,用户并不想删除指定目录下所有的备份集,这时可以选择只删除指定时间之前的备份集。如何确定删除备份的截止时间点,需要结合用户的备份计划合理指定。若用户每周做一次完全备份,每天进行增量备份,那么删除的时间可指定为 7 天前的某个特定时间。假设今天的日期为 2024-4-22,要删除 1 天前/home/dmdba/backup1 目录下的所有备份在DMRMAN 中输入以下命令:

--删除前
[dmdba@test backup1]$ pwd
/home/dmdba/backup1
[dmdba@test backup1]$ ll
total 8
-rw-r--r-- 1 dmdba dinstall 5616 Apr 20 08:06 bkp_info.txt
drwxr-xr-x 2 dmdba dinstall   67 Apr 20 08:00 db_bak_for_show_01
drwxr-xr-x 2 dmdba dinstall   67 Apr 20 08:00 db_bak_for_show_02

--执行删除
[dmdba@test ~]$ dmrman
dmrman V8
RMAN> REMOVE BACKUPSETS WITH BACKUPDIR '/home/dmdba/backup1' UNTIL TIME '2024-4-22 00:00:00';
REMOVE BACKUPSETS WITH BACKUPDIR '/home/dmdba/backup1' UNTIL TIME '2024-4-22 00:00:00';
remove backupsets successfully.
time used: 27.741(ms)

--删除后,备份文件已被删除
[dmdba@test backup1]$ 
[dmdba@test backup1]$ pwd
/home/dmdba/backup1
[dmdba@test backup1]$ ll
total 8
-rw-r--r-- 1 dmdba dinstall 5616 Apr 20 08:06 bkp_info.txt
[dmdba@test backup1]$ 

更多详细的内容请查看官方文档《DM8备份与还原》。

谨记:心存敬畏,行有所止。

  • 25
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值