繁体   English   中英

将dmp文件导入到oracle xe的新安装中

[英]import dmp file into a new install of oracle xe

我正在尝试将* .dmp文件从客户端数据库导入到Oracle XE 11.2.0的新安装中。

我是Oracle DB的新手,我一直使用MySQL,所以我搜索了论坛并使用了cmd中的命令

C:\oraclexe\app\oracle\product\11.2.0\server\bin>imp 'system/root AS SYSDBA' file=c:\export.dmp full=yes log=implog.txt

没有运气。 implog.txt如下:

Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production

Export file created by EXPORT:V09.02.00 via conventional path
import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
export client uses UTF8 character set (possible charset conversion)
. importing SYSTEM's objects into SYSTEM
IMP-00015: following statement failed because the object already exists:
"CREATE UNDO TABLESPACE "UNDOTBS1" BLOCKSIZE 8192 DATAFILE  '/home/app/oracl"
"e/oradata/ANA/undotbs01.dbf' SIZE 2000M       AUTOEXTEND ON NEXT 5242880  M"
"AXSIZE 32767M EXTENT MANAGEMENT LOCAL "
IMP-00015: following statement failed because the object already exists:
"CREATE TEMPORARY TABLESPACE "TEMP" BLOCKSIZE 8192 TEMPFILE  '/home2/oradata"
"/ANA/temp01.dbf' SIZE 2916M       AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M"
" EXTENT MANAGEMENT LOCAL  UNIFORM SIZE 1048576"
IMP-00017: following statement failed with ORACLE error 1119:
"CREATE TABLESPACE "INDX" BLOCKSIZE 8192 DATAFILE  '/home/app/oracle/oradata"
"/ANA/indx01.dbf' SIZE 1048576       AUTOEXTEND ON NEXT 1310720  MAXSIZE 327"
"67M EXTENT MANAGEMENT LOCAL  AUTOALLOCATE  ONLINE PERMANENT  NOLOGGING SEGM"
"ENT SPACE MANAGEMENT AUTO"
IMP-00003: ORACLE error 1119 encountered
ORA-01119: error in creating database file '/home/app/oracle/oradata/ANA/indx01.dbf'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) Impossibile trovare il percorso specificato.
IMP-00017: following statement failed with ORACLE error 1119:
"CREATE TABLESPACE "TOOLS" BLOCKSIZE 8192 DATAFILE  '/home/app/oracle/oradat"
"a/ANA/tools01.dbf' SIZE 209715200       AUTOEXTEND ON NEXT 327680  MAXSIZE "
"32767M EXTENT MANAGEMENT LOCAL  AUTOALLOCATE  ONLINE PERMANENT  NOLOGGING S"
"EGMENT SPACE MANAGEMENT AUTO"
IMP-00003: ORACLE error 1119 encountered
ORA-01119: error in creating database file '/home/app/oracle/oradata/ANA/tools01.dbf'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) Impossibile trovare il percorso specificato.
IMP-00015: following statement failed because the object already exists:
"CREATE TABLESPACE "USERS" BLOCKSIZE 8192 DATAFILE  '/home/app/oracle/oradat"
"a/ANA/users01.dbf' SIZE 1048576       AUTOEXTEND ON NEXT 1310720  MAXSIZE 3"
"2767M EXTENT MANAGEMENT LOCAL  AUTOALLOCATE  ONLINE PERMANENT  NOLOGGING SE"
"GMENT SPACE MANAGEMENT AUTO"
IMP-00017: following statement failed with ORACLE error 1119:
"CREATE TABLESPACE "XDB" BLOCKSIZE 8192 DATAFILE  '/home/app/oracle/oradata/"
"ANA/xdb01.dbf' SIZE 209715200       AUTOEXTEND ON NEXT 655360  MAXSIZE 3276"
"7M EXTENT MANAGEMENT LOCAL  AUTOALLOCATE  ONLINE PERMANENT  NOLOGGING SEGME"
"NT SPACE MANAGEMENT AUTO"
IMP-00003: ORACLE error 1119 encountered
ORA-01119: error in creating database file '/home/app/oracle/oradata/ANA/xdb01.dbf'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) Impossibile trovare il percorso specificato.
IMP-00017: following statement failed with ORACLE error 1119:
"CREATE TABLESPACE "A00" BLOCKSIZE 8192 DATAFILE  '/home2/oradata/A/a00.dbf'"
" SIZE 1048576000       EXTENT MANAGEMENT LOCAL  AUTOALLOCATE  ONLINE PERMAN"
"ENT  NOLOGGING"
IMP-00003: ORACLE error 1119 encountered
ORA-01119: error in creating database file '/home2/oradata/A/a00.dbf'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) Impossibile trovare il percorso specificato.
IMP-00017: following statement failed with ORACLE error 1119:
"CREATE TABLESPACE "D00" BLOCKSIZE 8192 DATAFILE  '/home2/oradata/A/d00.dbf'"
" SIZE 5000M       EXTENT MANAGEMENT LOCAL  AUTOALLOCATE  ONLINE PERMANENT  "
"NOLOGGING"
IMP-00003: ORACLE error 1119 encountered
ORA-01119: error in creating database file '/home2/oradata/A/d00.dbf'
ORA-27040: file create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) Impossibile trovare il percorso specificato.
IMP-00015: following statement failed because the object already exists:
"CREATE USER "OUTLN" IDENTIFIED BY VALUES '4A3BA55E08595C81' TEMPORARY TABLE"
"SPACE "TEMP" PASSWORD EXPIRE ACCOUNT LOCK"
IMP-00015: following statement failed because the object already exists:
"CREATE USER "ANONYMOUS" IDENTIFIED BY VALUES 'anonymous' DEFAULT TABLESPACE"
" "XDB" TEMPORARY TABLESPACE "TEMP" PASSWORD EXPIRE ACCOUNT LOCK"
IMP-00017: following statement failed with ORACLE error 959:
"CREATE USER "A00" IDENTIFIED BY VALUES 'DB7EF8D464FCEC4D' DEFAULT TABLESPAC"
"E "A00" TEMPORARY TABLESPACE "TEMP""
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'A00' does not exist
IMP-00017: following statement failed with ORACLE error 959:
"CREATE USER "D00" IDENTIFIED BY VALUES '546A075B8012922B' DEFAULT TABLESPAC"
"E "D00" TEMPORARY TABLESPACE "TEMP""
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'D00' does not exist
IMP-00015: following statement failed because the object already exists:
"CREATE ROLE "SELECT_CATALOG_ROLE""
IMP-00015: following statement failed because the object already exists:
"REVOKE "SELECT_CATALOG_ROLE" FROM SYSTEM"
IMP-00015: following statement failed because the object already exists:
"CREATE ROLE "EXECUTE_CATALOG_ROLE""
IMP-00015: following statement failed because the object already exists:
"REVOKE "EXECUTE_CATALOG_ROLE" FROM SYSTEM"
IMP-00015: following statement failed because the object already exists:
"CREATE ROLE "DELETE_CATALOG_ROLE""
IMP-00015: following statement failed because the object already exists:
"REVOKE "DELETE_CATALOG_ROLE" FROM SYSTEM"
IMP-00015: following statement failed because the object already exists:
"CREATE ROLE "RECOVERY_CATALOG_OWNER""
IMP-00015: following statement failed because the object already exists:
"REVOKE "RECOVERY_CATALOG_OWNER" FROM SYSTEM"
IMP-00015: following statement failed because the object already exists:
"CREATE ROLE "GATHER_SYSTEM_STATISTICS""
IMP-00015: following statement failed because the object already exists:
"REVOKE "GATHER_SYSTEM_STATISTICS" FROM SYSTEM"
IMP-00015: following statement failed because the object already exists:
"CREATE ROLE "LOGSTDBY_ADMINISTRATOR""
IMP-00015: following statement failed because the object already exists:
"REVOKE "LOGSTDBY_ADMINISTRATOR" FROM SYSTEM"
IMP-00015: following statement failed because the object already exists:
"CREATE ROLE "AQ_ADMINISTRATOR_ROLE""
IMP-00015: following statement failed because the object already exists:
"CREATE ROLE "AQ_USER_ROLE""
IMP-00015: following statement failed because the object already exists:
"REVOKE "AQ_USER_ROLE" FROM SYSTEM"
IMP-00017: following statement failed with ORACLE error 439:
"CREATE ROLE "GLOBAL_AQ_USER_ROLE" IDENTIFIED GLOBALLY "
IMP-00003: ORACLE error 439 encountered
ORA-00439: feature not enabled: Enterprise User Security
IMP-00015: following statement failed because the object already exists:
 "CREATE ROLE "OEM_MONITOR""
