简介
这是一个基于 Web 的 Oracle RMAN 物理备份工具,提供直观的图形界面来管理数据库备份任务。支持本地(操作系统认证)和远程(SSH + 操作系统认证)备份,可手动创建任务或通过 Excel 批量导入,备份完成后自动将文件下载到本地,并跟踪任务状态与日志。
功能特点
- ✅ 手动备份:单库配置,支持全量/增量/自动模式
- ✅ 批量导入:通过 Excel 模板快速创建多个备份任务
- ✅ 远程备份 :通过 SSH 连接到远程数据库服务器,执行 RMAN 命令(使用
/ as sysdba操作系统认证) - ✅ 文件下载:备份完成后自动通过 SFTP 将备份集下载到本地
- ✅ 任务跟踪:实时查看任务状态、错误信息、RMAN 日志
- ✅ 日志查看:可在线查看 RMAN 日志及下载调试日志文件
- ✅ 跨平台:可打包为独立 exe,无需安装 Python 环境(Windows)
系统要求
- 运行环境:Windows / Linux(建议 Windows 打包后使用)
- 数据库环境 :目标 Oracle 数据库需启用归档模式,且操作系统认证可用(
/ as sysdba可登录) - 远程服务器 :需要 SSH 访问权限,且
sqlplus和rman命令可在远程执行(需正确设置环境变量)
快速开始
方式一:直接运行打包好的 exe(推荐)
- 下载
OracleBackupSystem.exe(联系管理员获取)。 - 双击运行,命令行窗口将显示服务地址(默认
http://127.0.0.1:5001)。 - 打开浏览器访问该地址,使用默认账号
admin/admin登录。 - 开始使用。
配置说明
主要配置项在代码开头的"配置区域"中(若打包后无法修改,需在打包前调整):
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 相关字段留空。
使用步骤
- 登录系统 :默认账号
admin/admin。 - 创建备份任务 :
- 手动:填写数据库信息,选择备份类型(自动/全量/增量)。
- 批量:上传符合格式的 Excel 文件,系统自动为每行创建任务。
- 任务监控:任务列表页可查看所有任务状态(pending/running/completed/failed)。点击任务 ID 进入详情页,可查看日志、下载备份文件。
- 下载文件:任务成功后,在详情页点击"下载备份文件"可浏览并下载备份集。
常见问题
Q: 远程备份失败,提示归档模式检查失败?
A: 请确认远程服务器上 sqlplus / as sysdba 可正常登录,且环境变量已正确配置(在 Excel 的"远程环境设置"中填写)。也可查看任务日志目录下的 check_archivelog_debug.log 获取详细错误。
Q: 备份成功但本地没有文件?
A: 检查本地备份目录(如 C:\Users\用户名\backup\rman\...)是否可写,或查看任务日志中的 SFTP 下载错误信息。
注意事项
- 远程备份依赖 SSH 连接,请确保目标服务器允许密码或密钥登录。当前仅支持密码认证。
- 备份文件下载使用 SFTP,确保远程服务器上的备份目录对 SSH 用户可读。
许可证
本项目仅供内部使用,未经许可不得分发。
如有问题或建议,请联系系统管理员。