一、备份前必做:3 项核心准备(软硬件 + 权限 + 环境配置)

通过 ABB 备份 Oracle 数据库需满足严格的软硬件兼容性与权限配置,提前排查可避免后续操作失败,官方明确以下 3 项准备工作:

1.1 软硬件兼容性要求(必须满足)

ABB 对 Oracle 数据库版本、NAS 型号、ABB 套件版本有明确限制,不满足会导致备份任务无法创建:
类别
具体要求
不满足的后果
推荐配置(企业级)
Oracle 数据库版本
11g R2、12c R1/R2、18c、19c、21c(仅企业版 / 标准版)
无法识别数据库实例,备份任务创建失败
Oracle 19c Enterprise Edition(稳定性高,官方优先支持)
Synology NAS 型号
需支持 ABB 高级功能(如 RS2423+、FS6400、DS923+)
ABB 无 “Oracle 备份” 模块,仅显示文件 / 虚拟机备份
RS2423+(4 盘位企业级,支持 RAID 6,数据冗余)
ABB 套件版本
3.0.0 及以上(DSM 7.0 及以上系统)
缺少 Oracle JDBC 驱动,无法连接数据库
ABB 3.2.0+(含最新兼容性修复)
客户端代理版本
与 ABB 套件版本一致(如 ABB 3.2.0→代理 3.2.0)
通信协议不匹配,备份过程中断
自动同步 ABB 套件版本(通过 DSM 套件中心更新)
必要工具
Oracle Client(32/64 位,与数据库匹配)、JDBC 驱动(ojdbc8.jar)
无法解析 SQL 命令,数据库连接失败
Oracle Client 19c、ojdbc8.jar(官方推荐版本)

1.2 权限配置(核心!避免备份时权限不足)

需为 ABB 分配 Oracle 数据库与 NAS 的双重权限,确保能读取数据库数据并写入 NAS 存储:

1.2.1 Oracle 数据库端权限(创建专用备份用户)

  1. 登录 Oracle 数据库服务器(如 Windows Server 2022),打开「Oracle SQL Developer」;
  1. 执行以下 SQL 语句,创建专用备份用户(如 “syno_abb_backup”)并授予权限:
-- 创建用户并设置密码(密码建议含大小写+数字,如Syno@1234)CREATE USER syno_abb_backup IDENTIFIED BY Syno@1234;-- 授予备份必需权限(官方推荐最小权限集)GRANT CONNECT, RESOURCE, DBA TO syno_abb_backup;GRANT SYSBACKUP TO syno_abb_backup; -- 备份专用系统权限GRANT SELECT ANY DICTIONARY TO syno_abb_backup; -- 允许读取数据字典GRANT ALTER SYSTEM TO syno_abb_backup; -- 允许执行系统命令(如切换日志)
  1. 验证权限:执行SELECT * FROM DBA_USERS WHERE USERNAME = 'SYNO_ABB_BACKUP';,确认用户状态为 “OPEN”。

1.2.2 NAS 端 ABB 权限(启用高级备份功能)

  1. 登录 DSM 管理界面,打开「Active Backup for Business」套件;
  1. 点击左侧「设置→高级功能」,勾选「启用 Oracle 数据库备份」(仅 ABB 3.0 + 显示此选项);
  1. 点击「导入 JDBC 驱动」,上传下载好的 “ojdbc8.jar” 文件(需与 Oracle 版本匹配,19c 对应 ojdbc8);
  1. 点击「应用」,重启 ABB 服务(约 1 分钟),确保 Oracle 备份模块生效。

1.3 环境检查(避免网络与存储问题)

  1. 网络连通性:
    • 在 Oracle 服务器上 ping NAS 的 IP(如 192.168.1.100),确保网络延迟<10ms,无丢包;
    • 验证 Oracle 数据库端口(默认 1521)是否开放:在 NAS 上执行telnet 192.168.1.200 1521(192.168.1.200 为 Oracle 服务器 IP),能连接说明端口正常。
  1. 存储空间:
    • 在 NAS「存储管理器」中,确认备份目标存储池剩余容量≥Oracle 数据库总大小的 1.5 倍(预留增量备份空间);
    • 例如:Oracle 数据库大小为 100GB,存储池剩余容量需≥150GB。

二、核心流程:通过 ABB 备份 Oracle 数据库(全量 + 增量)

ABB 支持 “全量备份”(完整备份数据库所有数据)与 “增量备份”(仅备份上次备份后变化的数据),可根据业务需求选择,以下是详细步骤:

2.1 步骤 1:在 Oracle 服务器安装 ABB 代理

ABB 需通过客户端代理与 Oracle 数据库通信,必须先在数据库服务器安装代理:
  1. 登录 NAS 端「Active Backup for Business」→点击左侧「设备→添加设备」;
  1. 选择「Oracle Database」→点击「下载代理」,根据 Oracle 服务器系统(Windows/Linux)选择对应版本;
  1. 在 Oracle 服务器上安装代理:
    • Windows 服务器:双击安装包,选择「完整安装」(含 Oracle 备份组件),按提示完成(需管理员权限);
    • Linux 服务器:执行命令安装(以 CentOS 8 为例):
sudo rpm -ivh synology-active-backup-business-agent-3.2.0-xxxx.x86_64.rpmsudo systemctl start synoabb-agent # 启动代理服务sudo systemctl enable synoabb-agent # 设置开机自启
  1. 验证代理状态:在 NAS「设备」列表中,找到 Oracle 服务器,状态显示 “在线”,说明代理安装成功。

2.2 步骤 2:创建 Oracle 数据库备份任务(全量备份)

全量备份适合首次备份或定期完整数据备份(如每周日执行),步骤如下:
  1. 登录 NAS「Active Backup for Business」→点击左侧「任务→创建」;
  1. 选择「Oracle Database」→点击「下一步」;
  1. 选择目标设备:在设备列表中勾选已安装代理的 Oracle 服务器,点击「下一步」;
  1. 配置数据库连接参数(关键!确保能正常连接):
    • 「数据库类型」:选择「Oracle Database」;
    • 「连接方式」:选择「TNS 名称」或「直接连接」(推荐直接连接,配置更简单);
      • 直接连接:输入「数据库 IP」(192.168.1.200)、「端口」(1521)、「服务名」(如 ORCLCDB,可通过 Oracle 服务器执行lsnrctl status查看);
    • 「认证方式」:选择「数据库认证」,输入之前创建的备份用户(syno_abb_backup)与密码(Syno@1234);
    • 点击「测试连接」,显示 “连接成功” 后点击「下一步」;
  1. 选择备份内容与策略:
    • 「备份内容」:勾选需备份的数据库实例(如 ORCLCDB);
    • 「备份类型」:选择「全量备份」;
    • 「备份计划」:设置执行时间(如每周日 0:00)、重复周期(每周 1 次);
    • 「保留策略」:设置保留时间(如保留 30 天,自动删除过期备份);
  1. 选择备份目标:勾选 NAS 上的备份存储池(如 Storage Pool 1),点击「下一步」;
  1. 配置高级选项(按需启用):
    • 「启用压缩」:勾选(减少备份文件占用空间,推荐启用);
    • 「启用加密」:勾选(输入加密密码,防止备份数据泄露);
    • 「备份后验证」:勾选(自动检查备份文件完整性,避免无效备份);
  1. 点击「完成」,备份任务创建成功,到指定时间会自动执行;
  1. 手动触发测试:在任务列表中找到新创建的任务,点击「立即执行」,观察进度条,显示 “成功” 说明全量备份完成。

2.3 步骤 3:创建增量备份任务(减少备份时间与空间)

增量备份仅备份上次全量 / 增量备份后变化的数据(如每天执行),步骤在全量任务基础上调整:
  1. 进入「任务→创建」→选择「Oracle Database」→下一步;
  1. 选择同一 Oracle 服务器,配置相同的数据库连接参数(与全量任务一致);
  1. 「备份类型」选择「增量备份」,并在「基于全量备份」中选择之前创建的全量备份任务;
  1. 「备份计划」设置为每天 0:00 执行,保留策略与全量任务一致;
  1. 后续步骤与全量备份一致,完成后增量任务会基于全量备份自动同步变化数据,备份时间比全量缩短 60%-80%。

三、恢复流程:通过 ABB 恢复 Oracle 数据库(3 大场景)

当 Oracle 数据库因误操作、硬件故障导致数据丢失时,可通过 ABB 快速恢复,官方支持 3 种核心恢复场景,需根据实际需求选择:

3.1 场景 1:完整恢复(恢复到最新备份状态)

适用于数据库完全损坏(如硬盘故障),需恢复到最近一次备份的完整数据:
  1. 登录 NAS「Active Backup for Business」→点击左侧「恢复→Oracle Database」;
  1. 选择恢复源:
    • 「任务」:选择对应的 Oracle 备份任务;
    • 「恢复点」:选择最新的全量 / 增量备份(如 2024-06-10 的增量备份);
    • 点击「下一步」;
  1. 选择恢复目标:
    • 「恢复到原始设备」:勾选(恢复到原 Oracle 服务器的原数据库实例,推荐);
    • 若原服务器故障,可选择「恢复到其他设备」(需提前在新服务器安装 ABB 代理);
  1. 配置恢复选项:
    • 「恢复模式」:选择「完整恢复」;
    • 「覆盖现有数据库」:勾选(需确认原数据库已停止服务,避免文件占用);
    • 点击「下一步」;
  1. 验证恢复条件:确认 Oracle 服务器代理在线、数据库服务已停止(关键!否则无法覆盖文件);
  1. 点击「开始恢复」,等待恢复完成(100GB 数据约需 20 分钟);
  1. 恢复后验证:
    • 启动 Oracle 数据库服务(Windows:「服务」中启动 OracleServiceORCLCDB;Linux:sudo systemctl start oracle);
    • 登录 Oracle SQL Developer,执行SELECT COUNT(*) FROM 业务表名;,确认数据量与备份前一致,恢复成功。

3.2 场景 2:点时间恢复(恢复到特定时间点数据)

