Oracle RMAN物理备份Web系统

简介

这是一个基于 Web 的 Oracle RMAN 物理备份工具,提供直观的图形界面来管理数据库备份任务。支持本地(操作系统认证)和远程(SSH + 操作系统认证)备份,可手动创建任务或通过 Excel 批量导入,备份完成后自动将文件下载到本地,并跟踪任务状态与日志。

功能特点

  • 手动备份:单库配置,支持全量/增量/自动模式
  • 批量导入:通过 Excel 模板快速创建多个备份任务
  • 远程备份 :通过 SSH 连接到远程数据库服务器,执行 RMAN 命令(使用 / as sysdba 操作系统认证)
  • 文件下载:备份完成后自动通过 SFTP 将备份集下载到本地
  • 任务跟踪:实时查看任务状态、错误信息、RMAN 日志
  • 日志查看:可在线查看 RMAN 日志及下载调试日志文件
  • 跨平台:可打包为独立 exe,无需安装 Python 环境(Windows)

系统要求

  • 运行环境:Windows / Linux(建议 Windows 打包后使用)
  • 数据库环境 :目标 Oracle 数据库需启用归档模式,且操作系统认证可用(/ as sysdba 可登录)
  • 远程服务器 :需要 SSH 访问权限,且 sqlplusrman 命令可在远程执行(需正确设置环境变量)

快速开始

方式一:直接运行打包好的 exe(推荐)

  1. 下载 OracleBackupSystem.exe(联系管理员获取)。
  2. 双击运行,命令行窗口将显示服务地址(默认 http://127.0.0.1:5001)。
  3. 打开浏览器访问该地址,使用默认账号 admin / admin 登录。
  4. 开始使用。

配置说明

主要配置项在代码开头的"配置区域"中(若打包后无法修改,需在打包前调整):

  • BASE_BACKUP_DIR:本地备份文件存放根目录(默认 ~/backup
  • REMOTE_BACKUP_ROOT:远程服务器上临时存放备份文件的目录(默认 /home/oracle/backup
  • DEFAULT_SSH_USER:默认 SSH 用户名(默认 oracle
  • 登录账号密码:USERNAME / PASSWORD(默认 admin / admin

可通过环境变量 USER 覆盖默认 SSH 用户。

Excel 模板格式

模板可通过系统首页"生成 Excel 模板"下载,包含以下字段(第4行为表头,第5行为示例):

字段 说明 示例
IP地址 数据库主机 IP(本地填 127.0.0.1 192.168.1.100
端口 监听端口 1521
数据库用户名 远程备份时使用(本地留空) system
数据库密码 远程备份时使用(本地留空) oracle
数据库SID/服务名 数据库实例名或服务名 orcl11g
全量间隔(天) 自动模式下的全量间隔 7
保留天数(天) 备份保留策略 8
SSH用户 远程服务器登录用户 oracle
SSH密码 SSH 密码(若无密码请留空,使用密钥认证需另行配置)
远程环境设置 远程执行前的环境变量设置(如 export ORACLE_HOME=... export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1; export PATH=$ORACLE_HOME/bin:$PATH

本地备份时,只需填写 IP、端口、SID,用户名密码留空,SSH 相关字段留空。

使用步骤

  1. 登录系统 :默认账号 admin / admin
  2. 创建备份任务
    • 手动:填写数据库信息,选择备份类型(自动/全量/增量)。
    • 批量:上传符合格式的 Excel 文件,系统自动为每行创建任务。
  3. 任务监控:任务列表页可查看所有任务状态(pending/running/completed/failed)。点击任务 ID 进入详情页,可查看日志、下载备份文件。
  4. 下载文件:任务成功后,在详情页点击"下载备份文件"可浏览并下载备份集。

常见问题

Q: 远程备份失败,提示归档模式检查失败?

A: 请确认远程服务器上 sqlplus / as sysdba 可正常登录,且环境变量已正确配置(在 Excel 的"远程环境设置"中填写)。也可查看任务日志目录下的 check_archivelog_debug.log 获取详细错误。

Q: 备份成功但本地没有文件?

A: 检查本地备份目录(如 C:\Users\用户名\backup\rman\...)是否可写,或查看任务日志中的 SFTP 下载错误信息。

注意事项

  • 远程备份依赖 SSH 连接,请确保目标服务器允许密码或密钥登录。当前仅支持密码认证。
  • 备份文件下载使用 SFTP,确保远程服务器上的备份目录对 SSH 用户可读。

许可证

本项目仅供内部使用,未经许可不得分发。


如有问题或建议,请联系系统管理员。

操作截图