目前遇到个问题,就是实际工作中,需要把遇到的各种版本的oracle数据库的数据导出来,然后在自己的机器中重建这个数据库,要求和原有的数据库一样。因为要对其中的数据进行分析,但又不能直接在原来的数据库上操作。就是这样一个需求。
问题来了。我要建立一个和原来一模一样的oracle数据库,是不是要把原来数据库的实例名,用户名,表空间,字符集等都记下来。然后在我的机器上模仿建立,然后才能导入dmp?谁有这样的实际经验,帮帮我,谢谢。

解决方案 »

  1.   

    对实例名可以不一样。
    用户名,表空间不是必须一模一样,如果一模一样,方便快捷点。表空间如果不一样,需要设置新用户的默认表空间。用户名不一样可以用fromuser= touser=导入到不同用户。字符集最好一样,或者是原数据库字符集的超集。
      

  2.   

    不需要一样,使用fromuser和touser参数就可以了
      

  3.   

    imp username/password@数据库dns   file=D:\dc_bat.dmp fromuser=dc_bat touser=dc_bat  GRANTS=N  INDEXES=N CONSTRAINTS=N BUFFER=41943040 COMMIT=Y IGNORE=Y  FEEDBACK=3000
    exp username/password@数据库dns  log=F:\DCBAK_LOG\h_base导出.LOG  file=F:\DCBAK_DATA\h_base.dmp  owner=dc_bat BUFFER=4096000