适用于 “误删除数据后,需恢复到删除前的某个时间点”(如 6 月 10 日 10:00 误删表数据,需恢复到 9:30):
  1. 进入「恢复→Oracle Database」,选择对应备份任务;
  1. 「恢复点」选择包含目标时间点的增量备份(如 6 月 10 日的增量备份);
  1. 勾选「启用点时间恢复」,设置目标时间(如 2024-06-10 09:30:00);
  1. 后续步骤与完整恢复一致,恢复完成后,数据库会回到设置的时间点状态,误删数据可找回。

3.3 场景 3:单表恢复(仅恢复丢失的单个表,不影响其他数据)

适用于 “仅单个表数据丢失,无需恢复整个数据库”(如客户表丢失,其他表正常),需先恢复备份到临时实例,再提取单表数据:
  1. 按场景 1 的步骤,将备份恢复到 “临时数据库实例”(如 ORCLCDB_TEMP,避免覆盖原数据库);
  1. 登录临时实例,执行 SQL 语句导出丢失的表数据(如客户表 CUSTOMERS):
EXPDP syno_abb_backup/Syno@1234 DIRECTORY=DATA_PUMP_DIR DUMPFILE=CUSTOMERS.dmp TABLES=CUSTOMERS
  1. 将导出的 CUSTOMERS.dmp 文件复制到原 Oracle 服务器;
  1. 登录原数据库实例,执行导入语句:
IMPDP syno_abb_backup/Syno@1234 DIRECTORY=DATA_PUMP_DIR DUMPFILE=CUSTOMERS.dmp TABLES=CUSTOMERS
  1. 验证:执行SELECT * FROM CUSTOMERS;,确认数据已恢复,且其他表数据不受影响。

四、常见问题解答(备份 / 恢复失败的高频痛点)

Q1:备份任务提示 “数据库连接失败”,怎么办?

A1:核心原因是 “连接参数错误” 或 “权限不足”,解决步骤:
  1. 检查连接参数:确认数据库 IP、端口、服务名正确(服务名可在 Oracle 服务器执行select sys_context('USERENV','SERVICE_NAME') from dual;查看);
  1. 验证备份用户权限:登录 Oracle 执行SELECT * FROM SESSION_PRIVS WHERE GRANTEE = 'SYNO_ABB_BACKUP';,确认包含 SYSBACKUP、ALTER SYSTEM 权限;
  1. 检查 Oracle 监听服务:在服务器执行lsnrctl start,确保监听服务正常运行;
  1. 关闭防火墙:暂时关闭 Oracle 服务器与 NAS 的防火墙,测试连接,排除端口被拦截。

Q2:增量备份执行成功,但恢复时无法找到增量数据,怎么办?

A2:原因是 “增量备份与全量备份关联失败”,解决方法:
  1. 确认增量任务的 “基于全量备份” 选择正确(需选择同一数据库实例的全量任务);
  1. 检查全量备份是否被删除:在「备份→恢复点」中,确认全量恢复点未过期或手动删除;
  1. 重新创建增量任务:删除原增量任务,重新创建,确保 “基于全量备份” 选择正确,执行一次全量备份后再执行增量。

Q3:恢复后 Oracle 数据库无法启动,提示 “数据文件损坏”,怎么办?

A3:多为 “恢复时数据库服务未停止,导致文件覆盖不完整”,解决步骤:
  1. 停止 Oracle 数据库服务:
    • Windows:「服务」中右键「OracleServiceORCLCDB→停止」;
    • Linux:sudo systemctl stop oracle;
  1. 删除原数据库数据文件(默认路径:$ORACLE_BASE/oradata/ORCLCDB);
  1. 重新执行恢复任务,确保 “覆盖现有数据库” 勾选;
  1. 恢复完成后,执行sqlplus / as sysdba登录,执行startup启动数据库,通常可正常启动。

总结

通过 Synology ABB 备份恢复 Oracle 数据库,核心是 “提前做好兼容性准备、精准配置连接参数、合理选择备份策略”—— 全量备份保障完整数据基础,增量备份减少时间与空间占用,多场景恢复满足不同故障需求。企业管理员需定期验证备份有效性(如每月执行一次恢复测试),避免 “备份成功但无法恢复” 的风险。
若需进一步了解 “Oracle RAC 集群的备份配置”“跨版本 Oracle 数据库恢复兼容性”,可参考 Synology 官方教程(https://kb.synology.cn/zh-cn/DSM/tutorial/backup_and_restore_Oracle_DB_via_ABB),或通过 ABB 套件内「支持」按钮提交日志,获取官方针对 Oracle 数据库的定制化技术支持。
Synology ABB 备份恢复 Oracle 数据库完整指南:步骤 + 策略 + 故障解决

新闻中心

联系我们

技术支持

  • ·

    Synology Drive 我...

  • ·

    Synology Drive 与...

  • ·

    Synology Drive 内...

  • ·

    Synology Drive 同...

  • ·

    Synology删除文件后存储空...

  • ·

    Synology DSM 检查系...

  • ·

    Synology Drive能当...

  • ·

    Synology Docker容...

相关文章

地址:北京市海淀区白家疃尚品园             1号楼225

北京群晖时代科技有限公司

微信咨询

新闻中心