DM8单机备份与还原方式整理

DM8数据库的备份还原包括两种类型:

  1、物理备份还原。
    物理备份还原是对数据库的操作系统物理文件(如数据文件、控制文件和日志文件等)的备份还原。
  2、逻辑备份还原。
    逻辑备份还原是对数据库逻辑组件(如表、视图和存储过程等数据库对象)的备份还原。比如表导出,导出的就是建表语句和insert语句。
  DM8的dexp和dimp是逻辑备份,其他的都是物理备份。

DM8单机备份还原方式

备份要求DmAPService服务是开启状态。

除了表还原,其他的物理备份的还原都需要在脱机的状态下。

1、 冷备份

1)console(DM控制台工具) 脱机备份还原

适用于windows系统或者有图形化的linux系统。

A)备份

a、停掉数据库服务
b、新建备份。指定dm.ini其他各个选项默认即可,这样备份文件会创建在指定的dm.ini所对应的数据库的bak文件夹下。
c、启动数据库服务

B)还原

1)console(DM控制台工具)还原
a、选择备份文件,点击还原,选择dm.ini路径勾选还原时覆盖已存在的文件

 

b、点击恢复,选择对应的dm.ini

 

 

 

c、点击更新DM_MAGIC,选择还原库的dm.ini

每个数据库都有自己的魔法值,还原后需要更新魔法值

 

 

 

 

d、启动数据库服务

 

 

 

 

2)脱机DMRMAN物理备份还原。

各种类型的系统都适用。windows上是命令行连接dmrman,和linux上用法差不多。

A) 全库备份还原

参考《DM8备份与还原.pdf》手册。

B) 增量备份还原

备份时,在全量备份的基础上,如果在默认备份目录,会自己找基备份,不然需要指定基备份目录。备份的内容只是指定全量备份到当前增量备份之间新增的内容,全量备份后新增的内容不会备份,需要的话就结合归档实现。

举个特殊的实例:

       我在5236上开启归档arch1,创建全量备份bak1,在全量备份bak1的基础上创建增量备份bak2,在5236创建了一张表test,这个时候用bak2去恢复5237,5237是关闭状态,5236是开启状态。恢复好5237后,发现5237上并没有test表。如果希望5237上有这张表,在recover的时候选择从归档arch1恢复即可,其他没有任何变化,先restore,再recover,最后更新magic,dm8要求必须更新magic。

       在测试的时候遇到一个坑,一开始用bak去恢复5237失败,报错“数据文件读写出错”,经检查发现是权限的问题,我5236是dmdba用户创建的,5237是root用户创建的,把5237库赋给dmdba用户和dminstall用户组即可。

 chown -R dmdba:dminstall /DAMENG2/

 

 

2、 热备份

1)联机SQL物理备份。

各种类型的系统都适用。windows上直接在DMNANAGER(DM管理工具)上执行,或者是是命令行连接disql执行,和linux上用法差不多。

参考《DM8备份与还原.pdf》手册。

2)DMNANAGER(DM管理工具)联机备份

适用于windows系统或者有图形化的linux系统。

包括库备份、表备份、表空间备份和归档备份。

除了表备份还原,其他的联机备份与还原必须运行在归档模式下,利用归档日志,系统可以恢复致故障发送的前一刻。

表还原只支持在联机状态下执行,其他的,如库还原、表空间还原等都是在脱机状态下还原。

比如你修改了一张表,想还原的话,如果没有对这张表进行单独备份,则需要关机并还原整个库。

即使你备份了这张表,也只能恢复到备份当前的状态,之后的修改也无法恢复,因为表备份不支持增量备份。

磁盘阵列(Redundant Arrays of Independent Disks,RAID)要比一般的盘还原速度快。

 

A)备份

a、转换数据库状态

 

 

 

b、添加归档

 

 

 

 

 

c、打开数据库

 

 

 

d、新建完全备份

 

 

 

e、新建增量备份

 

 

 

B)还原(不支持联机还原)

dmrman脱机还原。

3)dexp和dimp是逻辑备份还原。

各种类型的系统都适用。

A) DMNANAGER(DM管理工具)联机备份还原。

a、导出

右键-导出

可以导出库、模式、表等

 

b、导入

右键导入即可

如果是导入到同一个模式,有重名表的话,可以选择表存在时的操作方式

 

 

 

 

 

B) 命令方式

参考《DM8_dexp和dimp使用手册.pdf》手册。

注意:导出目录需要提前手动创建好。

 

其他说明:

  DM8还原基本都是脱机还原。
  表还原只支持在联机状态下执行,其他的,如库还原、表空间还原等都是在脱机状态下还原。
  比如你修改了一张表,想还原的话,如果没有对这张表进行单独备份,则需要关机并还原整个库。
  即使你备份了这张表,也只能恢复到备份当前的状态,之后的修改也无法恢复,因为表备份不支持增量备份。
  磁盘阵列(Redundant Arrays of Independent Disks,RAID)要比一般的盘还原速度快。
  除了表备份还原,其他的联机备份与还原必须运行在归档模式下,利用归档日志,系统可以恢复致故障发送的前一刻。

  库备份支持增量备份
  表备份不支持增量备份
  表空间备份支持增量备份
  归档备份不支持增量备份

  

更多资讯请上达梦技术社区了解: https://eco.dameng.com

posted @ 2021-07-09 17:31  xiaowu222  阅读(811)  评论(0)    收藏  举报