达梦数据库联机备份设置

达梦数据库备份设置
我们安装了达梦数据库,新建了一个数据库实例,可是,当我们打开“DM管理工具”,试图进行数据库备份操作时,却会碰到如下图的错误提示,告诉我们无法进行备份操作。这是怎么回事呢? 在这里插入图片描述
在这里插入图片描述
一、配置归档日志
原来,在达梦数据库中,联机备份与恢复过程都依赖归档日志,要想启用数据库的联机备份功能,就需要开启归档日志,而在新建的数据库实例中,达梦默认是没有开启归档日志的。
那么,到底应该如何开启归档日志呢?
开启归档日志的方法有三种,图形化方式、编辑配置文件方式和SQL命令方式(任选其一即可),以下分别进行详细说明。
1、利用管理工具,图形化方式设置
1)右键 连接名,在弹出菜单中选择“管理服务器”。 在这里插入图片描述
2)在“管理服务器”对话框中,选择左侧的“系统管理”,在“状态转换”中,点击“配置”,然后点击其右侧的“转换”按钮,直到系统提示“状态转换成功”的出现,点击“确定”。在这里插入图片描述
在这里插入图片描述
3)继续选择“管理服务器”对话框左侧的“归档配置”,将红框“归档模式”改为“归档”,然后点击右下方的“添加”。
在这里插入图片描述
4)数据库在运行过程中,会自动生成归档日志文件,在这里可以指定这些归档文件存放在哪里,单个归档文件的大小,以及全部归档文件的总大小。
在“归档目标”中输入或选择目录,也就是数据库自动生成的归档日志文件存放的地方。“文件大小”即单个归档文件的大小,以M为单位。“空间限制大小”是全部归档文件的总大小(0为不限制)。
如“文件大小”设为1024,即1G,“空间限制大小”设为10240,即10G,则数据库在运行过程中,会逐渐生成10个1G大小的归档日志文件,等到第11个归档日志文件生成的时候,数据库引擎会删除掉最老的那一个归档日志文件,以确保所有归档日志文件的总大小不超过10G。
在这里插入图片描述
5)设置“归档配置”后,点击右下角的“确定”,关闭管理服务器的对话框。
6)右键点击 连接名,在弹出菜单中选择“管理服务器”
在这里插入图片描述7)在管理服务器对话框中,选择左侧的“系统管理”,将“状态转换”置为“打开”,然后点击其右侧的“转换”按钮,等待出现“状态转换成功”的提示。
在这里插入图片描述在这里插入图片描述
8)点击“确定”,关闭“管理服务器”对话框。
到此为止,数据库归档配置完成。

2、编辑配置文件的方式配置归档
关于归档日志设置,涉及到的配置文件有两个,分别是dm.ini(已经存在)和dmarch.ini(不存在,需要新建)。
1) 找到dm.ini,通常位于达梦安装目录的data/数据库名/下面,如c:\dmdbms\data\DAMENG\dm.ini(windows)或/opt/dmdbms/data/DAMENG/dm.ini(Linux).
打开dm.ini,找到ARCH_INI参数,将它的值改为1,然后保存退出
2) 新建一个名为dmarch.ini的文件,保存在dm.ini相同的目录下。
打开dmarch.ini,输入以下五行内容:

[ARCHIVE_LOCAL1] 
ARCH_TYPE = LOCAL 
ARCH_DEST = d:\dm_arch\arch 
ARCH_FILE_SIZE = 1024 
ARCH_SPACE_LIMIT = 0

保存文件并退出。
各个参数的说明:
ARCH_TYPE = LOCAL 指归档类型为本地归档。
ARCH_DEST = d:\dm_arch\arch 指定归档文件存放的目录为d:\dm_arch\arch,可以根据你的实际情况修改目录,如为linux系统,则路径类似于/opt/dmdbms/arch
ARCH_FILE_SIZE = 1024 单个归档文件的大小,单位是M
ARCH_SPACE_LIMIT = 0 归档文件空间总大小,应为ARCH_FILE_SIZE的倍数,0为不限制。
3) 重新启动达梦数据库实例
可以打开“DM服务查看器”,选择名字类似于‘DmServiceDMSERVER’的服务–其中的DMSERVER为数据库实例名,点击左侧的‘重启动’。
也可以在linux终端中,进入达梦安装目录的bin下面,输入如下命令来重启:
./DmServiceDMSERVER restart

