怎么配置归档,有哪些注意事项?错误号 [-8216]
错误号 -8216:指定或者默认归档目录中找不到归档日志,缺少本地或者远程归档。
DM 数据库开启归档方式:
- SQL 方式开启归档
alter database mount; |
- 图形界面方式开启归档:
选择【连接】,右键【管理服务器】,如下图所示:

进入系统管理页面,选择【配置】,点击【转换】,提示转换成功,如下图所示:

进入归档配置页面,归档模式选择【归档】,添加归档参数,填写归档目录,选择归档类型,填写文件大小,空间大小限制(注意归档路径可以有多个)。如下图所示:

返回系统管理页面,状态转换选择【打开】,重新打开数据库,如下图所示:

- 编辑配置文件方式开启归档
首先修改 dm.ini 文件的 arch_ini 参数为 1,然后在 dm.ini 文件目录新建 dmarch.ini 文件,添加以下内容:
ARCH_WAIT_APPLY = 1 |
重启数据库即可开启归档模式。
注意需要注意配置 ARCH_SPACE_LIMIT 参数,为 0 是不限制归档大小,其它数值为限制归档量大小,单位是 MB。
可以通过定时作业设置调度执行的数据库增量/全量备份吗
可以通过设置 job 来备份,操作方法如下:
- 图形界面创建 job 备份数据库:
全备:
点击【作业-新建作业】,如下图所示:

作业步骤-点击【添加】,如下图所示:

步骤类型选择【备份数据库】,填写备份路径(服务器上有权限的合适路径),备份方式选择【完全备份】。如下图所示:

作业调度-新建调度,如下图所示:

填写调度名称,选择调度类型为【反复执行】,频率选择每 1 周的星期日,执行一次,执行时间为【23:00:00】。如下图所示:

增量备份:
新建作业,如下图所示:

作业步骤-新建步骤,步骤类型选择【备份数据库】,备份方式选择:增量备份,增量备份需要指定基备份目录(其中需要有完全备份)。如下图所示:

作业调度-新建调度填写名称,调度类型选择【反复执行】,频率选择每 1 周的周一到周六,每天执行 1 次,执行时间为【23:00:00】。如下图所示:

- 通过 SQL 创建 job 备份数据库
--周日全备 |
执行备份命令报错[-137]
【问题现象】:
Linux 环境,数据库实例服务开启状态下,使用 dmdba 用户在 bin 目录下启动 DMRMAN 工具,执行备份命令报错 [-137]: 服务器正在运行或者存在其他进程正在操作同一个库。

【问题原因】:
DmServerDMSERVER 服务没有关闭。DMRMAN 是脱机备份,备份时一定要关闭数据库。
【解决方法】:
使用 root 执行如下命令关闭数据库实例服务(DMSERVER 是数据库实例名)即可。
[root@localhost ~]# systemctl stop DmServiceDMSERVER.service |
执行备份命令报错[-135]
【问题现象】:
Windows 10 环境,数据库实例服务开启状态下,在 bin 目录下启动 DMRMAN 工具,执行备份命令报错 [-135]: 创建信号量失败。

【问题原因】:
DmServerDMSERVER 服务没有关闭。
【解决方法】:
使用 DM 服务查看器关闭 DmServerDMSERVER 服务。
周期性备份脚本
--周日全备 |
也可以通过定时作业设置调度执行的。
表空间还原时报错:表空间名不能为空
在进行表空间备份还原时,表空间名如果未选择,直接进行还原,会报【表空间名不能为空】错误,并且在查看还原表空间的 DDL 时发现,表空间名不存在。


正确还原表空间的方法如下:
在联机还原表空间时,选择需要还原的表空间备份,在表空间名选项中,下拉框中选择需要还原的表空间名即可进行还原。

还原成功后,会弹出提示界面。

