常用命令
DmServiceDAMENG.service改成自己bin目录下文件名
运维常见问题,官方文档
注意事项
登录客户端工具,一定要使用SYSDBA用户进行下面的客户端操作
登录数据库主机,一定要使用安装数据库时创建的dmdba用户
定时备份前请先配置本地归档和开启 dmap 服务,下面正文会介绍
简介
本文主要讲解具体操作步骤,和注意事项。更详细的概念说明可参考官方技术手册
达梦官方技术手册获取方法有两种:
1.在dm安装目录下的doc目录中。
2.直接访问官方技术网站官方技术网站
正文
设置自动备份可以通过多种方式,本文采购使用manager客户端的方式。设置自动备份的方式
步骤一,开启数据库归档模式
归档模式简介:
DM 数据库可以运行在归档模式或非归档模式下。如果是归档模式,联机日志文件中的内容保存到硬盘中,形成归档日志文件;如果是非归档模式,则不会形成归档日志。
备份方式简介:
备份分为联机备份(数据库运行中)和脱机备份(数据库关闭中),备份内容分为库备份、表空间备份、表备份。定时备份,一般采取联机库备份。
哪些备份方式需要开始归档模式:
联机备份数据库必须要配置归档。 联机备份时,大量的事务处于活动状态,为确保备份数据的一致性,需要同时备份一段日志(备份期间产生的 REDO 日志),因此要求数据库必须配置本地归档且归档必须处于开启状态。
备份表空间属于联机备份,必须配置归档。
备份表虽然是联机完全备份,但不需要配置归档。 因为表在还原之后不需要再进行恢复操作,用不到归档日志。
开启方法:
1.登录数据库服务器,创建一个用户存放归档日志的目录。
登录数据库服务器以后,切换到dmdba用户(在安装dm数据库时,会创建一个专门用来安装dm的用户,我创建的叫做dmdba)
一定要使用dmdba创建目录,否则会有权限问题
使用:su dmdba切换到dmdba用户
找到dm实例所在的目录,创建一个archdsc目录,如下图。
创建文件夹命令:
cd /dm_data/dm5236
mkdir archdsc 如果执行这个命令提示没有权限,则先切换会root用户,对dm_data目录更改权限:
更改权限命令:
chmod -R 777 /dm_data (注意千万不要执行 chmod -R 777 /)
更改完权限后,切换为dmdba用户,再次执行创建目录:
cd /dm_data/dm5236
mkdir archdsc
2.打开dmmanager客户端,登录SYSDBA用户,设置数据库归档模式
注意!注意!注意!一定要使用SYSDBA用户,SYSDBA用户的密码默认是SYSDBA
打开SQL编辑器,执行如下脚本:
//修改数据库为MOUNT状态
ALTER DATABASE MOUNT;
//配置本地归档
ALTER DATABASE ADD ARCHIVELOG 'DEST = /dm_data/dm5236/archdsc/, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048, ARCH_FLUSH_BUF_SIZE=16,HANG_FLAG=1';
//开启归档模式
ALTER DATABASE ARCHIVELOG;
//修改数据库为OPEN状态
ALTER DATABASE OPEN;
执行完成后,刷新数据库,检查是否成功开始归档模式。
在客户端左侧菜单右键连接实例,选择管理服务器,如下图,代表归档设置成功
步骤二,手动创建一个库备份,测试联机备份是否成功。
备份前请先配置本地归档和开启 dmap 服务。
注意:联机备份时,关闭已配置的本地归档之后再重新打开,会造成归档文件中部分日志缺失,备份时检查归档文件连续性时将会报错。存在该类操作时,用若要避免该错误,备份前需要调用 checkpo int(100) 主动刷新检查点。
检查dmap状态,方法1
备份前检查dmap(达梦数据库辅助进程)是否启动,备份需要用到这个进程
检查dmap状态方法2
service DmAPService status
运维常见问题,官方手册
还是要使用SYSDBA用户登录,注意,所有步骤都使用SYSDBA用户登录客户端进行操作。
在左侧菜单,库备份处右键选择新建备份
选啥没啥好改的,看看没啥问题,直接点击确定,之后会出现一段时间的无响应,等待就好。
备份类型不要改,选择完全备份就行。
创建成功后,查看左侧菜单中,库备份下是否存在这个备份,我这个图上有三个,是因为我备份了三次了
再测试一下创建增量备份是否成功,增量备份需要完全库备份作为基备份,所以必须先创建完全备份
同样右键选择库备份,创建备份。注意备份类型选择增量备份,基备份扫描路径就是全量备份所在的路径,之后点击确定,等待备份创建成功
如果完全备份和增量备份都创建成功了,我们可以开始设置定时备份了。
步骤三,设置定时备份
我们采用的备份策略是:每周日23点30全备 周一到周六增备 每天删除30天以前的备份
通过创建作业,可以实现定时执行。我们需要创建三个作业,即每周日23点30全备 ; 周一到周六增备; 每天删除30天以前的备份;
同样采用dm管理工具进行操作,注意要使用SYSDBA用户登录客户端进行设置
1.创建作业环境,在客户端执行如下脚本
SP_INIT_JOB_SYS(1);
如果执行失败,先执行SP_INIT_JOB_SYS(0);后,再尝试执行SP_INIT_JOB_SYS(1);
2.创建三个作业
2.1先创建第一个作业,每周日全库备份
右键作业,选择新建作业
输入作业名,作业描述:
添加作业步骤
备份路径选择刚才手动创建的备份所在的路径就行。注意箭头所指出的选项,不要选错。
注意备份路径,最后没有/
接下来,新建一个调度,就是设置定时任务
设置每周日23:30分执行全库备份
最后点击确定,第一个作业创建成功
2.2创建第二个作业,周一到周六增量备份
下图需要注意,增量备份要和全量备份再同一个路径。
下图的基备份路径必须指定,就是全库备份所在的路径。因为我们的用的windows客户端,所以先展示选择了一个Windows路径,后面会改成linux路径
注意备份路径,最后没有/
选择周一到周六,23:30分执行,如下图
最后一步,很关键,上面我们说了,刚才指定的基备份路径不对,所以要改下
这里我们不点击确定,复制DDL里面的脚本,到客户端窗口执行即可,执行前,把基备份路径改对
下图所指定的路径就是基备份路径,把这个路径改成linux路径,即全库备份所在的路径,然后再客户端窗口执行一下脚本。
执行完成后,刷新客户端,查看作业下是否添加成功
2.3创建第三个作业,每天删除30天以前的备份
call SF_BAKSET_BACKUP_DIR_ADD(‘DISK’, ‘/dm_data/dm5236/PMDMDB/bak’);
CALL SP_DB_BAKSET_REMOVE_BATCH(‘DISK’, NOW()-30);
设置每天0点执行
结尾
到此,定时备份创建成功,等到备份执行后,查看备份目录下,是否成功创建了备份
还原
还原实战