AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 12948
In Process
Rob H
Rob H
Asked: 2009-05-28 06:24:00 +0800 CST2009-05-28 06:24:00 +0800 CST 2009-05-28 06:24:00 +0800 CST

Linux 数据库差异工具

  • 772
锁定。这个问题及其答案被锁定,因为这个问题离题但具有历史意义。它目前不接受新的答案或交互。

我正在寻找一种在 Linux 上运行、处理 Oracle 数据库并且可以生成同步脚本以将一个模式迁移到另一个模式的数据库模式比较工具。TOAD 在 Windows 上做得很好,但不能在 Linux 上运行。免费和开源是首选,但不是必需的。如果它是可编写脚本的也很好,例如,使其能够作为 cron 作业运行。外面有这样的吗?

顺便说一句-我查看了 Oracle 自己的 SQL Developer 工具,虽然它支持比较,但我的测试中有很多误报。例如,它将相同的外键标记为不同的。

linux database oracle
  • 6 6 个回答
  • 3630 Views

6 个回答

  • Voted
  1. dkaylor
    2009-05-30T13:11:40+08:002009-05-30T13:11:40+08:00

    我花了很多时间寻找类似的东西,但从未找到完全令人满意的解决方案。话虽如此,您可能会发现 Liquibase (www.liquibase.org) 很有用。

    • 2
  2. Sualeh Fatehi
    2009-06-06T04:02:42+08:002009-06-06T04:02:42+08:00

    试试SchemaCrawler,这是我用 Java 编写的免费命令行开源工具。它独立于操作系统和数据库。它旨在发现模式(甚至数据)之间的差异。您可以使用 JavaScript 和模板语言接口来生成自己的脚本。

    • 2
  3. slm
    2009-05-30T09:28:55+08:002009-05-30T09:28:55+08:00

    谷歌搜索“模式比较工具”在 dbsolo.com 网站上生成了这个工具。该站点的 URL 是 www.dbsolo.com/schema_comparison.html。抱歉,我没有足够的权限发布实际链接。

    这是一个商业工具,但它声称能够比较以下数据库的模式:Oracle、SQL Server、DB2、PostgreSQL、MySQL 和 Sybase ASE/ASA。

    此外,它还可以在以下平台上运行:Windows、Linux、MacOS 和 Solaris。

    我无法认可它,因为我从未尝试过它,但它确实包含 30 天的免费演示,因此您可以尝试看看它是否适合您的需求。

    • 1
  4. slovon
    2009-05-31T21:11:40+08:002009-05-31T21:11:40+08:00

    有很多工具,不同程度的满足,没有完美的:(

    我使用的是纯 Java 的 Aqua Data Studio,可以连接到大多数数据库。

    • 1
  5. Robert Munteanu
    2009-06-01T22:42:35+08:002009-06-01T22:42:35+08:00

    DBSA(数据库结构分析)是一种用于比较模式快照的工具。报告差异并且可以生成 SQL 补丁。它包括一个用于模式历史跟踪的基本存储库工具。

    • 1
  6. Xerxes
    2009-05-28T19:28:41+08:002009-05-28T19:28:41+08:00

    我认为您需要的工具是Oracle Data Pump。我喋喋不休地谈论它,因为 Oracle 在这里为它提供了一个很好的教程。具体工具是...

    • expdp用于导出数据
    • impdp用于导入。

    要在 2 个表(具有相同的列)之间进行“差异”,在 2 个单独的数据库之间...

    Select table_name from dba_tables \
      where owner='OWNER_NAME' \
        minus \
          select table_mame from dba_tables@remote_database \
            where owner='OWNER_NAME'
    

    您显然需要在第一个数据库中创建数据库链接。不过,这可能只是您所追求的部分解决方案,但我想不出更好的办法。:)

    • 0

相关问题

  • 多操作系统环境的首选电子邮件客户端

  • 你最喜欢的 Linux 发行版是什么?[关闭]

  • 更改 PHP 的默认配置设置?

  • 保护新的 Ubuntu 服务器 [关闭]

  • (软)Ubuntu 7.10 上的 RAID 6,我应该迁移到 8.10 吗?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve