达梦数据库03-DM8备份与还原

目录

环境说明

准备工作

学会使用disql

目录说明

启动服务和代理

启动DMAP

打开代理

启用归档模式

验证是否成功

物理备份

Linux脚本备份

图形化备份

定时备份

Linux定时备份脚本

图形化定时备份

物理备份还原

准备

 ​​​​​​​检查

​​​​​​​还原、恢复、更新

​​​​​​​重启数据库服务


环境说明

  • 服务器操作系统:服务器版银河麒麟v10
  • 服务器CPU平台:Inter x86-64
  • 客户端:windows10

准备工作

学会使用disql

disql是tool下的一个工具,使用disql之前,我们最好先配置好DM8的环境变量(详情请看“DM8安装说明.doc”文档)

  • 使用disql(使用SYSDBA账号使用,当前密码为:ftzn83560792):

disql SYSDBA/ftzn83560792

此时可执行SQL语句,与DM管理工具的“查询”功能一致(注:每段语句后用分号”;”结尾,删除键请使用组合键“ctrl+←”

目录说明

说明,本示例中达梦数据库的相关目录(注意:所有目录必须给dmdba账户操作权限):

  • 数据库程序安装目录:/dm8
  • 存放数据库的文件夹:/dm8/data
  • 存放备份文件的目录:/dm8/dmbak
  • 存放归档日志的目录:/dm8/dmarch

启动服务和代理

启动DMAP

DMAP即DmAPService,是达梦数据库辅助插件服务,主要服务于数据库的备份操作。

查看DmAPService服务状态

  • 使用dmdba权限切换到bin目录下执行:

./DmAPService status

或者

直接执行(配置好环境变量的前提下):

service DmServiceDMSERVER status

通过指令开启服务(如果服务未开启)

  • 使用dmdba权限切换到bin目录下执行:

./DmAPService start

或者

  • 直接执行(配置好环境变量的前提下):

service DmAPService start

使用工具停止服务

在图形化界面dm8安装目录下找到tool文件夹,找到“dmservice.sh”,双击运行

打开代理

打开“DM管理工具”,右键点击“代理”,选择“创建代理环境”,开启成功后出现子集:“作业、警报、操作员”

 

  • 或者使用命令开启

SP_INIT_JOB_SYS(1);

开启成功后,数据库模式会自动生成“SYSJOB”模式,该模式属于SYSDBA用户,SYSJOB模式拥有DBMS_JOB系统包、相关表和视图:

启用归档模式

SQL命令(用disql或DM管理工具来执行):

  • 修改数据库为mount状态:

alter database mount;

  • 配置本地归档:

alter database add archivelog ‘DEST= /dm8/dmbak,TYPE=local,FILE_SIZE=256,SPACE_LIMIT=0’;

  • 开启归档模式:

alter database archivelog;

  • 修改数据库为Open状态:

alter database open;

验证是否成功

  • 查询状态:

select arch_mode from v$database;

“Y”表示开启成功

  • 查询配置:

select arch_name,arch_type,arch_dest,arch_file_size from v$dm_arch_ini;

看到之前设置保存成功即可

物理备份

物理备份包括:数据库备份、表空间备份、表备份(表备份为联机备份,不需要配置归档日志,没有增量备份),本文主要介绍数据库联机备份操作。

​​​​​​​Linux脚本备份

在disql工具或图形化管理工具“DM管理工具”SQL编辑区中使用backup语句备份整个数据库,执行命令如下:

  • 在指定目录下执行备份(目录:/dm8/dmbak/full01),备份名与文件夹同名“full01”:

backup database full backupset '/dm8/dmbak/full01';full可以省略)

  • 指定备份名为“WEEKLY_FULL_BAK”,执行命令:

backup database to WEEKLY_FULL_BAK backupset '/dm8/dmbak/full02';

  • 基于/dm8/dmbak/full01全量备份的增量备份,执行命令:

backup database increment with backupdir ‘/dm8/dmbak/full01’ backupset ‘dm8/dmbak/ full01/db_increment_bak_01’;

​​​​​​​图形化备份

【备份】-【库备份】-反键“新建备份”

可选择备份类型:完全备份、增量备份。保存路径此处不可修改,如需修改需到配置文件dm.ini中修改配置项BAK_PATH。

定时备份

定时备份前请先配置本地归档和开启dmap服务。

配置“定时备份”作业:

通常情况下我们会创建3个“作业”:

  1. 每周1次的“全库备份”;
  2. 每周其余时间(除去第1步中的时间,每周内的其他6天)的“增量备份”;
  3. 每天执行的删除历史备份”,根据实际情况而定,删除N天之前的备份;

创建“作业”我们也可以通过2种方式来完成,命令脚本或图形化工具DM管理工具

Linux定时备份脚本

每“周日”凌晨“00:10:00”定时“全库备份”:

  • 创建作业:

call SP_CREATE_JOB('bak_full',1,0,'',0,0,'',0,'bak_full');

  • 开始作业配置:

call SP_JOB_CONFIG_START('bak_full');

  • 指定作业执行节点(默认作业在控制节点执行,可选):

call SP_JOB_SET_EP_SEQNO('bak_full', 0);

  • 新增“作业步骤”:

call SP_ADD_JOB_STEP('bak_full', 'bak_full', 6, '01000000/dm8/dmbak', 0, 0, 0, 0, NULL, 0);

  • 新增“作业调度”:

call SP_ADD_JOB_SCHEDULE('bak_full', 'bak_full', 1, 2, 1, 1, 0, '00:10:00', NULL, '2022-10-20 00:00:00', NULL, '');

  • 结束作业配置:

call SP_JOB_CONFIG_COMMIT('bak_full');

每周其他时间(周一周六)凌晨“00:10:00”定时“增量备份”:

  • 创建作业:

call SP_CREATE_JOB('bak_inc',1,0,'',0,0,'',0,'bak_inc');

  • 开始作业配置:

call SP_JOB_CONFIG_START('bak_inc');

  • 指定作业执行节点(默认作业在控制节点执行,可选):

call SP_JOB_SET_EP_SEQNO('bak_inc', 0);

  • 新增“作业步骤”:

call SP_ADD_JOB_STEP('bak_inc', 'bak_inc', 6, '11000000/dm8/dmbak|/dm8/dmbak', 0, 0, 0, 0, NULL, 0);

  • 新增“作业调度”:

call SP_ADD_JOB_SCHEDULE('bak_inc', 'bak_inc', 1, 2, 1, 126, 0, '00:10:00', NULL, '2022-10-20 00:00:00', NULL, '');

  • 结束作业配置:

call SP_JOB_CONFIG_COMMIT('bak_inc');

每天凌晨“01:10:00删除7天以前的数据:

  • 创建作业:

call SP_CREATE_JOB('bak_del',1,0,'',0,0,'',0,'bak_del');

  • 开始作业配置:

call SP_JOB_CONFIG_START('bak_del');

  • 指定作业执行节点(默认作业在控制节点执行,可选):

call SP_JOB_SET_EP_SEQNO('bak_del', 0);

  • 新增“作业步骤”:

call SP_ADD_JOB_STEP('bak_del', 'bak_del', 0, 'call SF_BAKSET_BACKUP_DIR_ADD(''DISK'', ''/dm8/dmbak'');call SP_DB_BAKSET_REMOVE_BATCH(''DISK'', NOW()-7);', 0, 0, 0, 0, NULL, 0);

  • 新增“作业调度”:

call SP_ADD_JOB_SCHEDULE('bak_del', 'bak_del', 1, 1, 1, 0, 0, '01:10:00', NULL, '2022-10-20 00:00:00', NULL, '');

  • 结束作业配置:

call SP_JOB_CONFIG_COMMIT('bak_del);

图形化定时备份

每“周日”凌晨“00:10:00”定时“全库备份”:

【代理】-【作业】-【新建作业】

编辑【常规】

编辑【作业步骤】注:如果是本机上操作,“备份路径”可以通过“开打”按钮选择得到,如果是用客户端进行操作,需根据实际情况手动填写路径

编辑【作业调度】

完成后点击“确定”即可。

每周其他时间(周一周六)凌晨“00:10:00”定时“增量备份”:

【代理】-【作业】-【新建作业】 

 

编辑【常规】

编辑【作业步骤】注:如果是本机上操作,“备份路径”可以通过“开打”按钮选择得到,如果是用客户端进行操作,需根据实际情况手动填写路径

编辑【作业调度】

完成后点击“确定”即可。

每天凌晨“01:10:00删除7天以前的数据:

【代理】-【作业】-【新建作业】

编辑【作业步骤】注:如果是本机上操作,“备份路径”可以通过“开打”按钮选择得到,如果是用客户端进行操作,需根据实际情况手动填写路径

此处的SQL脚本:

  • 添加备份目录:

call SF_BAKSET_BACKUP_DIR_ADD('DISK', '/dm8/dmbak');

  • 批量删除指定时间内的数据库备份集:

call SP_DB_BAKSET_REMOVE_BATCH('DISK', NOW()-7);

编辑【作业调度】

完成后点击“确定”即可。

定时备份最后会在指定的时间点自动生成备份文件,与物理备份生成的结果相同。物理备份是“即时生成”,定时备份是通过作业“定时生成”

物理备份还原

DM仅支持联机还原数据库表空间归档日志的还原必须通过脱机工具dmrman执行。本文主要介绍数据库的还原方法。

注意:数据库还原通常要执行4步方可成功:检查 -- 还原 -- 恢复 -- 更新

​​​​​​​准备

数据库在还原时,数据库必须处在关闭状态(脱机还原)。停止服务的方法有2种

查看DmServiceDMSERVER服务状态

  • 使用dmdba权限切换到bin目录下执行:

./ DmServiceDMSERVER status

或者

  • 直接执行(配置好环境变量的前提下):

service DmServiceDMSERVER status

通过指令停止服务(如果服务已开启)

  • 使用dmdba权限切换到bin目录下执行:

./DmServiceDMSERVER stop

或者

service DmServiceDMSERVER stop

使用工具停止服务

在图形化界面dm8安装目录下找到tool文件夹,找到“dmservice.sh”,双击运行

 ​​​​​​​检查

检查备份集是否可以使用,启动dmrman,通过指令完成:

  • 使用dmdba权限切换到bin目录下执行:

./dmrman

  • 检查备份是否可用:

check backupset ‘/dm8/dmbak/full01’;

如显示successfully,则表示可以正常使用。

dmbak文件夹有一个名为full01的文件夹,该文件夹内有一个full01.bak的全库备份

注意:dmrman一定要切换到bin文件夹后开启才能正常完成相关操作

注意:上述中backupset后的路径请不要写错

​​​​​​​还原、恢复、更新

3步操作,缺一不可

  • 还原备份集

restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/dmbak/full01';

  • 通过归档日志完全恢复

recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/dmarch';

  • 更新db_magic

recover database '/dm8/data/DAMENG/dm.ini' update db_magic;

​​​​​​​重启数据库服务

查看DmServiceDMSERVER服务状态

  • 使用dmdba权限切换到bin目录下执行:

./ DmServiceDMSERVER status

或者

  • 直接执行(配置好环境变量的前提下):

service DmServiceDMSERVER status

通过指令开启服务(如果服务未开启)

  • 使用dmdba权限切换到bin目录下执行:

./DmServiceDMSERVER start

或者

service DmServiceDMSERVER start

使用工具开启服务

在图形化界面dm8安装目录下找到tool文件夹,找到“dmservice.sh”,双击运行

 

注意:开启数据库服务时需验证root账号的密码

至此,达梦数据库DM8基础篇已全部完成,如果觉得以上所有内容对于初学者的你来说,还有那么点作用的话,麻烦给个赞,谢谢观看!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值