你的位置:首页 > 数据库

[数据库]Oracle数据库的导出导入


1、执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行(DOS命令可以执行是由于..\product\11.2.0\client_1\bin被设置了环境变量)

2、执行语句:

一、数据导出:
 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
   exp system/manager@TEST file=d:\daochu.dmp log=d:\daochu.log full=y;
 2 将数据库中system用户与sys用户的表导出
   exp system/manager@TEST file=d:\daochu.dmp log=d:\daochu.log owner=(system,sys);
 3 将数据库中的表table1 、table2导出
   exp system/manager@TEST file=d:\daochu.dmp log=d:\daochu.log tables=(table1,table2);
 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp system/manager@TEST file=d:\daochu.dmp log=d:\daochu.log tables=(table1) query=\" where filed1 like  '00%'\";

同名用户之间的数据导入:
imp mh/zymobile@mh file=d:\daochu.dmp log=d:\daochu.log full=y;

不同名之间的数据导入:
imp mh/zymobile@mh fromuser=mh touser=mh_new file=d:\daochu.dmp log=d:\daochu.log full=y;

二、数据导入:
 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST  file=d:\daochu.dmp log=d:\daochu.log;
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入,在后面加上 ignore=y 就可以了。
 2 将d:\daochu.dmp中的表table1 导入
   imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1);