oracle imp 导入数据库出错 请看log!

连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

经由常规路径由 EXPORT:V09.00.01 创建的导出文件

警告: 这些对象由 SYS 导出, 而不是当前用户

已经完成 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集中的导入
. 正在将 SYSTEM 的对象导入到 SYSTEM
IMP-00017: 由于 ORACLE 错误 29339, 以下语句失败:
"CREATE UNDO TABLESPACE "UNDOTBS" BLOCKSIZE 4096 DATAFILE 'F:\ORACLE\ORADAT"
"A\CARDB\UNDOTBS01.DBF' SIZE 209715200 AUTOEXTEND ON NEXT 5242880 MAX"
"SIZE 16383M EXTENT MANAGEMENT LOCAL "
IMP-00003: 遇到 ORACLE 错误 959
ORA-00959: 表空间 'OEM_REPOSITORY' 不存在
IMP-00017: 由于 ORACLE 错误 959, 以下语句失败:
"CREATE USER "DB_CENTER" IDENTIFIED BY VALUES '42AC2D9232139D2B' DEFAULT TAB"
"LESPACE "CHASSIS_DB" TEMPORARY TABLESPACE "TEMP""
IMP-00017: 由于 ORACLE 错误 990, 以下语句失败:
"GRANT CREATE SECURITY PROFILE TO "WKSYS""
IMP-00003: 遇到 ORACLE 错误 990
ORA-00990: 权限缺失或无效
IMP-00017: 由于 ORACLE 错误 990, 以下语句失败:
"GRANT CREATE ANY SECURITY PROFILE TO "WKSYS""
IMP-00003: 遇到 ORACLE 错误 990
ORA-00990: 权限缺失或无效
IMP-00017: 由于 ORACLE 错误 1917, 以下语句失败:
"GRANT UNLIMITED TABLESPACE TO "RMAN""
IMP-00003: 遇到 ORACLE 错误 1917
ORA-01917: 用户或角色 'RMAN' 不存在
IMP-00017: 由于 ORACLE 错误 1917, 以下语句失败:
"GRANT SELECT ANY TABLE TO "OEM_DBSERVER_CARDB""
IMP-00003: 遇到 ORACLE 错误 1918
ORA-01918: 用户 'OEM_DBSERVER_CARDB' 不存在
IMP-00017: 由于 ORACLE 错误 1918, 以下语句失败:
"ALTER USER "DB_LAYOUT" DEFAULT ROLE ALL"
IMP-00003: 遇到 ORACLE 错误 1918
ORA-01918: 用户 'OEM_DBSERVER_CARDB' 不存在
. 正在将 AURORA$JIS$UTILITY$ 的对象导入到 AURORA$JIS$UTILITY$
. 正在将 OSE$HTTP$ADMIN 的对象导入到 OSE$HTTP$ADMIN
. 正在将 WKSYS 的对象导入到 WKSYS
. 正在将 OLAPSYS 的对象导入到 OLAPSYS
. 正在将 HR 的对象导入到 HR
. 正在将 OE 的对象导入到 OE
. 正在将 QS 的对象导入到 QS
. 正在将 QS_WS 的对象导入到 QS_WS
. 正在将 QS_ES 的对象导入到 QS_ES
. 正在将 QS_OS 的对象导入到 QS_OS
. 正在将 QS_CBADM 的对象导入到 QS_CBADM
. 正在将 QS_CS 的对象导入到 QS_CS
. 正在将 RMAN 的对象导入到 RMAN
"ALTER SESSION SET CURRENT_SCHEMA= "RMAN""
IMP-00003: 遇到 ORACLE 错误 1435
ORA-01435: 用户不存在
IMP-00000: 未成功终止导入
请问这里面具体有哪几个方面的错误,如何解决。
我只有一个DMP文件,是用这个文件恢复的。

这样的问题只能一个错误一个错误的处理。
两种类型的错误:
一、 缺少databse object
二、 权限不足
建议imp 时带上 ignore =y fromuser, touser
你也看到了,你的日志记载的错误有:
1、 ORA-00959: 表空间 'OEM_REPOSITORY' 不存在,需要create
2、 ORA-01917: 用户或角色 'RMAN' 不存在, create user
3、 ORA-01918: 用户 'OEM_DBSERVER_CARDB' 不存在
你这是一连串的错误,因为表空间不存在,造成的create user default tablespace 失败,用户没有创建成功造成的,赋予权限的失败,建议把所有的表空间都建好后,用sys导入.
谢谢
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-05-17
不用想了,权限问题,你导出时用户什么权限,你导入时权限最起码要等同于之前导出时的权限,或者直接付给sysdba权限,导入后改回来。
第2个回答  2010-05-05
尝试下:
用SYS用户导入
imp 最后加 ignore=y
第3个回答  2010-05-04
imp
首先将导入库用system登录 创建与导出库相同的表空间及用户名 然后再导入;
具体分为以下几个步骤

创建表空间
create tablespace LGB
datafile 'd:\lgb.dat'
size 1M
autoextend on
/
创建用户
create user lgb identified by lgb
default tablespace lgb
temporary tablespace TEMP
profile DEFAULT
/
授权
grant aq_administrator_role to lgb with admin option
/
grant dba to lgb with admin option
/
grant unlimited tablespace to lgb with admin option
/