# 致远协同管理软件V10.0数据备份手册

北京致远互联软件股份有限公司 2025年08月

# 前言

本手册旨在帮助客户有效地规划和实施数据备份策略,确保数据在发生故障、丢失或其他不可预知情况时的可恢复性。如对手册存在疑问,可与致远互联的客户服务人员联系。

请注意:为保障数据安全,客户应制定合理的备份策略,保障数据安全可靠,避免事故发生后无法恢复数据;作为软件供应商,我们无法对客户数据恢复进行兜底负责,如果客户不具备相关运维能力,建议找第三方数据厂商进行协助

本手册适用范围:

分类 标准适用范围 备注
协同产品版本 A6、A8+、G6+ A8-N G6-N 10.0 -

# 数据备份的重要性

数据对于业务的持续运营至关重要。丢失关键数据可能导致严重的业务中断、经济损失和信誉损害。 定期备份是防止数据丢失的基础措施,可以大大缩短灾难恢复的时间。

数据备份的责任完全在于客户。客户应确保其备份系统充分、有效,能够在需要时提供可靠的数据恢复。

# 备份策略参考

  • 数据库数据

对于关键的业务数据,应通过SQL备份或导出等方式进行全面和定期备份;建议每天备份

  • 附件upload、resources等

可通过专业工具每天进行差异备份,如rsync工具

  • webapps/seeyon等程序文件

每次变更前做好完整备份,避免问题时无法正常回滚

  • 备份频率:

定期备份:设定每天、每周或每月的完整和增量备份计划,根据数据的重要性和变化频率调整。

  • 备份类型:

完整备份:定期进行,建议每周至少一次,以确保在任何时间点的数据完整性。

增量备份:每日备份自上次备份以来改变的数据,节省存储空间。

差异备份:备份自上次完整备份之后所有更改的数据,结合完整备份时用于快速恢复。

多点备份:在不同的物理设备上存储多个备份,以提高数据可用性。

异地备份:使用远程服务器或云存储将备份复制到不同地理位置,以防止区域性灾难的影响。

  • 自动化工具:

使用自动备份工具和脚本减少人为错误,并定期更新工具以支持最新的安全审计

# 验证备份数据的完整性

  • 校验和验证:

对于备份文件,可以使用校验和工具(如MD5、SHA-256)验证备份文件的完整性,确保备份没有损坏或数据丢失。

  • 定期恢复测试:

制定并执行定期的备份恢复演练,验证备份的有效性和恢复流程的可行性。

  • 日志和报告:

维护详细的备份与恢复日志,以监测备份过程中的任何异常,并生成定期报告审查备份策略的有效性。

# 协同数据说明

协同系统的数据主要分为:非结构化数据、结构化数据(数据库)。 协同系统提供的S1支持PostgreSQL、MySQL数据库的备份,其他数据的备份建议采用专业的备份软件或数据库自身的备份方法定期备份。 以下章节展开说明主要的非结构化数据目录,以及各数据库自身的备份方法。

# 非结构化数据备份与恢复

产品使用过程中,随业务开展将产生非结构化数据,如附件、索引文件等非结构化数据。具体有以下目录:

1725960031096.png

非结构化的数据备份,建议采用专业的文件备份软件进行定期备份。

# 数据库备份与恢复

提醒:

  • 定期做数据库备份;
  • 数据备份包分离存储;

# PostgreSQL数据备份与恢复

# PostgreSQL数据库的备份

启动【协同产品目录】/pgsql9.2.5/bin/pgAdmin3.exe;

在需要备份的数据库上右键,选择备份,如下图所示:

1725960546847.png

1725960558476.png

备份完成后的截图如下:

1725960572344.png

# PostgreSQL数据库的恢复

数据库名字上右键—恢复,选择刚才备份的文件,即可恢复。

1725960628688.png

在恢复后的数据库中执行以下SQL:

DROP CAST IF EXISTS (SMALLINT AS BOOLEAN);
DROP CAST IF EXISTS (BOOLEAN AS SMALLINT);
CREATE CAST (SMALLINT AS BOOLEAN) WITH INOUT AS IMPLICIT;
CREATE CAST (BOOLEAN AS SMALLINT) WITH INOUT AS IMPLICIT;
DROP CAST IF EXISTS (VARCHAR AS SMALLINT);
DROP CAST IF EXISTS (SMALLINT AS VARCHAR);
CREATE CAST (VARCHAR AS SMALLINT) WITH INOUT AS IMPLICIT;
CREATE CAST (SMALLINT AS VARCHAR) WITH INOUT AS IMPLICIT;

