达梦数据库(DM8)的备份与还原

本文详细介绍了达梦数据库DM8的备份与还原操作,包括逻辑备份、联机SQL备份和DMRMAN工具备份。内容涵盖库备份、表空间备份、表备份、归档日志备份的原理和方法,以及数据库和表的还原过程,同时讨论了备份的类型、一致性与非一致性备份的区别。此外,还讲解了DMRMAN工具的使用,包括备份、还原、管理和校验备份集。
摘要由CSDN通过智能技术生成

数据库备份是日常工作最重要的工作之一,数据库备份是为了在数据库发生故障时,通过备份还原,将数据库恢复到可用状态

DM8支持三种方式的备份:逻辑备份、使用联机SQL命令进行备份、DMRMAN工具的备份

在进行备份操作前,先说一些基本概念

数据备份

库备份:备份整个库,拷贝数据库中所有有效数据页如果是联机备份,还会拷贝归档日志

表空间备份:只支持联机状态下进行

表备份:只支持联机状态下进行,一次备份操作只能备份一张表,不支持增量

归档日志备份:既可以联机也可以停机

一致性备份和非一致性备份

一致性备份包含了完整的数据文件和归档日志信息,不指定without log参数即为一致性备份,脱机备份会将检查点之后的redo log拷贝到备份集,因此,脱机备份一定是一致性备份

非一致性备份,只包含了数据文件,没有归档日志,利用非一致性备份的库无法正常启动,必须依靠归档日志。表空间备份、指定了without log参数的联机备份一定是非一致性备份

数据库还原

联机还原:表还原可以在联机状态下进行

脱机还原:是指在数据库关闭状态下,通过dmrman进行还原。

根据备份集类型,数据库还原可以分为库还原、表空间还原和表还原。库和表空间还原必须处于脱机状态下

还原的表空间不能是TEMP表空间

还原原理

还原时,既可以还原到指定的新目录,也可以还原到一个已经存在的库

步骤包括:清理目标库环境;重建数据库文件;拷贝数据页;重建redo log;重置目标库;修改配置参数

一、清理目标库环境:如果指定已经存在的库作为还原目标,首先解析dm.ini获取dm.ctl控制文件路径,删除控制文件中的数据文件,然后根据OVERWRITE选项,如果待还原文件存在,则删除;如果不指定OVERWRITE选项,则会报错;但是会保留目标库中的日志文件、控制文件等

二、重建数据库文件:如果还原到一个已经存在的库,需要指定目标数据库的dm.ini路径作为还原参数,还原过程中会重新创建数据文件,并将相关信息写入到dm.ctl控制文件;如果还原到指定目录,则会在对应目录生成新的dm.ini文件,设置CTL_PATH、SYSTEM_PATHA指向这个新目录,并在这个目录下生成新的控制文件。DMDSC目前不支持还原到新目录

数据文件重建策略:

1)目标库和备份集中的SYSTEM_PATH路径相同,则按照备份集中记录的原始路径创建文件

2)目标库和备份集中的SYSTEM_PATH路径不同,默认在目标库的SYSTEM_PATH目录下创建文件

三、重建redo log:所有库配置文件均认为在指定目录下

四、拷贝数据页:拷贝数据页到指定的目录,由于备份过程中只备份了有效的数据页,空的数据页并没有备份

五、重置目标库:包括

1)更新日志信息,设置当前的CKPT_LSN为备份集中的BEGIN_LSN,并设置日志文件状态为INACTIVE;

2)更新DB_MAGIC,还原后,库中的PERMANENT_MAGIC仍与备份集中的相同

注:SELECT PERMANENT_MAGIC;

SELECT DB_MAGIC FROM V$RLOG;

PERMANENT_MAGIC:永久魔数

DB_MAGIC:数据库魔数,在还原后会变化

3)设置还原标志,标识当前库为指定还原的库,不允许使用

4)更新目标库中的dm.ctl控制文件,把当前库中的数据文件信息记录到控制文件,使用备份集中的秘钥生成新的秘钥文件

六、修改配置参数:

还原到指定库时,默认会保留目标库的配置参数不变,也可以指定REUSE DMINI使用备份集中的dm.ini替换原来的dm.ini文件。还原到指定目录时,生成新的dm.ini文件

表空间还原

表空间还原只可以在脱机状态下进行。通过dmrman执行。如果还原后表空间状态为RES_OFFLINE,表明表空间已经还原,但是数据不完整

查询表空间方式:

select * from dba_data_files;

select * from v$datafile;

select * from v$tablespace;查询的结果中status的取值为int类型

0:ONLIE  1:OFFLINE  2:RES_OFFLINE  3:CORRUPT

注意事项:

1)指定dm.ini必须存在,其中的CTL_PATH必须配置且必须有效

2)若指定目录还原,则指定目录作为数据库的系统目录

3)对于增量备份的还原,需要搜集完整的备份集链表,从前到后,逐个还原备份集。鉴于增量备份的BEGIN_LSN确定规则,不需要重做归档日志

redo log与archive log

redo日志:初始化时就产生,两个,默认大小256M,可选范围为256M——2048M

如果业务变动较为频繁,建议设置2048M,即2G

可以查询v$parameter视图中 LOG_POOL_SIZE

初始化时可以指定大小

./dminit path=  page_size=16  log_size=2048

在线修改大小

ALTER DATABASE RESIZE LOGFILE 'LOG1.LOG' to 2048;

ALTER DATABASE RESIZE LOGFILE 'LOG2.LOG' to 2048;

ALTER DATABASE RESIZE LOGFILE 'LOG3.LOG' to 2048;

注意:只能调大,不能调小

archive 日志:默认不开启。生产环境建议开启归档

归档日志文件大小建议和redo log大小设置成一样。归档日志建议单独存放在一块磁盘上

查询归档配置

select * from v$dm_arch_ini;

查询归档状态

select * from v$arch_status;

在线开启方式

alter database mount;

alter database add archivelog 'dest=/dm8/arch,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=0'

alter database archivelog;

alter database open;

也可以修改dm.ini文件中的ARCH_INI值为1

并在数据文件路径下添加dmarch.ini文件

dmarch.ini配置文件

[ARCHIVE_LOCAL1]

ARCH_TYPE     = LOCAL #本地归档类型

ARCH_DEST     = /dmarch/ #本地归档文件存放路径

ARCH_FILE_SIZE    = 2048 #单位 MB,本地单个归档文件最大值

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值