将转储文件导入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评论,我尝试使用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:导入模式与Export不兼容 转储文件IMP-00000:导入终止失败
答案 0 :(得分:8)
如果您能够使用数据泵而不是旧的imp
/ exp
工具,则可以动态重新映射表空间(以及其他内容)。
如果没有,处理此问题的常用方法是在新表空间中手动创建表,然后使用imp
运行ignore=y
,这样就不会抱怨该对象存在。
通过使用imp
运行indexfile=<file>
,您可以使用旧表空间获取表的DDL。这将为您提供一个带有表和索引的DDL的文本文件,但是使用rem
注释掉的表命令。您可以提取所需的位,并根据新数据库的需要对其进行编辑。
如果您还没有,请查看文档中的import parameters。
答案 1 :(得分:3)
您需要创建表空间MP5TEXT。导入实用程序需要源数据库中存在的相同表空间来导入表。