问题标签 [expdp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
151 浏览

oracle - 导入模式后数据类型更改

请就 EXPDP 和 IMPDP 实用程序、Oracle 12c 数据库管理提出建议。

我们使用实用程序导出模式TEST(DB 11.2.0.4)EXPDB并使用实用程序将转储文件导入新数据库(DB 12.2.0.1.0)IMPDP

导入后,我们检查了一张表 - 库存。它的列SAP_MM- 数据类型更改为FLOAT(126)。但在源数据库中它有NUMBER(38).

可能有人遇到过这样的问题——数据类型转换。可能是什么原因?

0 投票
1 回答
556 浏览

oracle - Oracle 数据泵 API

我正在重写一个导入和导出 oracle 数据库的应用程序。我使用 imp.exe 和 exp.exe 作为代码中的进程执行。现在我正在尝试使用 impdp 和 expdp 来代替它们。我在https://docs.oracle.com/研究了一些示例,但是以下代码在 DBMS_DATAPUMP.ADD_FILE 处失败。

错误输出是

我连接为 'sys' 和 'datapump_dir' 创建语句已成功执行。

我究竟做错了什么?提前致谢!

0 投票
2 回答
1048 浏览

oracle - 如何从/向 Oracle 数据库导出/导入子集数据?

我想知道从 Oracle 数据库中删除大量记录以便为开发人员的笔记本电脑创建更轻量级的数据库的方法是什么。

我们的目标是减少来自不同生产环境的导出,不排除实体,而是减少每个表中保持参照完整性的记录数。

周围有工具/脚本吗?

我还想知道将副本数据库上的所有 FK 转换为“删除级联”并从关系层次结构顶部的实体中删除记录子集是否可以完成这项工作。

有什么建议吗?

0 投票
1 回答
9684 浏览

oracle11g - ORA-00959: 表空间 'USERS' 不存在。但我在选择结果中有它

我正在尝试导入使用 EXPDP 命令创建的数据库转储 {Oracle XE 11g (11.2.0.2.0)}。以下是我用来导入的命令。

当我运行此命令时,我收到很多包含相同原因的错误

ORA-00959: 表空间 'USERS;' 不存在

但是,当我从 dba_tablespaces 运行 select tablespace_name; 我看到 USERS 表空间存在。

在阅读了一些相关问题后,我发现它可能与用户 VNP 的权限有关,我也提供了权限。

当我尝试导入这个数据库转储时,我仍然遇到同样的错误。你能否指出我正确的方向,为什么会发生这种情况..?提前致谢。

0 投票
1 回答
1288 浏览

database - Oracle 导出和导入

一些背景:

在大约十年前的 Oracle 10 左右(给予或接受),甲骨文添加了一种导出和导入数据库的新方法,称为Oracle 数据泵。除了愚蠢的名称外,该功能的工作原理与原始导出和导入实用程序基本相同。

原始实用程序的链接包含以下警告文本,这似乎至少有些自相矛盾:

从 Oracle 数据库 11g 开始,不支持原始导出以供一般使用。11g 中唯一支持的原始导出使用是将 XMLType 数据向后迁移到数据库版本 10g 第 2 版 (10.2) 或更早版本。因此,Oracle 建议您使用新的数据泵导出和导入实用程序,除非在以下需要原始导出和导入的情况下:

  • 您想要导入使用原始导出实用程序 (exp) 创建的文件。

  • 您想要导出将使用原始导入实用程序 (imp) 导入的文件。例如,如果您想从 Oracle 数据库 10g 中导出数据,然后将其导入到较早的数据库版本中。

据我所知,无法正常运行的唯一原因ExpImp数据库是否使用了 11g 以后引入的功能。否则,看起来旧的ExpImp命令应该可以正常工作,并且从上面看,它们似乎得到了官方的支持。

“数据泵”与“原始”导出的主要区别之一 - 这对我的应用程序很重要 - 数据泵仅在服务器端运行,这意味着用户至少需要一定程度的权限服务器访问导出生成的文件。最好的情况是不方便,最坏的情况是,这会导致文件不能被 dba 以外的任何人访问。

问题:

当我们从 11g 升级到 12c 时,我们在使用原始导出实用程序时遇到了问题。它会成功运行到导出触发器,然后产生如下错误:

问题:

这个问题在不同的情况下至少出现了十几次,我们有点像是在玩打地鼠。解决它的最新尝试涉及重新编译服务器上的每个包,这大约需要半小时。

  1. 为什么这个出口问题不断出现?
  2. Exp实际上,正式地被Imp弃用了,以至于我们不再能够可靠地使用它们吗?
  3. 还有其他直接的方法来获取数据库的客户端导出吗?
0 投票
1 回答
474 浏览

oracle - 数据库之间的 Oracle 数据泵传输

我对数据泵有特殊需求,我很难寻找解决方案。

目前,我有一个 exp/imp 程序,可以从一个数据库中导出表(根据查询有选择地),然后将相同的数据导入另一个数据库。该程序和转储文件驻留在可以访问源数据库和目标数据库的公共服务器上。这是一个完全自动化的过程。它工作得很好,虽然很慢。

由于各种原因,我必须迁移此程序以使用数据泵。现在最大的变化是 dmp 文件的位置。我对数据库服务器本身的访问也非常有限,但我可以运行数据泵。

该过程将从同一公共服务器运行,但导出的文件现在将驻留在源数据库的数据库服务器上。那里没有问题。我可以使用 expdp 创建 dmp 文件。

我的问题是如何将相同的数据放入目标数据库。当我运行 impdp 时,它期望目标区域(而不是源区域)中有一个 data_pump_dir。同样,这是自动化的,我没有能力使用 scp 或 ftp 或类似的东西传输 dmp 文件。

我可以用什么来使用数据泵来克服这个问题?

0 投票
1 回答
1592 浏览

powershell - expdp 的 powershell 脚本

我正在使用 expdp 命令进行备份并将输出重定向到文本文件中。在此过程中,控制台为空白。我想编写一个 powershell 脚本以将状态消息显示为“进行中”,直到 expdp 命令执行完成。我尝试使用 start-job 命令,但是由于它是后台作业,因此无法将输出重定向到文本文件中。任何帮助在这里表示赞赏。下面是用于启动作业的代码

0 投票
2 回答
5851 浏览

oracle - Oracle 12C:ORA-00406:兼容参数需要为 12.2.0.0.0

我们有 2 个当前的 Oracle 10G(10.2.0.1) 生产数据库,我们计划迁移到使用 Oracle 12C 的新数据库服务器。由于每个数据库的数据只有 5GB 左右,因此创建新实例并使用数据泵传输数据的最佳方式。为此,我创建了一个从 Oracle 12C 数据库到 10G 的数据库链接,并使用它来 expdp 来自 12C 数据库的数据。但是,当我导入导出的数据时,我的表周围有这样的错误:

除了在生产数据库中添加 COMPATIBLE 参数之外,还有其他解决方案吗?这是生产,所以我不能只更新/修改当前的生产数据库。这里有任何其他解决方案,因为我不喜欢在导入数据泵文件之前创建表。

0 投票
1 回答
960 浏览

oracle - expdp 会删除 Oracle 中的数据吗?

我将在 Hadoop 集群上执行升级,但我想先备份 Ambari 元存储模式,以防出现任何问题。

Oracle 用于存储数据,因此我研究了使用expdp它来快速备份当前状态的模式。但是,我在几个不同的文档中看到它被提到用于“卸载”数据。这是否意味着在转储过程中数据将从数据库中删除?我想保留所有内容并快速备份,类似于 Postgres 命令pg_dump

0 投票
1 回答
564 浏览

java - 来自java的expdp命令

我必须使用expdp命令从 java 中导出 oracle 表导出和导入转储文件。

形成 cmd 它按预期工作。但是当我从 java 做同样的事情时,有两个问题:

  1. 如果 expdp 命令有 include 关键字,那么它会显示语法错误。
  2. 如果 expdp 命令没有 include 关键字它可以工作但没有返回状态,即使转储已经导出并完成,程序也会继续运行。

我正在使用 java Runtime.getRuntime().exec。它等待waitFor返回方法。

请任何人这样做或有任何想法请帮助。