第1行附近出现错误[-8003]:缺少本地或者远程归档.
2019-12-22 21:44阅读:
今天在做达梦数据库备份测试时报错,记录一下报错解决过程 SQL> backup database full backupset
'/opt/dm7/backup/full_back';
backup database full backupset '/opt/dm7/backup/full_back';
第1 行附近出现错误[-8003]:缺少本地或者远程归档.
已用时间: 0.732(毫秒). 执行号:0.
很是奇怪,本地归档我从图形界面做了配置,日志也没有报错,百思不得其解,后来查了一下官方文档,归档的配置主要涉及两个文件,一个是dm_ini和dmarch_ini,只能从目录下去找这两个文件
![第1行附近出现错误[-8003]:缺少本地或者远程归档. 第1行附近出现错误[-8003]:缺少本地或者远程归档.](http://s14.sinaimg.cn/bmiddle/001N2SGizy7zz2uhGhL4d&690)
配置归档的过程中我以root用户从图形界面进行配置的,问题就出在这,配置后在dmarch_ini文件是root权限,导致文件内容也是空的,因此我修改了权限,重新将库启动到mount状态进行配置
chown -R dmdba:dinstall
dmarch.ini
SQL> alter database mount;
操作已执行
已用时间: 00:00:01.861. 执行号:0.
SQL> alter databa
se add archivelog
'type=local,dest=/opt/dm7/arch,file_size=64,space_limit=0';
alter database add archivelog
'type=local,dest=/opt/dm7/arch,file_size=64,space_limit=0';
第1 行附近出现错误[-806]:重复的归档配置目标.
已用时间: 0.628(毫秒). 执行号:0.
很是奇怪,dmarch_ini文件都是空的,那来的重复归档目标,再次查询官方文档,发现归档与dm.ini中的参数值为ARCH_INI
=
0,在归档模式下,该值必须为1,
于是将数据库将掉后,将值修改为1
[dmdba@localhost init.d]$ service
DmServiceDMSERVER stop
Stopping DmServiceDMSERVER:
[ OK ]
cd
/opt/dm7/dmdbms/data/DAMENG
然后手工修改dm.ini中的ARCH_INI参数值为1
[dmdba@localhost init.d]$ service
DmServiceDMSERVER start
Starting DmServiceDMSERVER:
[ OK
]
说明:dm.ini可以手工修改,像当于oracle的pfile文件
再次登陆数据库手工设置归档
[dmdba@localhost init.d]$ disql
sysdba/wangxw123
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间: 4.274(毫秒)
disql V7.6.0.197-Build(2019.09.12-112648)ENT
SQL> select arch_mode from
v$database;
行号
ARCH_MODE
---------- ---------
1 Y
--看来dm.ini参数中的ARCH_INI=1表是归档,0是非归档
已用时间: 4.348(毫秒). 执行号:3.
SQL> alter database mount;
操作已执行
已用时间: 00:00:01.855. 执行号:0.
SQL> alter database add archivelog
'type=local,dest=/opt/dm7/arch,file_size=64,space_limit=0';
操作已执行
已用时间: 0.678(毫秒). 执行号:0.
SQL> alter database
archivelog;
操作已执行
已用时间: 0.604(毫秒). 执行号:0.
SQL> alter database open;
操作已执行
已用时间: 721.982(毫秒). 执行号:0.
再次进行备份,备份成功
SQL> backup database full backupset
'/opt/dm7/backup/full_back';
backup database full backupset
'/opt/dm7/backup/full_back';
[-7105]:管道连接超时.
已用时间: 00:00:10.046. 执行号:0.
配置总结:建议整个过程用命令行进行配置,否则可能会导致dmarch.ini文件权限不对,导致备份过程中报错