【问题标题】:How to import an Oracle DB .dmp file using DBeaver?如何使用 DBeaver 导入 Oracle DB .dmp 文件?
【发布时间】:2022-10-24 08:13:51
【问题描述】:

我目前正在尝试使用 DBeaver 将 Oracle DB .dmp(转储)文件导入到我的 Oracle DB 中,但这样做有困难。

有问题的 Oracle 数据库在 docker 容器中运行。我使用 DBeaver 成功连接到这个 Oracle 数据库,因此可以使用 DBeaver 浏览数据库。 但是,目前,数据库是空的。这就是 .dmp 文件的来源。

我想在某个模式下将此 .dmp 文件导入我的数据库,但我似乎无法做到这一点。转储文件看起来像这样:“export.dmp”,大小约为 16MB。

我想从 .dmp 文件中导入数据,以便能够浏览数据以熟悉它,因为类似的数据将存储在我们自己的数据库中。

我在网上查看,但无法得到适合我的答案。

我尝试使用 DBeaver,但似乎没有通过 .dmp 文件导入或恢复数据库的选项。充其量,DBeaver 建议使用 .CSV 文件导入数据。我还下载了 Oracle 工具 SQLDeveloper,但无法连接到 docker 容器中的数据库。

网上也有一种导入/导出工具的说法,据说可以创建这些 .dmp 文件并导入它们,但我不确定如何获得这个工具以及这是否是这样做的方法。 如果是这样,我仍然不明白如何在 DBeaver 中浏览数据。

我的问题:

如何使用 DBeaver 从我的 Oracle DB 中的 .dmp 文件导入和浏览数据?

谢谢您的帮助 !

亲切的问候,

放射性哺乳动物

【问题讨论】:

  • IMPIMPDP 是用于导入转储的工具。将备份文件复制到数据库的 docker 容器中,然后使用容器内部的导入工具(而不是尝试从容器外部进行)。

标签: database oracle import dbeaver


【解决方案1】:
  1. How to find Oracle datapump dir

    大概在您的系统上设置为 /u01/app/oracle/admin/<mydatabase>/dpdump

  2. How to copy files from host to docker container

    docker cp export.dmp container_id:/u01/app/oracle/admin/<mydatabase>/dpdump/export.dmp
    
  3. How do I get into a Docker container's shell

    docker exec -it <mycontainer> bash
    
  4. How to import an Oracle database from dmp file

    如果它是使用 expdp 导出的,则使用 impdp 开始导入:

    impdp <username>/<password> dumpfile=export.dmp full=y
    

    它将在容器中相同的默认 DATA_PUMP_DIR 目录中输出日志文件。

【讨论】:

    【解决方案2】:

    oracle 有两个实用程序 IMPORT 和 IMPDP 来导入转储,使用 IMPORT 你不能使用数据库目录,你必须指定位置。另一方面, IMPDP 需要数据库目录。 已经说过您不能使用 dbeaver 导入 o​​racle 导出转储,您必须使用操作系统中的 IMPORT 或 IMPDP 实用程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      • 2018-07-02
      • 2011-11-20
      • 2020-03-19
      • 1970-01-01
      • 2012-06-26
      相关资源
      最近更新 更多