# MySQL数据备份与恢复

MySQL数据的备份与恢复可手工采用mysqldump的方式备份/恢复,亦可采用S1的备份功能(仅针对集中部署的MySQL服务,请参考S1备份恢复章节)。

# MySQL数据库的备份

  • 说明 备份前,请先停止产品服务,以保证数据的完整性。
  • 备份命令示例
mysqldump -uroot -p123456 -P3306 -h127.0.0.1 -E -R --single-transaction -B V50 >D:\backup\v50-2013.sql
  • 命令解释 -uroot:指定备份用户为root; -p123456:指定用户的密码,其中123456为密码,需要输入正确的root用户密码; -P3306:大写的字母P,指定mysql服务的端口,默认为3306; -h127.0.0.1:指定mysql服务的地址,默认127.0.0.1; -E:导出mysql的事件(events); -R:导出mysql的存储过程及函数; --single-transaction:此参数仅支持InnoDB引擎,此参数将锁表,为保持事务/数据一致性; -B V50:指定导出的数据库名称,其中V50为数据库名称;

    D:\backup\v50-2013.sql:指定备份文件的物理路径及文件名;

  • 其他说明 执行mysqldump命令,Windows系统需进入mysql程序的bin目录,Linux系统需进入/usr/bin目录。

# MySQL数据库的恢复

  • 说明 还原前,请确认当前数据库中与备份数据库名称一致的数据不再使用,恢复将覆盖对应数据库中的数据。
  • 还原命令示例
mysql -uroot -p123456 -P3306 -h127.0.0.1 <D:\backup\v50-2013.sql
  • 命令解释 -uroot、-p123456、-P3306、-h127.0.0.1:指定用户名、密码、端口、IP地址; < D:\backup\v50-2013.sql:指定恢复用sql文件的物理路径及文件名;
  • 其他说明 执行mysql命令,在Windows系统需要进入mysql程序的bin目录,Linux系统需进入/usr/bin目录。

# Oracle数据备份与恢复

Oracle数据的备份与恢复采用数据的导出导入方式。

# Oracle数据库备份恢复步骤概述

  • 第一步:选用exp、expdp中其中一种数据导出方法(推荐使用expdp方式),备份出原A8-V5服务数据;
  • 第二步:在目标数据库服务器上新建一个与原服务名称一样的表空间及用户;
  • 第三步:将备份出的A8-V5数据拷贝到目标数据库服务器上,对目标数据库选用imp、impdp中其中一种数据恢复方法,导入备份出来的A8-V5数据;
  • 第四步:在A8-V5应用服务器上,打开A8-V5安装目录中的ApacheJetspeed\conf,使用【A8-V5应用配置工具】修改A8-V5的数据库链接地址,指向新的数据库;
  • 第五步:重新启动A8-V5服务。

# imp/exp方式:

exp和imp是Oracle的工具程序,在成功安装了Oracle Client客户端后就可以执行imp或exp命令了。它们即可以在数据库客户端使用,也可以在数据库服务端使用。

# Windows数据库服务器:

在Windows中打开命令提示符,或者在开始->运行中输入cmd,回车后进入命令提示符窗口,在命令行中执行如下格式语句(如下两种语句在Linux下格式相同):

  • 导入数据格式:imp <用户名>/<密码>@ <instance_sid> file=</路径/文件名>.dmp full=y

  • 导出数据格式:exp <用户名>/<密码>@ <instance_sid> file=</路径/文件名>.dmp 如下图所示为Windows下导出数据的格式:

    1725960981292.png

注意:一定要记下A8-V5所使用的表空间名及用户名,方便在导入时创建表空间及用户。

在目标数据库服务器上创建好用户及表空间后,就可以使用imp命令导入备份出来的数据了。 如下图所示为Windows下导入数据的格式:

1725961001632.png

导入成功后,在命令行中会有如下提示:

1725961006480.png

