【问题标题】:importing a dump file into oracle 11gr2 get errors将转储文件导入 oracle 11gr2 得到错误
【发布时间】:2012-06-05 06:47:44
【问题描述】:

将转储文件导入 oracle 11gr2 时出现此错误,请提出解决此问题的方法

*Warning: the objects were exported by D7IDMP, not by you
import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
export client uses WE8ISO8859P1 character set (possible charset conversion)
. importing D7IDMP's objects into MIGRATE
. . importing table                    "TXALLTXTS"     245628 rows imported
. . importing table                       "TXAUTH"        377 rows imported
. . importing table                    "TXBAIMERT"        244 rows imported
. . importing table                     "TXBARESC"        178 rows imported
. . importing table                     "TXBOILER"     458940 rows imported
. . importing table                    "TXCLASSES"        980 rows imported
. . importing table              "TXCLOSEDPERIODS"          1 rows imported
. . importing table                  "TXCOMPANIES"          1 rows imported
. . importing table                 "TXCONCLAUSES"        187 rows imported
IMP-00017: following statement failed with ORACLE error 959:
 "CREATE TABLE "TXCONFIGSETTINGS" ("CFS_CODE" VARCHAR2(20), "CFS_RCODE" VARCHAR2(2"
 "0))  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 16384 FR"
 "EELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "MP5TEXT" LOGGI"
 "NG NOCOMPRESS LOB ("CFS_XMLCONFIG") STORE AS  (TABLESPACE "MP5TEXT" ENABLE "
 "STORAGE IN ROW CHUNK 8192 PCTVERSION 10 NOCACHE  STORAGE(INITIAL 65536 FREE"
 "LISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))"
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'MP5TEXT' does not exist*

根据 Alex cmets,我尝试使用 imp 的其他属性,但它导致了其他错误

我运行的命令是

imp fromuser=d7idmp touser=&&from_user file=test.dmp log= test.log ignore=y transport_tablespace = y tablespaces = MP5TEXT

错误是

在 WE8MSWIN1252 字符集和 AL16UTF16 NCHAR 中完成导入 字符集导出客户端使用 WE8ISO8859P1 字符集(可能 字符集转换)IMP-00053:导入模式与导出不兼容 转储文件 IMP-00000:导入未成功终止

【问题讨论】:

  • 我不认为你在使用transportable tablespaces——它们不能解决你的命名问题;正如文档所指出的那样,无论如何您都不能在 11g 中使用imp

标签: oracle import oracle-dump


【解决方案1】:

如果您能够使用数据泵而不是旧的 imp/exp 工具,您可以即时重新映射表空间(和其他东西)。

如果没有,通常的处理方法是在新表空间中手动创建表,然后运行impignore=y,这样它就不会抱怨对象存在。

您可以通过运行impindexfile=<file> 来获取表的DDL - 使用旧表空间。这将为您提供一个包含表和索引的 DDL 的文本文件,但表命令用 rem 注释掉。您可以提取所需的位并根据新数据库的需要对其进行编辑。

如果您还没有,请查看文档中的import parameters

【讨论】:

  • 我认为可传输表空间对您没有帮助。除非您可以使用数据泵,否则我很确定在导入之前手动构建表是您唯一的选择。
【解决方案2】:

您需要创建表空间 MP5TEXT。导入实用程序需要与源数据库中存在相同的表空间来导入表。

【讨论】:

  • 我不能在这里创建另一个表空间,而是我正在寻找一种可以将 MP5TEXT 映射到现有表空间的方法
猜你喜欢
  • 2013-09-20
  • 2012-03-04
  • 1970-01-01
  • 1970-01-01
  • 2014-03-19
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多