暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

【达梦8】循序渐进-删除库级备份集

原创 李美静 恩墨学院 2020-09-08
1714

本文主要介绍在达梦8中如何删除库级别的备份。
文章内容概览:
达梦8管理库级备份集删除.png

第一部分:使用dmrman工具

1 删除指定备份集

使用dmrman工具执行脱机备份

1.1 关闭数据库服务

[dmdba@enmoedu1 ~]$ DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]

image.png

1.2 执行备份

调用dmrman

[dmdba@enmoedu1 ~]$ dmrman 
dmrman V8
RMAN> 
执行备份,将备份存放到/home/dmdba/rman_bak目录下:
backup database '/opt/dm8/data/DAMENG/dm.ini' backupset '/home/dmdba/rman_bak';

image.png
操作系统层面查看:

[dmdba@enmoedu1 rman_bak]$ cd /home/dmdba/rman_bak/
[dmdba@enmoedu1 rman_bak]$ ll
总用量 7492
-rw-r--r-- 1 dmdba dinstall 7584256 8月  25 09:30 rman_bak.bak
-rw-r--r-- 1 dmdba dinstall   82432 8月  25 09:30 rman_bak.meta

1.3 删除备份集

remove backupset '/home/dmdba/rman_bak';

image.png
操作系统层面查看:
image.png

2 批量删除备份集

2.1 执行备份

操作系统层面创建存放备份的目录:

$mkdir /home/dmdba/backup
RMAN>backup database '/opt/dm8/data/DAMENG/dm.ini' backupset '/home/dmdba/backup/full01';
RMAN>backup database '/opt/dm8/data/DAMENG/dm.ini' backupset '/home/dmdba/backup/full02';

image.png
image.png

操作系统层面查看:

[dmdba@enmoedu1 ~]$ ll /home/dmdba/backup
总用量 0
drwxr-xr-x 2 dmdba dinstall 43 8月  25 09:46 full01
drwxr-xr-x 2 dmdba dinstall 43 8月  25 09:46 full02

image.png
###2.2 批量删除

RMAN> remove backupsets with backupdir '/home/dmdba/backup';

image.png
操作系统层查看:

[dmdba@enmoedu1 ~]$ ll /home/dmdba/backup
总用量 0

3 指定时间点的批量删除备份

3.1 执行备份

backup database '/opt/dm8/data/DAMENG/dm.ini' backupset '/home/dmdba/backup/full01';

image.png
操作系统层查看:

[dmdba@enmoedu1 ~]$ ll /home/dmdba/backup
总用量 0
drwxr-xr-x 2 dmdba dinstall 43 8月  25 09:56 full01

3.2 指定时间删除

remove backupsets with backupdir '/home/dmdba/backup/' until time '2020-08-25 09:58:00';

image.png
操作系统层查看:
[dmdba@enmoedu1 ~]$ ll /home/dmdba/backup
总用量 0

第二部分:在disql中使用函数删除备份集

1 可以使用如下过程或函数来校验和删除

SF_BAKSET_CHECK
SF_BAKSET_REMOVE
SF_BAKSET_REMOVE_BATCH
SP_DB_BAKSET_REMOVE_BATCH
SP_TS_BAKSET_REMOVE_BATCH
SP_TAB_BAKSET_REMOVE_BATCH
SP_ARCH_BAKSET_REMOVE_BATCH
服务准备:
启动服务并且登陆

[dmdba@enmoedu1 ~]$ DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]
[dmdba@enmoedu1 ~]$ disql sysdba/dmdba123

1.1 SF_BAKSET_CHECK

1.1.1 执行联机备份

提前配置归档模式,可以使用manager工具快速配置。

SQL> backup database full backupset '/home/dmdba/backup/full01';

1.1.2 校验备份集

SQL> select SF_BAKSET_CHECK('DISK','/home/dmdba/backup/full01');
行号     SF_BAKSET_CHECK('DISK','/home/dmdba/backup/full01')
---------- ---------------------------------------------------
1          1

1.1.3 删除备份集

select SF_BAKSET_REMOVE('DISK','/home/dmdba/backup/full01');

操作系统层验证:

[dmdba@enmoedu1 backup]$ ll /home/dmdba/backup/
总用量 0

1.2 SF_BAKSET_REMOVE_BATCH

批量删除

INT SF_BAKSET_REMOVE_BATCH (
device_type varchar,
end_time datetime,
range int,
obj_name varchar(257)
)

range:指定删除备份的级别。1 代表库级,2 代表表空间级,3 代表表级,4 代表归
档备份。若指定 NULL,则忽略备份集备份级别的区分
obj_name:待删除备份集中备份对象的名称,仅表空间级和表级有效。若为表级备份
删除,则需指定完整的表名(模式.表名),否则,将认为删除会话当前模式下的表备份。
若指定为 NULL,则忽略备份集中备份对象名称区分。
注:通过这种方式删除,删除的是在v$backupset中可以查询到的备份。

1.2.1 disql中执行备份:

backup database full backupset '/home/dmdba/backup/full01';
backup tablespace main full backupset '/home/dmdba/backup/full02';

操作系统层查看:

[dmdba@enmoedu1 hot_bak]$ ll /home/dmdba/backup/
总用量 0
drwxr-xr-x 2 dmdba dinstall 63 8月  25 10:46 full01
drwxr-xr-x 2 dmdba dinstall 43 8月  25 10:47 full02

1.2.2 查询备份信息并且执行批量删除

SQL> select backup_name,BACKUP_PATH from v$backupset;
未选定行

1.2.3 添加存放备份集的目录

SQL> select sf_bakset_backup_dir_add('DISK','/home/dmdba/backup');

1.2.4 执行批量删除之前的备份:

SQL> SELECT SF_BAKSET_REMOVE_BATCH ('DISK', now(), NULL, NULL);
行号     SF_BAKSET_REMOVE_BATCH('DISK',NOW(),NULL,NULL)
---------- ----------------------------------------------
1          1
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论