【问题标题】:Oracle Import Data dump: tablespace: "USERS" already existOracle 导入数据转储:表空间:“USERS”已存在
【发布时间】:2021-05-21 20:37:03
【问题描述】:

我正在尝试在 oracle 中使用 impdp 导入数据。但是,当我尝试导入它时,它给了我以下错误:

ORA-29349: tablespace "USERS" already exists

由于USERS 是包含用户对象的默认永久表空间,我尝试通过添加将其从命令中排除 "exclude=tablespace:\" IN ('USERS')\""

但是,添加它根本没有帮助,因为错误仍然存​​在。

我的命令如下所示:"impdp SYSTEM/MYPASSWORD@orcl full=Y DIRECTORY=dir dumpfile=mydump.dmp LOGFILE=mydump.dmp.log exclude=tablespace:\" IN ('USERS')\" transport_datafiles='/path/to/file"

感谢任何帮助

【问题讨论】:

  • 这个错误可以忽略。不需要创建 USERS(它已经存在),但这不会阻止在 USERS 中创建导入中的任何其他对象。
  • @pmdba 我尝试使用 ''ignore=y'',它说要替换为 ''table_exists_action=append'',但由于我处理的是表空间,而不是表,所以我不'认为这不是我想要的
  • 我的意思是您应该能够从字面上忽略该错误。你无法摆脱它,但它对你的情况没有意义;这是预期的。
  • @pmdba 这是我在会话中收到的最后一条消息Job SYSTEM"."SYS_IMPORT_FULL_01 stopped due to fatal error 之前的消息,你是说它们不相关吗?
  • 您是否正在尝试进行完全可移动的导出/导入?也许你可以只导出你想要的表空间而不是做一个完整的。

标签: oracle datapump impdp


【解决方案1】:

好的,据我所知,这不仅仅是一个正常的“无法创建表空间”错误。此错误是特定于使用 transportable 表空间的。在这种情况下,您将无法忽视。解决方法是重命名现有表空间

alter tablespace users rename to users_ts;

然后再次运行导入,以便 impdp 可以从转储文件“创建”USERS 表空间。

impdp SYSTEM/MYPASSWORD@orcl full=Y DIRECTORY=dir dumpfile=mydump.dmp LOGFILE=mydump.dmp.log transport_datafiles='/path/to/file'

【讨论】:

  • 在导入新的USERS时是否应该删除原来的USERS?会不会出问题
  • 如果其中没有其他内容,您可以将其删除,或者将其内容移动到新的 USERS 表空间中,然后将其删除。
猜你喜欢
  • 2010-09-08
  • 2021-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-14
  • 1970-01-01
相关资源
最近更新 更多