{"id":37180179,"url":"https://github.com/goodwaysit/inspect4oracle","last_synced_at":"2026-01-14T20:57:05.171Z","repository":{"id":298034310,"uuid":"997478018","full_name":"goodwaysIT/inspect4oracle","owner":"goodwaysIT","description":"Open-source Oracle database inspection tool for DBAs, developers, \u0026 ops. Get health checks \u0026 performance insights via a web UI.","archived":false,"fork":false,"pushed_at":"2025-06-18T14:03:09.000Z","size":18072,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-18T15:20:45.937Z","etag":null,"topics":["database-tools","dba","inspection","monitoring","oracle","oracle-database","performance"],"latest_commit_sha":null,"homepage":"https://github.com/goodwaysIT/inspect4oracle","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/goodwaysIT.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-06T15:39:10.000Z","updated_at":"2025-06-18T14:03:13.000Z","dependencies_parsed_at":"2025-06-09T03:40:26.660Z","dependency_job_id":null,"html_url":"https://github.com/goodwaysIT/inspect4oracle","commit_stats":null,"previous_names":["goodwaysit/inspect4oracle"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/goodwaysIT/inspect4oracle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodwaysIT%2Finspect4oracle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodwaysIT%2Finspect4oracle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodwaysIT%2Finspect4oracle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodwaysIT%2Finspect4oracle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goodwaysIT","download_url":"https://codeload.github.com/goodwaysIT/inspect4oracle/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goodwaysIT%2Finspect4oracle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28434500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database-tools","dba","inspection","monitoring","oracle","oracle-database","performance"],"created_at":"2026-01-14T20:57:04.467Z","updated_at":"2026-01-14T20:57:05.165Z","avatar_url":"https://github.com/goodwaysIT.png","language":"Go","readme":"[English](README.md) | [日本語](README-ja.md) | [简体中文](README-zh.md)\n\n# Inspect4Oracle - Oracle 数据库巡检利器\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/goodwaysIT/inspect4oracle)](https://goreportcard.com/report/github.com/goodwaysIT/inspect4oracle)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\n**Inspect4Oracle 是一款强大、易用、开源的 Oracle 数据库巡检工具，旨在帮助数据库管理员 (DBA)、开发人员和运维工程师快速、全面地了解 Oracle 数据库的运行状态和健康状况。**\n\n通过直观的 Web 界面，用户可以轻松连接到目标数据库，选择感兴趣的巡检模块，生成包含丰富图表和数据的交互式巡检报告。\n\n## ✨ 项目亮点与优势\n\n*   **全面巡检**: 内置多个核心巡检模块，覆盖数据库基本信息、参数配置、存储空间、对象状态、性能指标、备份恢复以及安全配置等关键领域。\n*   **用户友好**: 提供现代化的 Web 用户界面，操作简单直观，无需复杂的命令行操作。\n*   **交互式报告**: 生成的报告包含动态图表和可排序表格，方便用户深入分析数据。\n*   **一键导出**: 支持将巡检报告导出为 HTML 格式，便于分享和离线查阅。\n*   **轻松部署**: 基于 Go 语言开发，编译后为单个可执行文件，内置静态资源，无需额外依赖，部署简单快捷。\n*   **跨平台运行**: 支持在 Windows, Linux, macOS 等主流操作系统上运行。\n*   **开源免费**: 项目完全开源，您可以自由使用、修改和分发。\n*   **高度可扩展**: 清晰的模块化设计，方便社区开发者贡献新的巡检模块和功能。\n*   **安全连接**: 支持输入详细的连接信息，巡检过程不存储数据库凭证，保障数据安全。\n\n## 🎯 目标用户\n\n*   **数据库管理员 (DBA)**: 进行日常巡检、故障排查、性能优化和安全审计。\n*   **开发人员**: 了解数据库环境配置，分析应用相关的数据库对象和性能。\n*   **运维工程师**: 监控数据库状态，确保业务系统的稳定运行。\n*   **数据库初学者**: 通过巡检报告学习 Oracle 数据库的内部结构和关键指标。\n\n## 📸 界面截图\n\n清晰的数据库连接界面：\n![连接界面截图](./assets/images/connection_ui_zh.png)\n直观的巡检报告概览：\n![报告概览截图](./assets/images/report_overview_zh.png)\n丰富的交互式图表展示：\n![图表示例截图](./assets/images/chart_example_zh.gif)\n灵活的巡检模块选择与报告生成：\n![报告设置截图](./assets/images/report_settings_zh.png)\n\n## 🚀 快速开始\n\n### 1. 获取程序\n\n*   **下载预编译版本 (推荐)**:\n    前往本项目的 [GitHub Releases](https://github.com/goodwaysIT/inspect4oracle/releases) 页面下载适用于您操作系统的最新预编译版本。\n*   **从源码构建**:\n    如果您希望自行构建，请参考项目的 [BUILD-zh.md](./BUILD-zh.md) 构建指南。\n\n### 2. 运行程序\n\n您可以通过以下几种方式运行程序：\n\n*   **通过 `go run` (适用于已配置 Go 开发环境的场景)**:\n    ```bash\n    go run main.go\n    ```\n    (请将 `main.go` 替换为实际的项目入口文件名，如果它不同的话)\n\n*   **直接运行预编译的可执行文件**:\n    下载或构建完成后，直接运行可执行文件：\n\n*   **Windows**: 双击 `inspect4oracle.exe` 或在命令行运行 `inspect4oracle.exe`。\n*   **Linux / macOS**: 在终端运行 `./inspect4oracle`。\n\n程序启动后，会显示监听的 IP 地址和端口号，默认为 `http://0.0.0.0:8080`。\n\n您可以通过 `-h` 或 `--help` 参数查看所有可用的命令行选项，例如：\n```bash\n# Windows\ninspect4oracle.exe -h\n\n# Linux / macOS\n./inspect4oracle -h\n```\n这将显示如何指定不同的监听端口、开启调试模式等。\n\n### 3. 开始巡检\n\n1.  打开您的 Web 浏览器，访问程序启动时提示的地址 (例如 `http://localhost:8080`)。\n2.  在首页的连接表单中，输入您的 Oracle 数据库的连接信息 (主机、端口、服务名/SID、用户名、密码)。\n3.  点击“验证连接”以确保连接信息正确且用户拥有必要的查询权限。\n4.  选择您希望巡检的模块。\n5.  点击“开始巡检”按钮。\n6.  巡检完成后，系统将自动跳转到生成的巡检报告页面。\n7.  您可以浏览报告、与图表交互，并通过报告页面的导出功能将报告保存为 HTML 文件。\n\n\u003e **注意**:\n\u003e 为了获取最全面的巡检信息并确保所有模块都能正常工作，建议使用 `SYSTEM` 用户执行巡检。\n\u003e\n\u003e 如果您希望使用权限受限的普通用户执行巡检，请确保该用户已被授予访问相关数据字典视图和动态性能视图（如 `V$`视图、`DBA_`视图等）的必要查询权限。以下是根据程序内部权限校验列表生成的基础授权SQL脚本示例，您可以根据实际需要巡检的模块和数据库版本进行调整和补充：\n```sql\n-- 授予查询以下V$视图的权限:\nGRANT SELECT ON V_$ACTIVE_SESSION_HISTORY TO YOUR_USER;\nGRANT SELECT ON V_$ASM_DISKGROUP TO YOUR_USER; -- 如果使用ASM且需要检查\nGRANT SELECT ON V_$DATABASE TO YOUR_USER;\nGRANT SELECT ON V_$INSTANCE TO YOUR_USER;\nGRANT SELECT ON V_$SESSION TO YOUR_USER;\nGRANT SELECT ON V_$SQL TO YOUR_USER;\nGRANT SELECT ON V_$SQLAREA TO YOUR_USER;\nGRANT SELECT ON V_$SYSMETRIC TO YOUR_USER;\nGRANT SELECT ON V_$SYSTEM_PARAMETER TO YOUR_USER;\nGRANT SELECT ON V_$TEMP_EXTENT_POOL TO YOUR_USER;\nGRANT SELECT ON V_$VERSION TO YOUR_USER;\n\n-- 授予查询以下DBA_视图的权限:\nGRANT SELECT ON DBA_DATA_FILES TO YOUR_USER;\nGRANT SELECT ON DBA_FREE_SPACE TO YOUR_USER;\nGRANT SELECT ON DBA_OBJECTS TO YOUR_USER;\nGRANT SELECT ON DBA_ROLES TO YOUR_USER;\nGRANT SELECT ON DBA_ROLE_PRIVS TO YOUR_USER;\nGRANT SELECT ON DBA_SEGMENTS TO YOUR_USER;\nGRANT SELECT ON DBA_SYS_PRIVS TO YOUR_USER;\nGRANT SELECT ON DBA_TABLESPACES TO YOUR_USER;\nGRANT SELECT ON DBA_TEMP_FILES TO YOUR_USER;\nGRANT SELECT ON DBA_USERS TO YOUR_USER;\n\n-- 根据您启用的巡检模块，可能还需要其他权限，例如:\n-- GRANT SELECT ON V_$PARAMETER TO YOUR_USER; (替代 V_$SYSTEM_PARAMETER)\n-- GRANT SELECT ON DBA_PROFILES TO YOUR_USER; (安全模块)\n-- GRANT SELECT ON V_$RMAN_BACKUP_JOB_DETAILS TO YOUR_USER; (备份模块)\n-- GRANT SELECT ON V_$FLASHBACK_DATABASE_LOG TO YOUR_USER; (备份模块)\n-- GRANT SELECT ON DBA_RECYCLEBIN TO YOUR_USER; (备份模块)\n-- GRANT SELECT ON DBA_DATAPUMP_JOBS TO YOUR_USER; (备份模块)\n-- GRANT SELECT ON DBA_AUDIT_TRAIL TO YOUR_USER; (如果使用传统审计)\n-- ... 请根据实际巡检范围和错误日志补充更多权限 ...\n```\n\n## 📦 核心巡检模块\n\nInspect4Oracle 提供以下核心巡检模块 (部分模块可能仍在开发中，欢迎关注项目进展)：\n\n*   **`dbinfo` (数据库信息)**:\n    *   数据库版本、实例信息、启动时间、平台信息等。\n    *   NLS 参数设置。\n*   **`parameters` (参数配置)**:\n    *   非默认数据库参数列表及其值。\n    *   重要的隐藏参数 (按需)。\n*   **`storage` (存储管理)**:\n    *   表空间使用情况 (总量、已用、可用、百分比)。\n    *   数据文件信息。\n    *   控制文件和重做日志文件状态。\n    *   ASM 磁盘组信息 (如果数据库使用 ASM)。\n*   **`objects` (对象状态)**:\n    *   无效对象列表 (OWNER, OBJECT_NAME, OBJECT_TYPE)。\n    *   对象类型统计。\n    *   大对象/段信息 (Top Segments by size)。\n*   **`performance` (性能分析)**:\n    *   关键等待事件。\n    *   当前会话信息。\n    *   SGA/PGA 内存使用情况。\n    *   命中率 (Buffer Cache Hit Ratio, Library Cache Hit Ratio等)。\n    *   (更多性能指标正在规划中)\n*   **`backup` (备份与恢复)**:\n    *   归档模式状态。\n    *   最近 RMAN 备份任务记录 (成功/失败)。\n    *   闪回数据库状态和空间使用。\n    *   回收站对象信息。\n    *   Data Pump 任务历史。\n*   **`security` (安全审计)**:\n    *   非系统用户信息 (状态、锁定/过期、默认表空间、Profile)。\n    *   拥有 DBA 等高权限角色的用户。\n    *   用户系统权限列表。\n    *   Profile 配置 (特别是密码策略相关参数，如 `FAILED_LOGIN_ATTEMPTS`, `PASSWORD_LIFE_TIME`)。\n    *   非系统角色列表。\n    *   (审计配置等更多安全特性正在规划中)\n\n## 🛠️ 技术栈与主要依赖\n\n本项目主要基于 Go 语言 (版本请参见 `go.mod` 文件) 构建，并依赖以下核心第三方库来提供关键功能：\n\n*   **[github.com/gorilla/mux](https://github.com/gorilla/mux)**: 一个强大且灵活的 HTTP 路由器和 URL 匹配器，用于处理 API 和 Web界面的请求路由。\n*   **[github.com/sijms/go-ora/v2](https://github.com/sijms/go-ora/v2)**: 一个纯 Go 实现的 Oracle 数据库驱动程序，使得应用无需依赖 Oracle Instant Client 即可连接和操作 Oracle 数据库。\n\n完整的依赖列表及其版本信息请参见项目根目录下的 `go.mod` 文件。\n\n\n## 🤝 参与贡献\n\n我们热烈欢迎社区的开发者参与到 Inspect4Oracle 项目的贡献中来！无论是报告 Bug、提出功能建议，还是直接贡献代码，您的帮助对项目都至关重要。\n\n### 如何贡献\n\n1.  **报告问题 (Bugs)**: 如果您在使用过程中发现任何问题，请通过 GitHub Issues 提交详细的 Bug 报告。\n2.  **功能建议**: 如果您有新的功能想法或改进建议，也请通过 GitHub Issues 提出。\n3.  **贡献代码**:\n    *   Fork 本仓库到您的 GitHub 账户。\n    *   创建一个新的分支 (例如 `feature/your-new-feature` 或 `fix/issue-number`)。\n    *   在您的分支上进行修改和开发。\n    *   确保您的代码遵循项目现有的编码风格和规范。\n    *   提交您的更改，并推送到您的 Fork 仓库。\n    *   创建一个 Pull Request (PR) 到主仓库的 `main` (或 `develop`) 分支，并详细描述您的更改内容。\n\n\n\n## 📜 开源许可\n\n本项目基于 [MIT License](LICENSE) 开源。\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodwaysit%2Finspect4oracle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoodwaysit%2Finspect4oracle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoodwaysit%2Finspect4oracle/lists"}