如何使用Oracle数据泵导出实用程序在本地计算机中创建转储文件?

2023-11-25

Oracle 数据泵导出实用程序需要一个存在于数据库服务器中的参数 DIRECTORY (DBA_DIRECTORIES)。是否可以将此目录映射到本地计算机,或者是否有其他方法将多个表从 oracle 数据库导出到本地?


如果使用数据泵,则没有直接方法将转储文件存储在本地计算机上。这就是数据泵的设计方式。

但是,有一种可能的方法可以实现您想要的目标。解决方法有两个步骤:

  1. Run expdp像往常一样,这会在服务器上创建转储文件
  2. Use ocp用于将转储文件从数据库服务器传输到本地计算机(如果需要,也可以返回)的工具。

An ocp该工具代表“Oracle Copy”,其编写的目的正是为了在数据库服务器之间来回复制转储文件。它可以在这里找到:https://github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1.tar.gz这是一个源代码发行版,因此下载并解压后,运行./configure && make

(希望你的客户端没有 Windows,因为我从未尝试在那里编译它)

这是一个简单的命令行工具,具有简单的语法。例如,此命令将为您提取一个文件:

ocp <connection_string> DATA_PUMP_DIR:remote_file_name.dmp local_file_name.dmp

该工具使用数据库连接和最小的数据库权限集。

Update:

最后我能够调整源代码并构建ocp适用于 Windows 32 位的工具:

https://github.com/maxsatula/ocp/releases/download/v0.1/ocp-0.1-win32.zip

使用此处提供的 32 位 Instant Client 11.2.0.4 进行编译/测试:http://www.oracle.com/technetwork/topics/winsoft-085727.html

instantclient-basiclite-nt-11.2.0.4.0.zip(20,258,449 字节)

我相信它也适用于完整的 Oracle 客户端安装(只需注意位,应该是 32),但我自己没有检查。

不幸的是,Windows 版本ocp文件传输期间没有精美的进度表。那段代码有太多 *nix 特有的东西,所以我不得不把它删掉。

此外,由于它使用 popt 和 zlib 库,这些库被编译为 GnuWin 项目的一部分,并且仅在 32 位中可用,ocpWindows 也仅限 32 位。希望没有 64 位版本对您来说不是关键任务。

更新2:

Warning!从服务器下载文件时,请确保始终使用专用服务器连接,否则(对于共享服务器)下载的文件副本将被损坏,并且不会出现错误消息!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用Oracle数据泵导出实用程序在本地计算机中创建转储文件? 的相关文章

  • 将图层坐标导出到 Excel 的脚本

    我找到了一个脚本 可以将我的图层坐标从 Photoshop CS5 导出到 XML 我希望这里有人可以帮助我编辑该脚本以将坐标记录到 xls 文件中 另外 如果可以将每个坐标放在单独的行上 那就太好了 下面是我想修改以满足我需要的脚本 Th
  • 如何在oracle中预测和转义单引号'

    假设我有一个列值aaa gh它会在 oracle 中抛出错误 提示 sql 命令未正确结束 我的问题是如果我不知道有多少 在我的价值范围内 我如何才能安全地逃脱它们 最好的方法是使用引用字符串文字技术 http lalitkumarb wo
  • 在仅具有两种类型值的列上创建索引有多有效

    我在列上创建了一个索引 该列只有两个可能的值 Y 和 N 两个值的数据类型相同 假设列名称是指示符 我写了一个选择语句 例如 SELECT INDICATOR FROM TEMP TABLE ORDER BY INDICATOR 当我在 S
  • 从 Oracle 获取包方法和参数

    我正在寻找 Oracle 查询来获取 Oracle 包 过程的所有参数 我知道有一个视图或表可以提供此功能 但我似乎不记得它是什么 注意 我并不是要从 user objects 获取包列表 而是要获取包 中每个过程的数据类型和参数名称 Th
  • 匹配可能存在或可能不存在的组

    我的正则表达式需要解析一个如下所示的地址 BLOOKKOKATU 20 A 773 00810 HELSINKI SUOMI 1 2 3 4 第一组 第二组和第三组将始终存在于地址中 第 4 组可能不存在 我编写了一个正则表达式来帮助我获得
  • 水晶报表参数选择有限制吗?

    我正在尝试根据按用户分组的 Oracle 数据库制作 Crystal Reports 11 报告 我有超过一千个用户 我想创建一个参数字段 提示用户选择他们想要查看其结果的用户 但是我的参数选择字段仅显示 221 个可能的用户 由于 SQL
  • Oracle PLSQL 将日期时间截断为 15 分钟块

    我想将我的数据聚合成 15 分钟的片段 一刻钟 为此 我编写了一些生成 15 分钟日期时间块的代码 SELECT TRUNC SYSDATE hh 0 25 24 ROWNUM 0 25 24 AS time start ROWNUM TR
  • Oracle 时间戳数据类型

    不带参数的时间戳数据类型和带参数 0 的时间戳数据类型有什么不同 timestamp VS timestamp 0 括号中的数字指定要存储的小数秒的精度 所以 0 意味着不存储任何一小部分秒 而仅使用整秒 如果未指定 则默认值为小数点分隔符
  • oracle嵌套表的最大行数是多少

    CREATE TYPE nums list AS TABLE OF NUMBER Oracle 嵌套表中最大可能的行数是多少 UPDATE CREATE TYPE nums list AS TABLE OF NUMBER CREATE OR
  • ORACLE 在立即执行中批处理 DDL 语句

    我正在尝试在一个 Execute Immediate 语句中运行多个 ddl 语句 我认为这会很简单 但看来我错了 想法是这样的 declare v cnt number begin select count into v cnt from
  • 如何在Oracle中将“(Ab56.12345)some_string”的一个字符串列拆分为两列“Ab.12345”,“some_string”

    正如问题一样 如何拆分一个字符串列 Ab56 12345 some string到两列Ab56 12345and some string在甲骨文中 注意 并非所有列都 Ab56 12345 some string 部分列仅some stri
  • PLS-00103:遇到符号“CREATE”

    这个包有什么问题 因为它给出了错误 CREATE OR REPLACE PACKAGE PKG SHOW CUST DETAILS AS PROCEDURE SHOW CUST DETAILS myArg VARCHAR2 END PKG
  • Postgresql存储过程中基于会话的全局变量?

    在 Oracle 的 PL SQL 中 我可以使用包定义创建基于会话的全局变量 对于 Postgresql 的 PLpg SQL 这似乎是不可能的 因为没有包 只有独立的过程和函数 以下是 PL SQL 将 g spool key 声明为全
  • 如何在 Hibernate 中使用 Oracle 查询提示

    我试图在 Hibernate 中使用 Oracle 提示来调用强制索引 但在 Hibernate 3 6 10 Final 中没有找到任何合适的 API 我以某种方式尝试了 Hibernate 标准中的预测 proList add Proj
  • Oracle/PHP - ORA-00911 更新时的无效字符

    我正在运行一个 PHP 脚本 该脚本从 Oracle 数据库实例更新表 首先 我收到一个 JSON 对象 lot KLMHA17N9N00 requestor B10078 id FRESHLOT username B26696 passw
  • 以无法破坏的方式限制表中允许的记录数量

    我们有一个 Web 应用程序 Grails 我们将根据用户数量为其出售许可证 数据库 Oracle 10g 中有一个表保存用户 客户将托管自己的软件和数据库副本 有人可以建议一些策略来限制允许存在于用户表中的记录数量 从而使客户无法合理地破
  • 如何打印Oracle中过程的定义?

    oracle中有没有办法查看过程的结构是什么 我正在尝试记录并运行程序 并希望将实际的程序结构存储在我的日志中 您可以查询ALL SOURCE table SELECT text FROM all source WHERE owner lt
  • 创建 SYS_REFCURSOR 并将其作为输入参数从 Java 传递给 Oracle 过程

    我必须与具有 SYS REFCURSOR 作为输入参数的外部 Oracle 过程进行通信 过程 merge objects varchar2 中的 p table name p id array 中 varchar2 SYS REFCURS
  • CREATE TABLE 和 CREATE ANY TABLE 权限之间的区别

    我不明白这两种特权之间的区别 我找到了这两个解释 但这对我没有帮助 CREATE TABLE gt Enables a user to create a table owned by that user CREATE ANY TABLE g
  • 是否允许在流水线 PL/SQL 表函数中使用 SELECT?

    管道函数的文档指出 在 SQL 语句 通常是SELECT 并且在大多数示例中 管道函数用于数据生成或转换 接受客户作为参数 但不发出任何 DML 语句 现在 从技术上讲 可以使用 SELECT 而不会出现 Oracle 中的任何错误 ORA

随机推荐