【问题标题】:Oracle Datapump impdp Inappropriate ioctl for deviceOracle Datapump impdp 设备的 ioctl 不合适
【发布时间】:2021-11-25 11:55:18
【问题描述】:

我在导出架构然后将其导入新数据库时出错。 我的导出系统是带有 19c 数据库的 Oracle Linux 7,导入系统是带有 21c XE 的 Oracle Linux 8。当我使用 impdp 导入架构时,我收到错误:

impdp system/password@localhost/xepdb1 full=y directory=data_pump_dir dumpfile=test.dmp

ORA-39001:无效参数
ORA-39000: 转储文件的指定不正确
ORA-31619: 无效的转储文件“opt/oracle/admin/XE/dpdump/CC96F85...01/test.dmp”
ORA-27072: 文件 I/O 错误
Linux-x86_64 错误:25:设备的 ioctl 不合适
附加信息:4
附加信息:1

【问题讨论】:

  • 告诉我们您正在执行哪个impdp 命令?看起来您要么没有该位置的数据库目录,要么权限不正确。尽管设备的 innapropiate ioctl 意味着数据泵文件已损坏
  • 你是如何将dmp文件从源服务器传输到目标服务器的?
  • 通过U盘传输
  • 您是否创建了目录data_pump_dir ?如果是这样,你是怎么做到的?
  • 我相信您的数据泵文件已损坏。在不使用二进制模式完成传输时可能会发生这种情况

标签: linux oracle ioctl datapump impdp


【解决方案1】:

如 cmets 所述

当您收到错误 Inappropriate ioctl for device 时,Oracle 概不负责,因为错误来自 Linux。

大多数时候是因为:

  • 数据泵文件已损坏。
  • 该文件不是有效的数据泵文件
  • 数据泵文件为空。

【讨论】:

    猜你喜欢
    • 2010-12-08
    • 1970-01-01
    • 2014-09-17
    • 2015-02-03
    • 2015-10-30
    • 1970-01-01
    • 1970-01-01
    • 2022-06-27
    • 2013-01-28
    相关资源
    最近更新 更多