自带的备份还原工具与 dmrman 的区别
DM 数据库安装完成后,在程序目录 bin 下有自带的 dmbackup/dmresore 工具,这两个工具一般用来选择 DM 数据库早期的备份还原,不是基于备份集组织的备份还原,即适用于 V1.0 版本备份还原。
而新版 DM 数据库引入了备份片、元数据文件、备份集等概念,提供第三方备份(TAPE 类型)接口,支持 RAC 备份,使用 DMRMAN 工具进行脱机备份还原,即 V2.0 版本备份还原。综合性能和灵活性优先推荐使用 V2.0 版本备份还原方式。
查看当前环境备份最便捷的方式是,查看每一次备份目录下是否有 .meta 元数据文件,如果有则是 V2.0 备份集备份方式,如果没有则是 V1.0 备份方式。
具体使用方法和配置方法详见《DM 备份与还原手册》。(手册位于数据库安装路径 /dmdbms/doc/special 文件夹下)。
dmrman 的用途
类似于 Oracle 的 rman 工具,DM 数据库提供了脱机备份还原管理工具 dmrman,由它来统一负责库级脱机备份、脱机还原、数据库恢复等相关操作,该工具支持命令行指定参数方式和控制台交互方式执行,降低了用户的操作难度。
当安装 DM 数据库后,dmrman 可执行程序就位于程序目录 bin 下,直接使用 ./dmrman 就可以进入 dmrman 命令行交互环境中,具体使用方法和配置方法详见《DM 备份与还原手册》。(手册位于数据库安装路径 /dmdbms/doc/special 文件夹下)。
备份集还原报错[管道连接失败]
DM 数据库通过备份集方式进行的物理完全备份时,在 restore 或者 recover 阶段可能会报错 CMD END.CODE: [-7105],DESC: [管道连接超时] [-7105]: 管道连接超时。
遇到这样的问题一般是在 restore 阶段,需要检查两点:
- dmap 是否启动,需要使用 dmap 来进行备份集还原。
- 使用正确的用户启动 dmap,需要保证存放备份集文件的备份集目录有读取权限。
如果在 resore 阶段成功,在 recover 阶段报如上错误,则有可能是 dmap 问题,需要直接使用 dmrman 来进行 recover,命令如下:
./dmrman use_ap=2 |
参数 use_ap=2 表示直接使用 dmrman 来还原,默认为使用 dmap。
- [-7105]: 管道连接超时,pipe connect timeout
【问题现象】:
中标麒麟 7 环境,使用 root 用户启动 DMRMAN 工具,执行备份命令报错 [-7105]: 管道连接超时。

【问题原因】:
DM 数据库不是通过 root 用户安装,所以不能使用 root 启动 DMRMAN 工具,需要使用 DM 数据库安装用户启动。
【解决方法 1】:
使用 DM 安装用户 dmdba 启动 DMRMAN 工具,执行备份命令即正常。
【解决方法 2】:
需要启动 dmap 服务,可以查看 dmap 服务是否开启 ps -ef|grep dmap,启动 DMAP 服务在 /opt/dmdbms/bin 目录下,执行 ./dmap。
具体使用方法和配置方法详见《DM 备份与还原手册》。(手册位于数据库安装路径 /dmdbms/doc/special 文件夹下)。
DAMP 服务:https://www.cndba.cn/dave/article/3579
dmap 启动报管道已存在连接失败
- dmap 服务启动报错: [-7157] Name pipe exits

提示管道文件已经存在。
- 原因分析:dmap 服务没有正常关闭,如直接 kill dmap 服务,管道文件没有释放。
- 解决方法:切换到 dmdbms/bin 下面,找到原来的管道文件,删除,重新启动 dmap 服务。

- dmap 服务的启动用户,必须是 DM 数据库的安装用户。例如:数据库是用 dmdba 用户安装的,那么就要用 dmdba 用户去启动;如果是 root 用户安装的,就用 root 用户去启动。
- 如果命令配置了环境变量,则必须到
dmdbms/bin目录下面,执行./dmap启动 dmap 服务,否则备份数据库报错Pipe connect failure!

