达梦数据库-备份与还原
除了物理备份和逻辑备份,达梦数据库还支持一种介于两者之间的备份——B树备份,支持单表备份。
1.备份
1.1 步骤一:准备环境,创建原始数据
(1)安装达梦数据库,实例名:DMSERVER,创建表空间TEST_DATA,模式TEST_SCH。创建表test_sch.T2,不插入数据。如下图所示:
(2)查看是否数据库是否运行在归档模式
select arch_mode from v$database;
(3)若非归档模式,则转换为归档模式
Alter database mount;
Alter database archivelog;
Alter database open;
1.2 步骤二:执行第一次备份,完整备份
(1)第一次完整备份,作为基备份,必不可少。
C:\dmdbms\bin>backup database full to dmbak_full_01 bakfile 'c:\dmbackfile\dmbak_full_01.bak' backupinfo '完整备份_01';
(1)向T2表中插入第一组数据
(2)执行第一次增量备份
C:\dmdbms\bin> backup database increment with backupdir 'c:\dmbackfile' to dmbak_increment_01 bakfile 'c:\dmbackfile\dmbak_increment_01.bak' backupinfo '增量备份_01';
(1)向表T2中插入第二组数据(2条)
(2)执行第二次增量备份
C:\dmdbms\bin> backup database increment with backupdir 'c:\dmbackfile' to dmbak_increment_02 bakfile 'c:\dmbackfile\dmbak_increment_02.bak' backupinfo '增量备份_02';
1.5 步骤五:执行第三次增量备份
(1)向表T2中插入第三组数据
(2)执行第三次增量备份
C:\dmdbms\bin> backup database increment with backupdir 'c:\dmbackfile' to dmbak_increment_03 bakfile 'c:\dmbackfile\dmbak_increment_03.bak' backupinfo '增量备份_03';
1.6 步骤六:备份dm.ini文件
(1)Dm.ini文件是达梦数据库启动时所必须的配置文件;
(2)将文件备份至c:\dmbackupfile目录下;
2.还原
2.1 步骤一:准备还原环境
(1)删除数据库实例
方法一:
Ø 使用DM服务查看器,停止数据库服务;
Ø 使用数据库配置助手删除数据库实例;
方法二:
Ø 启动与停止数据库服务;
启动数据库服务:
C:\dmdbms\bin>dmserver c:\dmdbms\data\DAMENG\dm.ini
Ø 停止数据库服务成功后,删除C:\dmdbms\data\DAMENG目录下的数据文件;
2.2 步骤二:还原第一次的完全备份
(1)还原基备份
c:\dmdbms\bin> dmrestore ini_path=c:\dmbackfile\dm.ini file=c:\dmbackfile\dmbak_full_01.bak
在提示中输入y,以确认继续。
还原成功
2.3 步骤三:还原第一次增量备份
(1)还原第一次增量备份
c:\dmdbms\bin> dmrestore ini_path=c:\dmbackfile\dm.ini file=c:\dmbackfile\dmbak_increment_01.bak
2.4 步骤四:还原第二次增量备份
(1)使用下面命令进行还原:
c:\dmdbms\bin> dmrestore ini_path=c:\dmbackfile\dm.ini file=c:\dmbackfile\dmbak_increment_02.bak
2.5 步骤五:还原第三次增量备份
(1)将基备份文件dmbak_full_01.bak删除,然后运行还原命令:
c:\dmdbms\bin> dmrestore ini_path=c:\dmbackfile\dm.ini file=c:\dmbackfile\dmbak_increment_03.bak
(2)把及备份还原回去,在执行还原命令,还原成功。
2.6 步骤六:删除dm.ini后进行还原
(1)删除C:\dmdbms\data\DAMENG目录下的dm.ini文件,执行还原命令,提示还原成功。
但是,数据库服务启动失败:
这是因为,C:\dmdbms\data\DAMENG目录下的文件dm.ini不会自动生成,需要先初始化库,产生dm.ini文件,然后再进行还原:
c:\dmdbms\bin>dminit PATH=c:\dmdbms\data INSTANCE_NAME=DMSERVER