• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

达梦(6)联机备份恢复

mysql 搞代码 4年前 (2022-01-09) 19次浏览 已收录 0个评论

达梦数据库的联机备份颇花了我不少时间,关键是附带的文档感觉说得不清楚。不过测试出来后觉得达梦的这个设计还是比较简明的。 为了让后面学习的人不用花我这么多时间,把测试流程整理了下放在下面: 主要测试了: 1. 不包含归档的联机全备 2. 包含归档的联机全

达梦数据库的联机备份颇花了我不少时间,关键是附带的文档感觉说得不清楚。不过测试出来后觉得达梦的这个设计还是比较简明的。
为了让后面学习的人不用花我这么多时间,把测试流程整理了下放在下面:
主要测试了:
1. 不包含归档的联机全备
2. 包含归档的联机全备
3. 不包含归档的联机全备的恢复
4. 不包含归档的联机全备文件加上归档日志的恢复
5. 包含归档的联机全备的恢复

测试版本: V7.1.2.215-Build(2013.11.08-36626trunc)

一。检查并设置数据库为归档模式
联机备份必须处在归档模式下,可用下面两条sql查看数据库当前状态

--查看归档是否打开select arch_mode from v$database;--查看归档日志信息select arch_name,arch_type,arch_dest from v$dm_arch_ini;

二。创建测试数据

-- 创建表空间test_data(数据文件TEST_DATA01.DBF大小为50m)create tablespace test_data datafile 'C:\dmdbms\data\DAMENG\TEST_DATA01.DBF' size 50;-- 增加用户create user "TESTUSER" identified by "111111" default tablespace "TEST_DATA";-- 授权grant "DBA" to "TESTUSER";-- 创建模式create schema test_sch authorization testuser;-- 创建 表create table test_sch.t1(id int primary key ,name varchar(20)) storage(on test_data)-- 插入数据insert into test_sch.t1 values(1,'aaa');insert into test_sch.t1 values(2,'bbb');-- 检索数据select * from test_sch.t1;

三。备份数据库
1. 不包含归档的联机全备

-- 仅备份数据库,不备份日志 backup database full to dmbkname03_noarc bakfile 'C:\xcl\online_noarc\dmbkname03_noarc.bak' backupinfo '测试全库联机备份不包含归档' maxsize 50 without log ;

2. 再次插入数据

insert into test_sch.t1 values(3,'dmbkname03_noarc');

3. 包含归档的联机全备

-- 备份数据库,并包含日志backup database full to dmbkname04 bakfile 'C:\xcl\online\dmbkname04.bak' backupinfo '测试全库联机备份' maxsize 50 ;

备份完成的后续工作:

1. 继续插入一笔数据

-- 插入数据insert into test_sch.t1 values(4,'dmbkname04');-- 检索数据select * from test_sch.t1;SQL> select * from test_sch.t1;行号       ID          NAME---------- ----------- ----------------1          1           aaa2          2           bbb3          3           dmbkname03_noarc4          4           dmbkname04已用时间: 1.245(毫秒). 执行号:99.

2 将归档备份一份到另一个目录
3. 在”DM服务查看器”中停掉对应的实例服务”DmServiceDMSERVER”
4. 将dm.ini 备份一份到另一个目录
5. 删除数据库目录
在”C:\dmdbms\data”目录下删除数据库所在目录”DAMENG”.此时数据库就被删除了。
这时,你去”DM服务查看器”刷新下,就看不到”DmServiceDMSERVER”这个服务了

四。恢复测试

达梦数据库的恢复通常分两步走.
第一,通过dminit重新初始化出一个和备份数据库相同的名字的库
第二. 执行恢复命令恢复.

a. 不包含归档的联机全备的恢复

1. 初始化数据库

c:\dmdbms\bin>dminit.exe  PATH=C:\dmdbms\data  DB_NAME=DAMENG  INSTANCE_NAME=DMSERVER

2.恢复数据库

-- 不包含归档c:\dmdbms\bin> dmrestore ini_path=C:\xcl\dm.ini  file=C:\xcl\online_noarc\dmbkname03_noarc.bak

3. 启动服务,进入数据库查看恢复结果

SQL>select * from test_sch.t1;行号       ID          NAME---------- ----------- ----1          1           aaa2          2           bbb已用时间: 60.990(毫秒). 执行号:3.

b. 不包含归档的联机全备文件加上归档日志的恢复
1. 初始化数据库

--再次用不包含归档的备份测试,但指定归档日志目录dminit.exe  PATH=C:\dmdbms\data  DB_NAME=DAMENG  INSTANCE_NAME=DMSERVER

2.恢复数据库

dmrestore ini_path=C:\xcl\dm.ini  file=C:\xcl\online_noarc\dmbkname03_noarc.bak archive_dir=C:\xcl\online_noarc\arc2

3. 启动服务,进入数据库查看恢复结果

SQL>select * from test_sch.t1;行号       ID          NAME---------- ----------- ----------------1          1           aaa2          2           bbb3          3           dmbkname03_noarc4          4           dmbkname04已用时间: 62.247(毫秒). 执行号:3.SQL>

c.包含归档的联机全备的恢复
1. 初始化数据库

dminit.exe  PATH=C:\dmdbms\data  DB_NAME=DAMENG  INSTANCE_NAME=DMSERVER

2.恢复数据库

-- 数据库全库备份,并包含日志dmrestore ini_path=C:\xcl\dm.ini  file=C:\xcl\online\dmbkname04.bak

3. 启动服务,进入数据库查看恢复结果

SQL>select * from test_sch.t1;行号       ID          NAME---------- ----------- ----------------1          1           aaa2          2           bbb3          3           dmbkname03_noarc已用时间: 62.508(毫秒). 执行号:3.

五.总结
达梦数据库的文档中并没有说明,dmrestore命令即能恢复脱机备份,也能恢复联机备份。导致我在执行backup命令后,
误以为要有resotre恢复。但数据库被破坏后,又没法进disql执行restore.后测试才知,dmrestore命令通杀脱机和联机两种恢复方式。
从上面的测试可看出,基本上达梦的备份流程就是发命令,生成备份文件,并同时备份dm.ini。有些情况下还要备份归档日志。

然后恢复是用dminit重新初始化一个库再用dmrestore恢复。 在达梦数据库中dm.ini非常重要,备份时一定要记得把这个也一同备份。

MAIL: [email protected]

BLOG: http://blog.gaodaima.com/xcl168

本文来源gao!%daima.com搞$代*!码网1


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:达梦(6)联机备份恢复

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址