IMP-00015: following statement failed because the object already exists:
 "REVOKE "OEM_MONITOR" FROM SYSTEM"
IMP-00015: following statement failed because the object already exists:
 "CREATE ROLE "HS_ADMIN_ROLE""
IMP-00015: following statement failed because the object already exists:
 "REVOKE "HS_ADMIN_ROLE" FROM SYSTEM"
IMP-00015: following statement failed because the object already exists:
 "CREATE ROLE "XDBADMIN""
IMP-00015: following statement failed because the object already exists:
 "REVOKE "XDBADMIN" FROM SYSTEM"
IMP-00015: following statement failed because the object already exists:
 "CREATE ROLE "AUTHENTICATEDUSER""
IMP-00015: following statement failed because the object already exists:
 "REVOKE "AUTHENTICATEDUSER" FROM SYSTEM"
IMP-00017: following statement failed with ORACLE error 1917:
 "GRANT UNLIMITED TABLESPACE TO "A00""
IMP-00003: ORACLE error 1917 encountered
ORA-01917: user or role 'A00' does not exist
IMP-00017: following statement failed with ORACLE error 1917:
 "GRANT CREATE PROCEDURE TO "D00""
IMP-00003: ORACLE error 1917 encountered
ORA-01917: user or role 'D00' does not exist
IMP-00017: following statement failed with ORACLE error 1917:
 "GRANT EXECUTE ANY PROCEDURE TO "D00""
