1、归档日志的重要性:
备份与恢复过程都依赖归档日志,归档日志是保证数据一致性和完整性的重要保障。配有归档日志的数据库系统在出现故障时丢失数据的可能性更小,这是因为一旦出现介质故障如磁盘损坏时,利用归档日志,系统可被恢复至故障发生的前一刻,也可以还原到指定的时间点。
2、
Redo
日志本地归档(
LOCAL
),就是将
Redo
日志写入到本地归档日志文件的过程。
与联机
Redo
日志文件可以被覆盖重用不同,本地归档日志文件不能被覆盖,写入其中的 Redo 日志信息会一直保留,直到用户主动删除;如果配置了归档日志空间上限,系统会自动删除最早生成的归档 Redo 日志文件,腾出空间。如果磁盘空间不足,且没有配置归档日志空间上限(或者配置的上限超过实际空间),系统将自动挂起,直到用户主动释放出足够的空间后继续运行。
3、
远
程归档专门用于 DMDSC 环境中。远程归档采用双向配置的方式,双向配置远程归档就是两个节点将自己的远程归档相互配置在对方机器上。集群中所有的节点,都拥有一套包括所有节点的,完整的归档日志文件。
🔺
远程归档必须双向配置。否则,单向配置后远程归档会处于无效状态。
4、
共享本地归档的远程归档就是双向配置的两个节点都不再发送
REDO
日志到对方机器
上生成远程归档日志文件,而是将对方的本地归档作为自己的远程归档。
5、
通过
MAL
发送的远程归档就是将写入本地归档的
REDO
日志信息,发送到远程节点,
并写入远程节点的指定归档目录中。远程归档的触发时机是,在 REDO 日志写入本地归档日志文件的同时,将 REDO 日志通过 MAL 系统发送给指定的数据库实例。
DMDSC
集群中,如果各个节点在配置本地归档之外,再双向配置一个远程归档,那么就可以在任意一个节点的本地磁盘中,找到一套 DMDSC 集群所有节点产生的、完整的归档日志文件。
🔺
若节点出现故障,故障恢复后,因为该节点配置的通过
MAL
发送的远程归档,该节点的远程归档内容可能不完整,可能缺少故障期间的 REDO 日志,因此需要进行手动修复。
6、四种备份方式:
①
执行完全备份,备份程序会扫描数据文件,拷贝所有被分配、使用的数据页,写入到备份片文件中。库备份会扫描整个数据库的所有数据文件,表空间备份则只扫描表空间内的数据文件。
②
执行增量备份,备份程序会扫描数据文件,拷贝所有基备份结束以后被修改的数据页,写入到备份片文件中。
③
表空间备份只拷贝指定表空间的数据页,因此,相对于数据库备份而言,表空间备份的速度会更快,生成的备份集会更小。对一些包含关键数据的用户表空间,我们可以使用表空间备份功能,进一步保障数据安全。表空间备份支持完全备份和增量备份,但只能在联机状态下执行。不支持 temp 表空间备份还原。
④
表备份主要包括数据备份和元信息备份两部分。与库备份和表空间备份不同,表备份不是直接扫描数据文件,而是从 BUFFER 中加载数据页,拷贝到备份片文件中。表备份的元信息则包括建表语句、重建约束语句、重建索引语句,以及其他相关属性信息。表备份不需要配置归档就可以执行,并且不支持增量表备份。
7、日志备份
所谓日志备份,就是将备份过程中产生的
REDO
日志拷贝到备份片文件中,用来在数据库还原结束后,将数据库恢复到一致性状态。所示,在执行备份过程中,用户可能修改数据库中的数据,并产生对应的 REDO 日志。增量备份和完全备份的日志备份流程完全相同。
8、并行备份
库备份、表空间备份以及归档日志备份可以进行并行处理,用户通过关键字
PARALLEL指定是否执行并行备份,以及并行备份的并行数。如果指定了 PARALLEL 关键字,但不指定并行数,那么默认的并行数为 4,但实际的备份并行度由 DMAP 最终创建成功的并行子任务数决定。增量备份是否并行以及并行数与其基备份集无关。
--修改数据库为 MOUNT 状态
ALTER DATABASE MOUNT;
--配置本地归档
ALTER DATABASE ADD ARCHIVELOG 'DEST = /dmdata/dameng/arch_dsc0, TYPE = local,
FILE_SIZE = 1024, SPACE_LIMIT = 2048';
--配置远程归档
ALTER DATABASE ADD ARCHIVELOG 'DEST = DSC1,TYPE = REMOTE,FILE_SIZE =
1024,SPACE_LIMIT = 2048,INCOMING_PATH = /dmdata/dameng/arch_dsc1';
--开启归档模式
ALTER DATABASE ARCHIVELOG;
--修改数据库为 OPEN 状态
ALTER DATABASE OPEN;
🔺
1.
使用
SQL
语句增加远程归档时,必须首先配置本地归档。
2.
联机备份时,关闭已配置的本地归档之后再重新打开,会造成归档文件中
部分日志缺失,备份时检查归档文件连续性时将会报错。存在该类操作时,
若要避免该错误,备份前需要调用
checkpo int(100)
主动刷新检查点。
9、还原库与备份库需匹配建库参数
名称
|
描述
|
PAGE_SIZE
|
数据页大小
|
BLANK_PAD_MODE
|
空格填充模式,可选值:
0/1
|
CASE_SENSITIVE
|
字符大小写是否敏感
|
CHARSET/UNICODE_FLAG
|
字符集
(0)
,可选值:
0[GB18030]
,
1[UTF-8]
,
2[EUC-KR]
|
USE_NEW_HASH
|
是否使用新的
HASH
算法
|
LENGTH_IN_CHAR
|
VARCHAR
类型长度是否以字符为单位
(N)
|
PAGE_ENC_SLICE_SIZE
|
数据页加密分片大小
|