【问题标题】:ORA-39171 ORA-01659 impdpORA-39171 ORA-01659 impdp
【发布时间】:2016-05-27 23:55:12
【问题描述】:

我正在尝试将我的 Oracle 备份版本 11.2.0.1 还原到另一个服务器版本 11.2.0.4。

当我运行 impdp 时,会显示 ORA-39171 和 ORA-01659 错误。

impdp hosp/xxxx file=HOSP3001.DMP logfile=loghosp3001.dmp version=latest schemas=HOSP

在 .dmp 文件中,我有以下表空间和数据文件:

DATAFILE                                          | TABLESPACE

/u01/app/oracle/product/11.2.0/db_1/dbs/HOSP      | HOSP
/u01/app/oracle/product/11.2.0/db_1/dbs/HOSPDATA  | HOSPDATA
/u01/app/oracle/product/11.2.0/db_1/dbs/HOSPDATA2 | HOSPDATA
/u01/app/oracle/product/11.2.0/db_1/dbs/HOSPDATA3 | HOSPDATA

我在新服务器中创建了以下表空间和数据文件。

CREATE TABLESPACE HOSP DATAFILE 'HOSP' SIZE 1024M ;
ALTER DATABASE DATAFILE 'HOSP' RESIZE 1024M ;
ALTER DATABASE DATAFILE 'HOSP' AUTOEXTEND ON MAXSIZE UNLIMITED ;

CREATE TABLESPACE HOSPDATA DATAFILE 'HOSPDATA' SIZE 1024M ;
ALTER DATABASE DATAFILE 'HOSPDATA' RESIZE 1024M ;
ALTER DATABASE DATAFILE 'HOSPDATA' AUTOEXTEND ON MAXSIZE UNLIMITED ;

在这个新场景中,我打算只为 TABLESPACE“HOSPDATA”保留一个 DATAFILE。

【问题讨论】:

  • ORA-01659 指的是哪个表空间?将运行命令的整个错误堆栈作为问题的一部分包含在内通常会有所帮助。
  • 我不知道是哪一个表空间,我提到的.dmp文件中有两个。我知道 impdp 创建索引时会出现错误。控制台没有指定正在编译哪个索引。
  • ORA-01659 应该告诉你它不能为哪个表空间分配 minextents。我不确定您为什么不在问题中包含控制台输出,以便我们可以看到您遇到的错误。
  • 好吧,我没有包括控制台输出,因为它没有显示哪个表空间有错误以及发生了什么的任何细节。至少它应该有一个更详细的日志文件,但我不知道它是否存在。

标签: oracle oracle11g


【解决方案1】:

检查您的 alert.log,您很可能会在那里找到答案。您的表空间中似乎没有可用空间。

【讨论】:

  • 我不这么认为。因为我的表空间有无限的 maxsize 并且我的硬盘中有很多可用空间。在哪里可以找到 alert.log?
  • "unlimited maxsize" - 并不意味着您的文件真的是无限的,除非您使用“大文件表空间”。默认情况下,Oracle 使用“小文件表空间”,这意味着您的文件可以增长到 4M 的 DB_BLOCKS(通常是 16G 或 32G)。
  • 警报日志文件位于 background_dump_dest 文件夹中。为了找到 background_dump_dest 参数值,这样做:
  • 好吧...如果您找不到警报日志文件,这意味着您对 oracle 的了解比我想象的要差。我将尝试解释 - 警报日志文件位于 background_dump_dest 文件夹中。要找到 background_dump_dest 参数值,请执行以下操作:在 SQLPlus 中键入“show parameter background_dump_dest”,这将返回文件的路径。现在进入该路径并查找名称以“alert*.log”开头的文件,即您的“警报日志文件”
  • Sergiu Velescu,你就是男人!现在可以了。我按照您的建议更改了我的数据创建数据文件: CREATE BIGFILE TABLESPACE HOSP DATAFILE 'HOSP' SIZE 1024M ; ALTER DATABASE DATAFILE 'HOSP' RESIZE 1024M ; ALTER DATABASE DATAFILE 'HOSP' AUTOEXTEND ON MAXSIZE UNLIMITED ;创建大文件表空间 HOSPDATA 数据文件 'HOSPDATA' 大小 1024M ; ALTER DATABASE DATAFILE 'HOSPDATA' RESIZE 1024M ; ALTER DATABASE DATAFILE 'HOSPDATA' AUTOEXTEND ON MAXSIZE UNLIMITED ;
【解决方案2】:

ORA- 39171:通常是由于不可扩展的表空间空间不足导致数据泵作业停止。将数据文件添加到空间不足的表空间通常可以解决问题。

ORA-01659:解释 ORA-39171 的实际原因。在这种特定情况下,oracle 未能找到足够的连续空间来为正在创建的段分配 MINEXTENTS。同样,解决方案仍将向该表空间添加数据文件。

如果您仍想将数据导入单个 DATAFILE,oracle 提供了一个重新映射实用程序,如下所示: REMAP_DATAFILE=source_datafile:target_datafile

【讨论】:

    【解决方案3】:

    您可以将 impdp 与选项“transform=segment_attributes:n”一起使用

    【讨论】:

      猜你喜欢
      • 2023-04-10
      • 2021-12-12
      • 1970-01-01
      • 2020-03-10
      • 2015-07-11
      • 2016-08-25
      • 2023-03-06
      • 2010-11-22
      • 1970-01-01
      相关资源
      最近更新 更多