IMP-00003: ORACLE error 1917 encountered
ORA-01917: user or role 'D00' does not exist
IMP-00017: following statement failed with ORACLE error 1917:
 "GRANT CREATE TRIGGER TO "D00""
IMP-00003: ORACLE error 1917 encountered
ORA-01917: user or role 'D00' does not exist
IMP-00017: following statement failed with ORACLE error 1917:
 "GRANT CREATE SNAPSHOT TO "D00""
IMP-00003: ORACLE error 1917 encountered
ORA-01917: user or role 'D00' does not exist
IMP-00017: following statement failed with ORACLE error 1917:
 "GRANT CREATE TYPE TO "D00""
IMP-00003: ORACLE error 1917 encountered
ORA-01917: user or role 'D00' does not exist
IMP-00017: following statement failed with ORACLE error 1917:
 "GRANT "CONNECT" TO "A00""
IMP-00003: ORACLE error 1917 encountered
ORA-01917: user or role 'A00' does not exist
IMP-00017: following statement failed with ORACLE error 1917:
 "GRANT "DBA" TO "A00""
IMP-00003: ORACLE error 1917 encountered
ORA-01917: user or role 'A00' does not exist
IMP-00017: following statement failed with ORACLE error 1917:
 "GRANT "CONNECT" TO "D00""
IMP-00003: ORACLE error 1917 encountered
ORA-01917: user or role 'D00' does not exist
IMP-00017: following statement failed with ORACLE error 1918:
 "ALTER USER "D00" DEFAULT ROLE ALL"
IMP-00003: ORACLE error 1918 encountered
ORA-01918: user 'D00' does not exist
IMP-00017: following statement failed with ORACLE error 1918:
 "ALTER USER "A00" DEFAULT ROLE ALL"
IMP-00003: ORACLE error 1918 encountered
ORA-01918: user 'A00' does not exist
IMP-00017: following statement failed with ORACLE error 1918:
 "ALTER USER "A00" QUOTA UNLIMITED ON "TEMP" QUOTA UNLIMITED ON "A00""
