友情链接:.NET项目开发者博客

oracle10g和oracle11g导入导出数据区别

其中flxuser为用户名,flxuser为密码,file值为导入到数据库中的备份文件。    

oracle10g和oracle11g导入导出数据的命令方式大有不同:

oracle10g导入数据:

       imp flxuser/flxuser file=test.dmp log=test_20140507.log full=y

oracle10g导出数据:  

       Exp flxuser/flxuser owner =flxuser buffer=102400000 file=test.dmp

       Log=test_20140507.log

在导入数据之前,可重新创建目录,将备份文件放置在这个目录中:

create directory temp_dir as 'c:\temp';
grant read,write on directory temp_dir to flexuser;

 

oracle 11g导入数据:

       impdp flexuser/flxuser directory=temp_dir dumpfile=test.dmp remap_schema=flx_***:flxuser  remap_tablespace=flx_***:flexnet

       其中,当备份文件中用户名与当前用户名冲突时,可通过remap_schema命令将原用户名替换为当前用户名(冒号前为原用户名,冒号后为当前用户名)。

       当备份文件中表空间与当前表空间冲突时,可通过remap_tablespace命令将原表空间替换为当前表空间(冒号前为原表空间,冒号后为当前表空间)。

oracle 11g导出数据:

       expdp flexuser/flxuser schemas=flxuser directory=dump_dir dumpfile =test_20140507.dmp logfile=test_20140507.log

 

若在数据导入过程中出现错误:

将所有与用户相关的内容删除掉:
drop user flexuser cascade;

重新创建用户名:

reate user flxuser identified by flxuser default tablespace flexnet

create grant dba,connect,resource to flxuser

在11g中导入数据时查看日志,出现如下错误:

ORA-00959: tablespace 'FLX_***' does not exist

则只需将导出语句后设置remap_tablespace的值。

 

在10g中不存在remap_schema,remap_tablespace命令

     

posted @ 2014-05-07 17:38  千年老妖  Views(1658)  Comments(0Edit  收藏  举报
友情链接:.NET项目开发者博客