# Linux数据库服务器:

在Linux下打开终端(应用程序->系统工具->终端),在命令行中先用su - oracle命令切换至Oracle用户下(Oracle用户有写入权限的路径,否则导出会报错的),如下图:

1725961041807.png

导出数据文件的目录最好选择Oracle用户的目录,可以在切换到Oracle用户后使用pwd命令查看Oracle用户的主目录,如下图:

1725961058694.png

在Oracle用户下,才能使用imp或exp命令。

如下图所示为Oracle用户下导出数据格式:

1725961065946.png

成功导出后会有如下提示:

1725961073740.png

在目标数据服务器上创建相同名称的数据库表空间及用户后,可以使用imp命令导入数据(导入前必须在目标数据库服务器上创建与原数据库相同名称的表空间及用户)。

下图为导入数据格式:

1725961079763.png

导入成功后会有如下提示:

1725961083998.png

# expdp/impdp方式:

EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。

# Windows数据库服务器:

在Windows命令提示符下,用SQLPLUS命令登录sys用户,如下图所示:

1725961106770.png

执行如下语句,创建导出/导入目录,并授权:

create or replace directory dumpdir as '导出/导入路径';
grant read, write on directory dumpdir to scott;

注:Scott用户不一定是在每个数据库中都存在的,只有在安装数据库的时候选择安装示例才有,并改成public用户。

执行格式及结果如下图所示:

1725961166619.png

在Sqlplus状态下输入exit,退出Sqlplus,在命令行中执行如下格式语句,执行导出、导入:

导出实例:expdp <用户名>/<密码>@<instance_sid> DIRECTORY = dumpdir DUMPFILE=<文件名>.dmp
导入实例:impdp <用户名>/<密码>@<instance_sid> DIRECTORY= dumpdir DUMPFILE=<文件名>.dmp

导出语句的格式如下图:

1725961201526.png

导入语句格式如下图(导入前必须在目标数据库服务器上创建与原数据库相同名称的表空间及用户):

1725961215933.png

# Linux数据库服务器:

在Linux终端中输入su - oracle切换至oracle用户,用pwd命令查看oracle用户的目录,如下图:

1725961231458.png

用Sqlplus登录要导出数据的账户,如下图:

1725961241828.png

在Sqlplus命令行中执行如下语句,创建导出/导入目录,并授权:

create or replace directory dumpdir as '导出/导入路径';
grant read, write on directory dumpdir to scott;

执行结果如下图:

1725961263407.png

在Sqlplus中输入exit退出到oracle用户命令行中,在此命令行中执行如下格式导出、导入语句:

导出实例:expdp <用户名>/<密码>@<instance_sid> DIRECTORY = dumpdir DUMPFILE=<文件名>.dmp
导入实例:impdp <用户名>/<密码>@<instance_sid> DIRECTORY= dumpdir DUMPFILE=<文件名>.dmp

执行格式如下图所示:

1725961280326.png

导入格式(导入前必须在目标数据库服务器上创建与原数据库相同名称的表空间及用户):

1725961286825.png

# SQLServer数据备份与恢复

# 物理备份方式

  1. 第一步:停止数据库服务

  2. 第二步:备份数据库对应的数据文件和日志文件,查看数据库的属性可以看到数据文件和日志文件的位置.如下图:

    1725961322753.png

# 逻辑备份方式

打开SSMS管理工具,右键需要备份的数据库,选择任务->备份:

1725961340821.png

点击添加选择备份文件路径和名称:

1725961348765.png

1725961355415.png

点击确定,弹出备份完成:

1725961366181.png

1725961375471.png

目录中生成备份文件:

1725961384648.png

# 数据恢复过程

创建同名数据库,右键选择属性:

1725961414262.png

在选项中,修改限制访问为单用户(SINGLE_USER):

1725961421526.png

右键数据库选择任务->还原->文件和文件组:

1725961428907.png

源设备选择实际备份文件路径点击确定:

1725961435344.png

1725961454932.png

1725961528064.png

左上方选项中勾选覆盖现有数据库点击确定开始还原:

1725961563847.png

弹出“成功还原了数据库“a8””,代表还原成功,点击确定:

1725961583353.png

编撰人:het、wangyxyf、huanghail