到这里为止,利用编辑配置文件的方式,我们成功的配置了归档日志。

3、利用SQL命令配置归档
打开管理工具,新建查询,在查询窗口中依次执行以下命令:

--将数据库实例置为配置状态
ALTER DATABASE MOUNT;
--配置归档目标、类型、归档文件大小,归档文件空间总大小
ALTER DATABASE ADD ARCHIVELOG 'DEST = /home/dm_arch/arch, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048';
--开启数据库实例的归档日志
ALTER DATABASE ARCHIVELOG;
--将数据库实例置为打开状态
ALTER DATABASE OPEN;

二、联机备份
利用以上任一方式配置好归档日志后,我们就可以进行联机备份了(任选其一)。
1、利用管理工具,图形化方式备份
1) 进入管理工具,展开“备份”节点,右键点击“库备份”,选择“新建备份”
在这里插入图片描述
2)在“备份类型”中,选择“完全备份”,点击确定,即可对数据库进行完整的备份。备份成功后的备份文件存放在图中“路径”目录下。
在这里插入图片描述
3)、如需要进行增量备份,则可在进行过一次完全备份后,再次进入“新建备份”对话框,在备份类型中选择“增量备份”即可。
在这里插入图片描述

2、利用SQL命令方式备份
进入管理工具,新建查询,在查询窗口中执行:

BACKUP DATABASE BACKUPSET 'DB_DAMENG_FULL_2018_12_21_11_58_52';

其中的DB_DAMENG_FULL_2018_12_21_11_58_52是备份集名称,可以自行修改。
命令执行成功后,即在默认备份目录中生成了备份集文件。

三、定时备份
为了数据的安全,我们最好定期为数据库进行备份,达梦数据库支持定时备份,可以用管理工具进行图形化设置和SQL命令的方式设置。
1、 图形化设置
如我们设置一个每日凌晨01:00定时执行备份的任务,可以按照如下步骤设置:
1)进入管理工具,右键点击左下方的“代理”,在弹出菜单中选择“创建代理环境”。
在这里插入图片描述
在这里插入图片描述
2) 展开“代理”节点,右键点击“作业”—“新建作业”
在“作业名”中输入作业名称,如Fullbackup,可随意。
在这里插入图片描述
3) 选择左侧的“作业步骤”,并点击右下的“添加”
在这里插入图片描述
输入“步骤名称”,可随意。
在“步骤类型”下拉选择“基于备份集备份数据库”
在这里插入图片描述
输入“备份路径”,可根据实际情况修改。
在这里插入图片描述
5)选择左侧的“作业调度”,点击左下的“新建”
在这里插入图片描述
输入名称,可随意。然后点击“类别”,根据实际情况选择“月”“周”或“天”,如在每日凌晨01:00备份,则于此处选择“天”,“执行一次”处输入“01:00:00”。
在这里插入图片描述
点击“确定”,“确定”,关闭“作业”对话框。
至此,定时备份任务设置完成。

2、SQL命令设置
进入管理工具,新建查询,在查询窗口中依次执行以下语句:

--创建代理环境
call SP_INIT_JOB_SYS(1); 

call SP_CREATE_JOB('Fullbackup',1,0,'',0,0,'',0,'定时完全备份');
call SP_JOB_CONFIG_START('Fullbackup');
--C:\dmbak为备份目录,应和dm.ini中的BAK_PATH保持一致
call SP_ADD_JOB_STEP('Fullbackup', 's1', 6, '01000000C:\dmbak', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('Fullbackup', 'd1', 1, 1, 1, 0, 0, '01:00:00', NULL, '2018-12-21 12:20:56', NULL, '');
call SP_JOB_CONFIG_COMMIT('Fullbackup');

以上语句执行后,即自动创建了一个每日凌晨01:00进行完全备份的定时任务。

四、定时删除备份文件
如数据库较大,每日完全备份产生的备份文件会占用大量磁盘空间,我们可以根据实际情况,删除较早前产生的备份文件,以腾出磁盘空间。
1、图形化方式
1) 如三、1,在管理工具中,右键点击“作业”—新建作业
在这里插入图片描述
2)选择左侧的“作业步骤”,并点击右下的“添加”
在这里插入图片描述
输入“步骤名称”,可随意。
在“步骤类型”下拉选择“SQL脚本”,在“脚本语句”中输入
SP_DB_BAKSET_REMOVE_BATCH(‘DISK’,SYSDATE - 30);
在这里插入图片描述
点击确定,返回新建作业。
3)选择左侧的“作业调度”,点击左下的“新建”
在这里插入图片描述
输入名称,可随意。然后点击“类别”,根据实际情况选择“月”“周”或“天”,如在每日凌晨02:00执行,则于此处选择“天”,“执行一次”处输入“02:00:00”。
在这里插入图片描述
点击“确定”,“确定”,关闭“作业”对话框。
至此,定时删除备份文件任务设置完成。

2、SQL命令方式
在管理工具中依次执行以下命令,会自动创建一个每日凌晨02:00删除30天前备份文件的定时任务。

call SP_CREATE_JOB('DelBackup',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('DelBackup');
call SP_ADD_JOB_STEP('DelBackup', 's1', 0, 'SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE - 30);', 1, 2, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('DelBackup', 'd1', 1, 1, 1, 0, 0, '02:00:00', NULL, '2018-12-21 14:33:15', NULL, '');
call SP_JOB_CONFIG_COMMIT('DelBackup');

五、数据库还原
数据库备份以后,一旦数据库发生崩溃、数据损坏等情况时,就可以利用备份文件进行数据库恢复和还原。
还原方式有以下两种:
1、利用控制台工具进行备份和还原
控制台主界面如下图所示。
在这里插入图片描述
具体过程参见《DM7备份与还原》之3.4.2,该文档位于达梦安装目录的doc/special下。

2、利用DMRMAN工具进行还原和恢复
2.1 停止数据库实例服务
打开“DM服务查看器”,选择名字类似于‘DmServiceDMSERVER’的服务–其中的DMSERVER为数据库实例名,点击左侧的‘停止’。
或者,在linux终端中,进入达梦安装目录的bin下面,输入如下命令来停止:
./DmServiceDMSERVER stop

2.2 打开DMRMAN工具
DMRMAN工具位于达梦安装目录的bin下面,打开命令提示符,依次执行
cd \dmdbms\bin
dmrman.exe
在这里插入图片描述
如为linux系统,则命令为:

cd /opt/dmdbms/bin
./dmrman

2.3 还原数据库
在DMRMAN下,执行命令:

restore database 'c:\dmdbms\data\DAMENG\dm.ini' from backupset 'c:\dmdbms\data\DAMENG\bak\DB_DAMENG_FULL_2018_12_21_11_23_39';

其中,'c:\dmdbms\data\DAMENG\dm.ini’是要还原的数据库,'c:\dmdbms\data\DAMENG\bak\DB_DAMENG_FULL_2018_12_21_11_23_39’是备份集目录。

2.4 恢复数据库
在DMRMAN下,执行命令:

recover database 'c:\dmdbms\data\DAMENG\dm.ini' from backupset 'c:\dmdbms\data\DAMENG\bak\DB_DAMENG_FULL_2018_12_21_11_23_39';

其中,'c:\dmdbms\data\DAMENG\dm.ini’是要恢复的数据库,'c:\dmdbms\data\DAMENG\bak\DB_DAMENG_FULL_2018_12_21_11_23_39’是备份集目录。

发布了56 篇原创文章 · 获赞 5 · 访问量 9327

猜你喜欢

转载自blog.csdn.net/fengxiaozhenjay/article/details/104424376