exp_tgm.par:
   userid=sys/sys5678
   file = exp_tgm.dmp
   owner=(smapp,smappman,smappcde)
   rows = y
   log = exp_tgm.lognohup exp parfile=exp_tgm.par 2>exp_tian.out 1>&2 &
   
   imp_tgm.par:
   userid=sys/sys5678
   file = exp_tgm.dmp
   fromuser=(smapp,smappman,smappcde)
   touser=(smapp,smappman,smappcde)
   buffer=20000000
   commit=y
   ignore=y
   log=imp_tgm.lognohup imp parfile=imp_tgm.par 2>imp_tian.out 1>&2 &

解决方案 »

  1.   

    数据导出:
     1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
       exp system/manager@TEST file=d:\daochu.dmp full=y
    exp sz0/sz0@zhygk file=e:\nulldb.dmp owner=(sz0)
    exp sz/sz@jessica file=c:\a.dmp owner=(sz)
    exp yszx/yszx@swimming file=D:\年终结转专用\temp.dmp
     2 将数据库中system用户与sys用户的表导出
       exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
     3 将数据库中的表table1 、table2导出
       exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2) 
     4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
       exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where 
    filed1 like '00%'\"
      
         上面是常用的导出,对于压缩我不太在意,用winzip把dmp文件可以很好的压缩。
                         不过在上面命令后面 加上 compress=y  就可以了
    数据的导入
     1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
       imp system/manager@TEST  file=d:\daochu.dmp
       上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
       在后面加上 ignore=y 就可以了。
    imp yszx/yszx@swimming file=d:\nulldb.dmp ignore=y
     2 将d:\daochu.dmp中的表table1 导入
     imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1) 
     imp yszx/yszx@swimming  file=E:\zbadjust\DataBak2006.dmp show=n buffer=2048000 ignore=n commit=y grants=y full=y 
     
     基本上上面的导入导出够用了。不少情况我是将表彻底删除,然后导入。
      

  2.   

    还有就是如果你不怎么喜欢用命令的方式,你可以用PLSQL Developer 里面有导表的功能,也非常的方便.既然用了Oracle,PLSQL Developer 肯定是要用的吧 呵呵 :)
      

  3.   

    1 cmd命令在哪个路径执行就导在哪里,如C:\Documents and Settings\Administrator> exp 那文件就在C:\Documents and Settings\Administrator 下面,如果在d:\exp,那文件就在d:\下面
    2 不需要你自己创建文件,oracle会自动创建的。