因为项目开发要在自己机器上安装oracle数据库,这几天忙了好久才把oracle 11g数据库安装好,但导入dmp文件(从别的服务器expdp导出的)的时候老失败,网上找了没有关于11g的,都是10g的,下面把dmp文件怎么导入oracle 11g数据库我的个人经验说一下。
首先,你要保证你的机器安装了oracle 11g的数据库,并且可用。
然后,在导入dmp文件之前,你要在数据库里面给它分配一片存储它的地方(表空间),下面是表空间的创建语句:
1.先用sqlplus / as sysdba 连接到你的数据库,然后执行下面的语句
create tablespace CC6(表空间名称) datafile 'D:\cc\test.dmp'(表空间的存储位置)
size 50M (表空间大小,单位兆)
autoextend on next 50M
maxsize unlimited
extent management local autoallocate
segment space management auto;
2. 创建用户并将表空间分配给用户create user test(用户名)
identified by test(密码)
default tablespace test(表空间名称);
3. 给用户授予权限grant dba,connect,resource,
aq_administrator_role,aq_user_role,
authenticateduser to test(用户名);
执行完上面语句之后重头戏来了,我的dmp文件是从服务器上导出的,导出语句为:
expdp aa/aa@199.199.115.178/fff DIRECTORY=expdp_dir DUMPFILE=2014102101.dmp,导出语句是在本机的cmd里面执行的,导出之后会告诉你导出文件夹在服务器的位置,其中DIRECTORY是导出文件夹中服务器的目录名,DUMPFILE是导出生成的dmp的文件名。
重点来了,把从服务器下载的dmp文件复制到你所安装的oracle文件夹中dpdump文件夹里面,我的位置为:D:\app\z475\admin\orcl\dpdump,然后再打开cmd,执行impdp aa/aa@orcl file=2014102101.dmp full=y ;语句就行了,