[-7103]: 创建命名管道失败
【问题现象】:
中标麒麟 7 环境,在将 DM 数据库 bin 路径配置到环境变量 path 中,可以在任意目录下执行 DMRMAN 命令,但是进入 DMRMAN 后执行备份命令,会有如下报错 [-7103]: 创建命名管道失败。

【问题原因】:
当执行 DMRMAN 命令进行备份操作的时,会根据 DMRMAN 命令所在路径下寻找由 DM_PIPE_ 开头的管道文件,而不是通过 path 设置的环境变量路径来寻找对应的管道文件,DM_PIPE_ 一般是在 bin 目录下生成。
【解决方法 1】:
使用 DM 数据库安装用户 dmdba 进入 DM 数据库安装路径 …/bin 目录下启动 DMRMAN 工具,执行备份脚本提示成功。

【解决方法 2】:
DM 数据库备份还原依赖 dmap 服务,必须启动,且一定要正确的用户启动。
- 如果 dmserver 是 dmdba 用户启动的,则 dmap 也要用 dmdba 用户启动。
- 前端命令启动方式
cd /home/dmdba/dmdbms/bin |
- 也可通过操作系统服务的方式启动
systemctrl start DmAPService |
否则会报错,如下所示:
os_pipe2_create_server_with_name, name:[ /DM_PIPE_DMRMAN-3676_1_RD], error:[2] |
假如 1、2 或者 1、3 都无问题,依旧报错:
os_pipe2_create_server_with_name, name:[ /DM_PIPE_DMRMAN-3676_1_RD], error:[2] |
可进行以下操作:
cd /home/dmdba/dmdbms/bin |
完成后再依次进行 1、2 或者 1、3 操作步骤。
[-8109]: 创建 dmap 管道失败
【问题现象】:
中标麒麟 7 环境,dmdba 在 bin 目录下启动 DMRMAN 工具,执行备份命令报错 [-8109]: 创建 dmap 管道失败,请检查 dmap 是否已经启动。

【问题原因】:
没有启动 DmAPService 服务。
【解决方法】:
使用 root 用户执行如下命令启动 DmAPService 服务,启动后执行备份命令正常。
[root@localhost ~]# systemctl start DmAPService.service |

如若 Windows 10 环境下,DmAPService 服务已启动,仍然报这个错误,请使用以管理员身份运行 cmd 命令;同样如果在控制台工具上也报此错误,请使用以管理员身份运行控制台工具。

备份报错 [-8084]: 起始 LSN [47619] 小于等于基备份结束 LSN [47631]
【解决方法】:
未找到基备份,如果未指定基备份,DM 数据库会去默认的路径下查找基备份,默认路径可执行以下语句。
select para_name,para_value from v$dm_ini where para_name='BAK_PATH'; |
【解决方法】:
增量备份时指基备份集,使用以下命令。
backup database increment with backupdir ‘基备份路径‘ backupset ‘备份路径’; |
原文链接:https://blog.csdn.net/fffpppccc/article/details/104506961
同时注意全量备份后需要对数据操作一下,例如加一条数据之类的,要不然没有增量,自然不能增量备份。
备份的时候报错:创建 dmap 管道失败
【用户场景】:
用户用的是 root 安装 DM 数据库,用 root 启动的 DM 数据库服务,用 root 做的备份操作,用 root 在 bin 目录下启动的 dmap 服务并且可以看到 dmap 服务已经启动。
【解决方法】:
- 按照安装手册,用 dmdba 用户安装并启动 DM 数据库服务,用 dmdba 启动 dmap 服务,不要使用 root 用户。
- dm.ini 里面 BAK_USE_AP 改成 2 ,重启实例(如果您用 dmran 话,需要将 dmrman use_ap 修改为 2)。
Windows 下配置归档目录报错:归档目标无效
举例如下:
ALTER DATABASE ADD ARCHIVELOG 'DEST = d:/test, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048'; |
报错:归档目标无效
【解决方法】:
ALTER DATABASE ADD ARCHIVELOG 'DEST = D:/test, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048'; |
修改 DEST 路径,建议选择路径的时候直接复制文件路径,不要自己写,避免写错。




