时间:2021-07-01 10:21:17 帮助过:97人阅读
达梦数据库的联机备份颇花了我不少时间,关键是附带的文档感觉说得不清楚。不过测试出来后觉得达梦的这个设计还是比较简明的。 为了让后面学习的人不用花我这么多时间,把测试流程整理了下放在下面: 主要测试了: 1. 不包含归档的联机全备 2. 包含归档的联机全
达梦数据库的联机备份颇花了我不少时间,关键是附带的文档感觉说得不清楚。不过测试出来后觉得达梦的这个设计还是比较简明的。--查看归档是否打开 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;
-- 仅备份数据库,不备份日志 backup database full to dmbkname03_noarc bakfile 'C:\xcl\online_noarc\dmbkname03_noarc.bak' backupinfo '测试全库联机备份不包含归档' maxsize 50 without log ;
insert into test_sch.t1 values(3,'dmbkname03_noarc');
-- 备份数据库,并包含日志 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 aaa 2 2 bbb 3 3 dmbkname03_noarc 4 4 dmbkname04 已用时间: 1.245(毫秒). 执行号:99.2 将归档备份一份到另一个目录
c:\dmdbms\bin>dminit.exe PATH=C:\dmdbms\data DB_NAME=DAMENG INSTANCE_NAME=DMSERVER2.恢复数据库
-- 不包含归档 c:\dmdbms\bin> dmrestore ini_path=C:\xcl\dm.ini file=C:\xcl\online_noarc\dmbkname03_noarc.bak3. 启动服务,进入数据库查看恢复结果
SQL>select * from test_sch.t1; 行号 ID NAME ---------- ----------- ---- 1 1 aaa 2 2 bbb 已用时间: 60.990(毫秒). 执行号:3.
--再次用不包含归档的备份测试,但指定归档日志目录 dminit.exe PATH=C:\dmdbms\data DB_NAME=DAMENG INSTANCE_NAME=DMSERVER2.恢复数据库
dmrestore ini_path=C:\xcl\dm.ini file=C:\xcl\online_noarc\dmbkname03_noarc.bak archive_dir=C:\xcl\online_noarc\arc23. 启动服务,进入数据库查看恢复结果
SQL>select * from test_sch.t1; 行号 ID NAME ---------- ----------- ---------------- 1 1 aaa 2 2 bbb 3 3 dmbkname03_noarc 4 4 dmbkname04 已用时间: 62.247(毫秒). 执行号:3. SQL>
dminit.exe PATH=C:\dmdbms\data DB_NAME=DAMENG INSTANCE_NAME=DMSERVER2.恢复数据库
-- 数据库全库备份,并包含日志 dmrestore ini_path=C:\xcl\dm.ini file=C:\xcl\online\dmbkname04.bak3. 启动服务,进入数据库查看恢复结果
SQL>select * from test_sch.t1; 行号 ID NAME ---------- ----------- ---------------- 1 1 aaa 2 2 bbb 3 3 dmbkname03_noarc 已用时间: 62.508(毫秒). 执行号:3.
然后恢复是用dminit重新初始化一个库再用dmrestore恢复。 在达梦数据库中dm.ini非常重要,备份时一定要记得把这个也一同备份。
MAIL: xcl_168@aliyun.com
BLOG: http://blog.csdn.net/xcl168