达梦数据库dmrman备份报错 os_pipe2_conn_server open failed分析

问题现象:

在将达梦数据库bin路径配置到环境变量path会,可以在任意木箱下执行dmrman命令,但是进入dmrman后执行备份I命令:
backup database ‘/dm7/data/DM01/dm.ini’; 会有如下报错:
[dmdba@localhost ~]$ dmrman
dmrman V7.6.0.197-Build(2019.09.12-112648)ENT
RMAN> backup database ‘/dm7/data/DM01/dm.ini’;
backup database ‘/dm7/data/DM01/dm.ini’;
file dm.key not found, use default license!
checking if the database under system path [/dm7/data/DM01] is running…[4].
checking if the database under system path [/dm7/data/DM01] is running…[3].
checking if the database under system path [/dm7/data/DM01] is running…[2].
checking if the database under system path [/dm7/data/DM01] is running…[1].
checking if the database under system path [/dm7/data/DM01] is running…[0].
checking if the database under system path [/dm7/data/DM01] is running, write dmrman info.
EP[0] max_lsn: 59275
BACKUP DATABASE [DM01],execute…
os_pipe2_conn_server open failed, name:[/home/dmdba/DM_PIPE_DMAP_LSNR_WR], errno:2
CMD END.CODE:[-7109],DESC:[Pipe connect failure]
[-7109]:Pipe connect failure

RMAN> exit

问题分析

经过在多种情况下进行验证,发现是因为当执行dmrman命令进行备份操作的时,会根据dmrman所在路径下寻找由DM_PIPE_DMAP开头的管道文件,而不是通过path设置的环境变量路径来寻找对应的管道文件,所以才会出现报错。上面的就是因为在dmdba用户的根目录下执行的dmrman命令,才会在/home/dmdba/目录下寻找管道文件失败报错。

问题解决

DM7中为避免出现该问题,第一种可以在达梦数据库dmrman所在的/bin目录下执行dmrman命令进行备份操作,第二种是直接以全路径来执行执行dmrman命令进行备份操作。此两种方式都可以避免备份报错的发生。
达梦数据库dmrman备份报错 os_pipe2_conn_server open failed分析_第1张图片
在DM8中还可以有第三中方式,通过把备份指令编辑在文本中,设置参数USE_AP=2,不使用管道文件进行数据库备份。
达梦数据库dmrman备份报错 os_pipe2_conn_server open failed分析_第2张图片

你可能感兴趣的:(达梦数据库)