情况如下:
有一数据库,ORACLE,专为一项目开发使用.包括新建用户及此用户下的表.
为项目演示,我要将数据库导入我电脑的oracle数据库中.每次我都是全数据库导入导出,太大也麻烦.请问:\
1.我如何只导出导入用户及表,导出导入时用什么身份操作.
2.我如果导入过,就是我的电脑上有这个用户和表.但服务器的用户表有改动,也可能用户也有改动.这时怎么导出导入最新的.我应该说明白了吧.请各位赐教.以前没用过oracle,还请讲解是详细些.
谢谢.

解决方案 »

  1.   

    1-用户手动创建,使用exp/imp工具进行数据导入导出
    2-可以称得上是同步更新了,不会
      

  2.   

    就第一点,可以这么操作:
    单独导出需要的用户及数据,exp user/password@数据库服务名(项目数据库) file=c:\user.dmp log=c:\user.log ignore=y;
    导入时使用imp user/password@数据库服务名(你自己的数据库) file=c:\user.dmp log=c:\user.log ignore=y;
    至于你如果是如你第二点所说,那就使用sys用户全库导出再导入吧.因为你的用户和对象都要变化,改来改去麻烦.
      

  3.   

    exp/imp是自帮助可执行文件,exp -help 可以获得帮助
      

  4.   

    cmd 进入命令行输入以下命令
       exp user/passwd@TEST file=d:\daochu.dmp tables=(table1,table2..);   imp user/passwd@TEST  file=d:\daochu.dmp  tables=(table1,...) ;
    可以查看帮助信息,-help
      

  5.   

    1.使用自身的或DBA权限进行exp;
    2.每周备份一个循环,使用windows的“任务计划”,定时执行如:星期一.sql
      

  6.   

    导入是用什么用户登陆呢,这时我本机oracle数据库中没有这个用户的
      

  7.   

    在你服务器上用你当前的用户导出,在你的电脑上创建和该用户一样权限的用户,用该用户导入,不建议用sys,system等系统用户导入导出,会导出一些没有用的表。当服务器上的更新后可以再次导出,将你的电脑上的用户类似创建一个用户再次导入,连接程序就可以用类似创建的用户,这样应该能解决你的电脑和服务器不一致的问题。
      

  8.   

    1.
    exp username/password@databasename file=D:\*.dmp tables=tablenames;
    imp username/password@databasename file=D:\*.dmp tables=tablenames;2.
    select 'drop ' || object_type || ' username.' || object_name || ';' from all_objects where owner = 'username';
    'DROP'||OBJECT_TYPE||'username.'||OBJECT_NAME||';'