如何从dmp文件和日志文件导入Oracle数据库?

我将如何去从一个dmp文件创build一个数据库? 我的系统中没有与现有数据库相同的结构,因此必须完成作业,事件和表格等。

我把dmp和日志文件放在E盘里

我已经尝试了导入工具

E:/>impdp system/tiger@oratest FILE=WB_PROD_FULL_20MAY11.dmp 

但是我得到了错误

 invalid argument value bad dump file specification unable to open dump file "E:\app\Vensi\admin\oratest\dpdump\WB_PROD_F ULL_20MAY11.dmp" for read unable to open file unable to open file (OS 2) The system cannot find the file specified. 

而当我在Windows资源pipe理器中看到dmp文件(取自Linux服务器)显示为崩溃转储文件

我不明白如何解决这个问题。 请帮我解决这个问题。

我是一个在Oracle上的完全新手…

数据库是如何输出的?

  • 如果使用exp导出并导出完整的模式,那么

    1. 创build用户:

       create user <username> identified by <password> default tablespace <tablespacename> quota unlimited on <tablespacename>; 
    2. 授予权利:

       grant connect, create session, imp_full_database to <username>; 
    3. imp开始导入:

       imp <username>/<password>@<hostname> file=<filename>.dmp log=<filename>.log full=y; 
  • 如果使用expdp导出,则使用impdp开始导入:

     impdp <username>/<password> directory=<directoryname> dumpfile=<filename>.dmp logfile=<filename>.log full=y; 

查看错误日志,似乎你没有指定目录,所以Oracle试图在默认目录(即E:\app\Vensi\admin\oratest\dpdump\ )中finddmp文件。

将导出文件移动到上面的path,或者创build一个目录对象,指向dmp文件所在的path,并将对象名称传递给上面的impdp命令。

所有这些和平的代码放入* .bat文件并一次运行:

我在oracle中创build用户的代码。 crate_drop_user.sql文件

 drop user "USER" cascade; DROP TABLESPACE "USER"; CREATE TABLESPACE USER DATAFILE 'D:\ORA_DATA\ORA10\USER.ORA' SIZE 10M REUSE AUTOEXTEND ON NEXT 5M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO / CREATE TEMPORARY TABLESPACE "USER_TEMP" TEMPFILE 'D:\ORA_DATA\ORA10\USER_TEMP.ORA' SIZE 10M REUSE AUTOEXTEND ON NEXT 5M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M / CREATE USER "USER" PROFILE "DEFAULT" IDENTIFIED BY "user_password" DEFAULT TABLESPACE "USER" TEMPORARY TABLESPACE "USER_TEMP" / alter user USER quota unlimited on "USER"; GRANT CREATE PROCEDURE TO "USER"; GRANT CREATE PUBLIC SYNONYM TO "USER"; GRANT CREATE SEQUENCE TO "USER"; GRANT CREATE SNAPSHOT TO "USER"; GRANT CREATE SYNONYM TO "USER"; GRANT CREATE TABLE TO "USER"; GRANT CREATE TRIGGER TO "USER"; GRANT CREATE VIEW TO "USER"; GRANT "CONNECT" TO "USER"; GRANT SELECT ANY DICTIONARY to "USER"; GRANT CREATE TYPE TO "USER"; 

创build文件import.bat并把它放在这里:

 SQLPLUS SYSTEM/systempassword@ORA_alias @"crate_drop_user.SQL" IMP SYSTEM/systempassword@ORA_alias FILE=user.DMP FROMUSER=user TOUSER=user GRANTS=Y log =user.log 

要小心,如果你将从一个用户导入到另一个。 例如,如果您有名为user1的用户,并且您将导入到user2,则可能会失去所有的权限,因此您必须重新创build该用户。

祝你好运,伊万