DM数据库学习笔记之联机sql备份还原(5)



(一)数据备份

数据备份分为:数据库备份,表空间备份,表备份
数据库备份最常用的策略:完全备份和增量备份
一般每周执行一次完全备份,每天执行一次增量备份,那么恢复时要重做的归档就不会超过一天

1. 数据库备份

1.1 数据库完全备份

生成的备份集包含了指定库(或者表空间)的全部有效数据页,一般规则是数据库经过频繁修改后最好执行一次完全备份

1.2 完全备份步骤

1:配置开启归档
2:数据库open状态

BACKUP DATABASE BACKUPSET '备份集路径';

数据库增量备份
在某个特定备份集基础上,收集数据库新修改的数据页进行备份。可以快速备份数据库中的修改,减少备份时间和避免重复的备份

1.3 增量备份步骤

1:配置开启归档
2:数据库open状态

BACKUP DATABASE INCREMENT WITH BACKUPDIR '备份集目录'BACKUPSET '增量备份集路径';

如果增量备份集的基备份集被删除了将无法进行还原操

2. 表空间备份

2.1 表空间备份选项

@指定基备份目录 BASE ON
用于特定的备份集执行增量备份
不指定则搜索最近一次完全或增量备份作为基备份目录

2.2 表空间完全备份步骤

1:配置开启归档
2:数据库open状态

BACKUP TABLESPACE 表空间名BACKUPSET '备份集路径';

2.3 表空间增量备份步骤

1:配置开启归档
2:数据库open状态

BACKUP TABLESPACE 表空间名INCREMENT WITH BACKUPDIR '备份集路径 'BACKUPSET '备份集路径';

若要创建累积增量备份,要指定 CUMULATIVE 参数,否则缺省为差异增量备份。
若基备份不在默认备份目录(dm.ini设置),WITH BACKUPDIR参数必须指定,用于搜索基备份集

3. 表备份

3.1 备份选项

表备份常用的备份选项有设置备份名、设置备份集路径、指定介质参数、添加备份描述

3.2 表备份

表备份均为联机完全备份,不需要备份归档日志,不存在增量备份之说
BACKUP TABLE 表名 BACKUPSET ‘表备份集路径’;

4. 归档备份

4.1 归档备份的前提

1:归档文件的db_magic值和库的db_magic值必须一样
2:服务器必须配置归档
3:归档日志必须连续,如果出现不连续的情况,前面的会忽略,仅备份最新的连续部分。如果未收集到指定范围内的归档,则不会备份

联机备份的时候经常会切换归档文件,最后 一个归档总是空的,所以最后一个归档不会被备份

4.2 备份归档日志步骤

1:配置开启归档
2:数据库open/mount状态
3:查询lsn

SELECT ARCH_LSN, CLSN, PATH from V$ARCH_FILE;

4:备份

BACKUP ARCHIVELOG LSN BETWEEN 起lsn AND 止lsn BACKUPSET '归档路径';

5. 高级备份

5.1 加密备份

备份语句中通过指定
IDENTIFIED BY “密码”(必须,长度不超过128字节)
WITH ENCRYPTION(加密类型,非必须,默认简单加密1)
ENCRYPT WITH(加密算法,非必须,默认AES256_CFB)
执行加密备份
若指定了加密密码,但加密类型WITH ENCRYPTION参数指定为0,则为非加密备份
对于增量备份加密,如果基备份存在加密,则使用的加密算法和加密密码必须与基备份
中一致;
如果基备份未进行加密处理,则对增量备份使用的加密密码和算法没有特殊要求。

数据库备份复杂加密,算法为rc4,密码为123456789,路径为默认路径下

BACKUP DATABASE BACKIPSET ‘DB_BAK_FOLL_ENCRYPT’ IDENTIFIED BY “123456789” WITH ENCRYPTION 2 ENCRYPT RC4;

5.2 追踪日志

备份时支持设置跟踪日志文件,日志记录了 SBT 接口的调用过程,用户通过查看 日志可跟踪备份还原过程
跟踪日志文件相关的参数有两个
TRACE FILE(跟踪日志路径,默认log目录下生成dm_SBTTRACE_年月.log文件
如果文件存在不会覆盖,会在文件后追加跟踪)
TRACE LEVEL(参数1:不启用,但可以生成trace文件,但不会写入trace信息,默认1,2为启用)

以数据库完全备份为例,为备份设置跟踪日志文件的操作步骤

BACKUP DATABASE BACKUPSET '备份集路径' TRACE FILE '跟踪日志路径' TRACE LEVEL 2;

(二)管理备份

1. 备份目录管理

1.1 添加备份目录

临时生效不存在文件,可以用SELECT * FROM V$BACKUPSET_SEARCH_DIRS;检测
函数:SF_BAKSET_BACKUP_DIR_ADD(’TYPE’,’PATH’)
TYPE:存储类型DISK/TAPE
PATH:备份集路径
若目录已存在或为默认备份集路径,不添加,但也不报错

SELECT SF_BAKSET_BACKUP_DIR_ADD('DISK','/home/dm_bak');

1.2 删除备份目录

函数:SF_BAKSET_BACKUP_DIR_REMOVE(’TYPE’,’PATH’)
TYPE:存储类型DISK/TAPE
PATH:删除路径
若目录为默认备份集路径,不进行删除,返回0。
若目录存在于记录的合法目录中,返回1;
不存在或者为空则跳过,返回0

SELECT SF_BAKSET_BACKUP_DIR_REMOVE()

1.3 清理全部备份目录

SF_BAKSET_BACKUP_DIR_REMOVE_ALL()

默认备份目录除外。

2. 备份集校验和删除

2.1 备份校验

SELECT SF_BAKSET_CHECK('DISK','备份集路径 ');

2.2 删除备份集

SELECT SF_BAKSET_REMOVE('DISK',备份集路径,1);

1:表示级联删除,默认0(如删除增量备份的基备份,其增量备份也会删除)

2.3 批量删除指定条件—所有备份集(库,表空间,表,归档)

SELECT SF_BAKSET_REMOVE_BATCH ('DISK', now(), NULL, NULL);

device_type:disk,tape,NULL,忽略区分
end_time:删除备份集生成的结束时间,仅删除 end_time 之前的备份集,必须指定
range:1 代表库级,2 代表表空间级,3 代表表级,4 代表归档,NULL忽略区分
obj_name:待删除对象的名称,仅表空间级和表级有效。
若为表删除,则需指定完整的表名(模式.表名),否则为NULL,则忽略区分

2.4 批量删除指定条件—库备份集

CALL SP_DB_BAKSET_REMOVE_BATCH('DISK', NOW());

device_type:disk,tape,NULL,忽略区分
end_time:删除备份集生成的结束时间,仅删除 end_time 之前的备份集,必须指定

2.5 批量删除指定条件—表空间备份集

CALL SP_TS_BAKSET_REMOVE_BATCH('DISK',NOW(),'MAIN');

device_type:disk,tape,NULL,忽略区分
end_time:删除备份集生成的结束时间,仅删除 end_time 之前的备份集,必须指定
ts_name:表空间名,若未指定,则认为删除所有满足条件的表空间备份集

2.6 批量删除指定条件—表备份集

CALL SP_TAB_BAKSET_REMOVE_BATCH('DISK',NOW(),'SYSDBA','TAB_FOR_BATCH_DEL');

device_type:disk,tape,NULL,忽略区分
end_time:删除备份集生成的结束时间,仅删除 end_time 之前的备份集,必须指定
sch_name:表所属的模式名
tab_name:表名,只要模式名和表名有一个指定,就认为需要匹配目标;若均指定为 NULL,则认为删除满足条件的所有表备份

2.7 批量删除指定条件—归档备份集

CALL SP_ARCH_BAKSET_REMOVE_BATCH('DISK', NOW());

device_type:disk,tape,NULL,忽略区分
end_time:删除备份集生成的结束时间,仅删除 end_time 之前的备份集,必须指定

(三)数据还原

联机还原仅支持表空间和表还原,库和归档必须用脱机工具

1. 表空间还原

1.1 表空间完全备份—还原表空间

1:配置归档,数据库open或者mount状态
2:修改表空间为脱机

ALTER TABLESPACE MAIN OFFLINE;

3:还原表空间

RESTORE TABLESPACE 表空间名FROM BACKUPSET '表空间完全备份集路径 ';

4:修改表空间为联机

ALTER TABLESPACE MAIN ONLINE;

1.2 表空间增量备份—还原表空间

1:配置归档,数据库open或者mount状态
2:修改表空间为脱机

ALTER TABLESPACE MAIN OFFLINE;

3:还原表空间

RESTORE TABLESPACE 表空间名FROM BACKUPSET '表空间增量备份集路径' WITH BACKUPDIR ‘基备份集路径(可多个)’;

4:修改表空间为联机

ALTER TABLESPACE MAIN ONLINE;

1.3 数据库备份—还原表空间

1:配置归档,数据库open或者mount状态
2:修改表空间为脱机

ALTER TABLESPACE MAIN OFFLINE;

3:还原表空间

RESTORE TABLESPACE 表空间名FROM BACKUPSET '库备份集路径 ';

4:修改表空间为联机

ALTER TABLESPACE MAIN ONLINE;

1.4 指定归档目录表空间备份还原表空间

1:配置归档,数据库open或者mount状态
2:修改表空间为脱机

ALTER TABLESPACE MAIN OFFLINE;

3:还原表空间

RESTORE TABLESPACE 表空间名FROM BACKUPSET '表空间完全备份集路径 ' WITH ARCHIVEDIR ‘归档路径(后面支持多个路径用逗号隔开)’;

4:修改表空间为联机

ALTER TABLESPACE MAIN ONLINE;

1.5 表空间备份还原指定数据文件

1:配置归档,数据库open或者mount状态
2:修改表空间为脱机

ALTER TABLESPACE MAIN OFFLINE;

3:还原表空间

RESTORE TABLESPACE 表空间名 DATAFILE ‘数据文件路径’ FROM BACKUPSET  '表空间备份集路径 ' ;

4:修改表空间为联机

ALTER TABLESPACE MAIN ONLINE;

2. 表还原

1:数据库处于open状态
2:表结构还原

RESTORE TABLE 表名 STRUCT FROM BACKUPSET '表备份集路径';

3:表数据还原

RESTORE TABLE 表名  FROM BACKUPSET '表备份集路径';

结语

点赞是对我最大的支持,关注是我最大的认可
邮箱:905049079@qq.com
QQ:905049079
转载请注明文章来源

DM达梦数据库学习笔记之脱机工具DMRMAN备份还原(6)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值