# dbms 模块说明 ## 模块定位 `dbms` 是 `system-ops` 下的数据库运维模块,当前支持 Oracle、MySQL 两类数据库运维能力,其中 Oracle 支持 `DATA_PUMP`、`JDBC_EXPORT`,MySQL 当前支持 `JDBC_EXPORT`。 ## 当前接口 - `GET /database/overview` - 查询数据库运维概览信息。 - `POST /database/connections/list` - 查询数据库连接配置。 - `POST /database/connections/add` - 新增 Oracle 数据库连接配置。 - `POST /database/connections/update` - 修改 Oracle 数据库连接配置。 - `POST /database/connections/delete` - 删除数据库连接配置。 - `POST /database/connections/test` - 测试 Oracle 数据库连接。 - `POST /database/connections/tables` - 查询 Oracle 表列表。 - `POST /database/backups/create` - 创建备份任务,默认使用 `DATA_PUMP`,可选 `JDBC_EXPORT`。 - `POST /database/backups/tasks/list` - 查询备份任务列表。 - `GET /database/backups/tasks/status` - 查询任务状态。 - `POST /database/backups/files/list` - 查询备份文件记录。 - `POST /database/restores/create` - 创建恢复任务。 - `GET /database/restores/tasks/status` - 查询恢复任务状态。 - `POST /database/delete/backup-file` - 删除备份文件,要求 `confirmText=确认删除`。 - `POST /database/delete/task` - 删除任务记录,要求 `confirmText=确认删除`。 ## 数据脚本 - `src/main/resources/sql/system-ops/system-ops-init.sql` - 系统运维菜单初始化脚本。 - `src/main/resources/sql/system-ops/dbms-database-ops-init.sql` - 数据库运维连接、任务、备份文件和恢复记录表结构。 ## 配置项 建议通过环境配置覆盖: ```yaml dbms: backup: storage-path: D:/dbms-backup default-max-file-size-mb: 512 mysql-fetch-size: 1000 tools: expdp-path: impdp-path: ``` 说明: - `backup.storage-path` - `JDBC_EXPORT` 生成的 CSV 和元数据 JSON 的受管根目录。 - `backup.default-max-file-size-mb` - MySQL `JDBC_EXPORT` 默认分片大小,前端可通过 `maxFileSizeMb` 覆盖,默认 512MB。 - `backup.mysql-fetch-size` - MySQL `JDBC_EXPORT` 流式读取批量大小,默认 1000。 - `tools.expdp-path`、`tools.impdp-path` - Oracle Data Pump 工具路径;为空时尝试走系统 `PATH`。 ## 当前行为 - 当前能力矩阵如下: | 数据库类型 | 连接测试 | 表列表 | JDBC_EXPORT | DATA_PUMP | | --- | --- | --- | --- | --- | | ORACLE | 支持 | 支持 | 支持 | 支持 | | MYSQL | 支持 | 支持 | 支持 | 不支持 | - 备份和恢复只允许基于已保存且连接可用的连接配置发起。 - 新增连接前的测试接口仍可传 `temporaryPassword` 做临时连通性测试。 - 备份任务异步执行,只有实际文件生成成功后才会写入 `dbms_backup_file` 记录。 - `JDBC_EXPORT` 当前会生成两类文件: - MySQL `JDBC_EXPORT` 会按任务号创建独立备份目录,每张表独立 CSV,默认按 512MB 分片: - 数据分片文件:`