IMP-00003: ORACLE error 1918 encountered
ORA-01918: user 'A00' does not exist
IMP-00017: following statement failed with ORACLE error 1918:
 "ALTER USER "D00" QUOTA UNLIMITED ON "TEMP" QUOTA UNLIMITED ON "D00""
IMP-00003: ORACLE error 1918 encountered
ORA-01918: user 'D00' does not exist
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "MVIEW$_ADVSEQ_GENERIC" MINVALUE 1 MAXVALUE 4294967295 INCR"
 "EMENT BY 1 START WITH 1 CACHE 50 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "MVIEW$_ADVSEQ_ID" MINVALUE 1 MAXVALUE 4294967295 INCREMENT"
 " BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "LOGMNR_SEQ$" MINVALUE 1 MAXVALUE 9999999999999999999999999"
 "99 INCREMENT BY 1 START WITH 1 CACHE 20 ORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "LOGMNR_UIDS$" MINVALUE 1 MAXVALUE 999999999999999999999999"
 "999 INCREMENT BY 1 START WITH 100 CACHE 20 ORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_FLAVORS_S" MINVALUE -2147483647 MAXVALUE 214748364"
 "7 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_FLAVOR_NAME_S" MINVALUE 1 MAXVALUE 999999999999999"
 "999999999999 INCREMENT BY 1 START WITH 1 NOCACHE NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_REPPROP_KEY" MINVALUE 1 MAXVALUE 99999999999999999"
 "9999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT_LOG_SEQUENCE" MINVALUE 1 MAXVALUE 99999999999999999"
 "9999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_REFRESH_TEMPLATES_S" MINVALUE 1 MAXVALUE 999999999"
 "999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_USER_AUTHORIZATIONS_S" MINVALUE 1 MAXVALUE 9999999"
 "99999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_TEMPLATE_REFGROUPS_S" MINVALUE 1 MAXVALUE 99999999"
 "9999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_TEMPLATE_OBJECTS_S" MINVALUE 1 MAXVALUE 9999999999"
 "99999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_TEMPLATE_PARMS_S" MINVALUE 1 MAXVALUE 999999999999"
 "999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_USER_PARM_VALUES_S" MINVALUE 1 MAXVALUE 9999999999"
 "99999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_TEMPLATE_SITES_S" MINVALUE 1 MAXVALUE 999999999999"
 "999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_TEMP_OUTPUT_S" MINVALUE 1 MAXVALUE 999999999999999"
 "999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_RUNTIME_PARMS_S" MINVALUE 1 MAXVALUE 9999999999999"
 "99999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "TEMPLATE$_TARGETS_S" MINVALUE 1 MAXVALUE 99999999999999999"
 "9999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
IMP-00015: following statement failed because the object already exists:
 "CREATE SEQUENCE "REPCAT$_EXCEPTIONS_S" MINVALUE 1 MAXVALUE 9999999999999999"
 "99999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER NOCYCLE"
. importing WMSYS's objects into WMSYS
. importing A00's objects into A00
 "ALTER SESSION SET CURRENT_SCHEMA= "A00""
IMP-00003: ORACLE error 1435 encountered
ORA-01435: user does not exist
IMP-00000: Import terminated unsuccessfully

现在我正在读的是:

- 该脚本删除了用户SYSTEM的所有权限,但即使导入失败,执行导入后我也无法以SYSTEM身份登录

- 我正在尝试在Windows XP 32位虚拟机上导入* .dmp,我认为导出是在Windows Vista机器上创建的(不知道x86或x64),但我不理解的是日志中的位置显示“创建数据库文件时出错'/home/app/oracle/oradata/ANA/indx01.dbf'”。 这里似乎是一条unix路径......

- 几乎所有Oracle都说无法创建用户/表/索引,因为它们已经存在。这是一个全新安装,或者至少是我第一次尝试导入时。 在第一次失败后,我尝试以SYSTEM身份登录,但是我没有删除Oracle XE并从头开始重新安装,所以我认为这是一个全新的安装。 难道我做错了什么? 有没有办法重新创建SYSTEM权限而不删除并重新安装所有内容?

预先感谢您的帮助

编辑:刚收到导出日志,我省略了表名:

Connected to: Oracle9i Enterprise Edition Release 9.2.0.8.0 - Production
JServer Release 9.2.0.8.0 - Production
Export done in UTF8 character set and AL16UTF16 NCHAR character set

About to export the entire database ...
. exporting tablespace definitions
. exporting profiles
. exporting user definitions
. exporting roles
. exporting resource costs
. exporting rollback segment definitions
. exporting database links
. exporting sequence numbers
. exporting directory aliases
. exporting context namespaces
. exporting foreign function library names
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions
. exporting system procedural objects and actions
. exporting pre-schema procedural objects and actions
. exporting cluster definitions
. about to export SYSTEM's tables via Conventional Path ...
. about to export OUTLN's tables via Conventional Path ...
. about to export DBSNMP's tables via Conventional Path ...
. about to export WMSYS's tables via Conventional Path ...
. about to export ANONYMOUS's tables via Conventional Path ...
. about to export A00's tables via Conventional Path ...
. about to export D00's tables via Conventional Path ...

. exporting synonyms
. exporting views
. exporting referential integrity constraints
. exporting stored procedures
. exporting operators
. exporting indextypes
. exporting bitmap, functional and extensible indexes
. exporting posttables actions
. exporting triggers
. exporting materialized views
. exporting snapshot logs
. exporting job queues
. exporting refresh groups and children
. exporting dimensions
. exporting post-schema procedural objects and actions
. exporting user history table
. exporting default and system auditing options
. exporting statistics
Export terminated successfully without warnings.

要确定需要创建哪些表空间,需要找出所需的表和索引,然后查看构建它们的表空间。 您需要了解的第一件事是您需要重新创建哪些模式(用户)。 从导出日志看起来像A00D00或两者。

您可以通过使用INDEXFILE参数运行imp来获取表和索引的DDL,其中包括它们内置的表空间,例如:

imp 'system/root AS SYSDBA' file=c:\export.dmp full=n rows=n fromuser=A00 touser=A00 indexfile=c:\indexfile.sql

这将为您提供一个带有表和索引的DDL的文本文件,但是使用rem注释掉了表创建命令。 您可以在记事本或其他文本编辑器中查看该文件,并搜索所有TABLESPACE引用。 您只需要所有不同的值。 在您的情况下,可能是所有A00拥有的对象都在A00表空间中,但您需要检查。

获得该信息后,您可以手动创建在新数据库中使用相同名称标识的表空间。 您还需要创建要导入的用户,并确保它可以创建对象; 在原装进口记录你有quota unlimited一套用于A00上表A00 ,例如,也看grant命令它试图。

构建完成后,您可以再次运行导入:

imp 'system/root AS SYSDBA' file=c:\export.dmp full=n rows=y fromuser=A00 touser=A00 log=import.log

然后应该构建表,索引等,然后将数据导入到它们中。

您应该阅读导入命令和参数,以了解这些示例将执行的操作,并根据您的最终目标确定是否需要其他任何修改导入行为的方式。

也许这个导出来自Linux机器? 因为表空间的路径:'/ home / app / oracle / oradata / *'在Windows机器中似乎不正确。 您可以先创建表空间并导入dmp。 只是一个想法。

请尝试以下步骤:

  • 手动创建表空间TOOLS
  • imp使用FROM_USER / TO_USER参数仅导入此用户的架构数据。

从Oracle 9到Oracle 11导入SYSTEM和其他表空间将破坏生活在该表空间中的许多与系统相关的表/对象。

打开命令提示符(此处为GLOBAL是用户名和密码)仅将11g文件导入11g文件,仅将10g文件导入10g。

> IMP GLOBAL/GLOBAL
password:global
it will give some error ORA-0107
again it will ask for logon username:GLOBAL
Password:global
Import Data Only (yes/no):no
Import file:EXPDAT.DMP > C:\Downloads\global_tables.dmp (location of dump file)
Enter insert buffer size (minimum is 8192) 30720>  

30720
List contents of import file only (yes/no): no >  

no
Ignore create error due to object existence (yes/no): no >  

no
Import grants (yes/no): yes >  

yes
Import table data (yes/no): yes >  

yes
Import entire export file (yes/no): no >  

yes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM