最近刚接触ORACLE,负责单位上一个60万数据量的B/S应用系统,数据库是oracle9i,最高并发大约2000,数据库和应用程序装在一台主机上。手边还有一台闲置服务器,比照主服务器建了一个一摸一样的模拟(备份)系统,准备搞点开发和培训用,现在想把主服务器数据库每天自动EXP备份出来,然后IMP备份服务器数据库,实现主/备数据库的大致同步,不知道这样做可否?在数据库、应用程序运行的情况下能否IMP操作?另外,频繁的EXP/IMP对服务器和数据库是否有影响?
    刚开始学习,用这种笨办法,请高手指点!

解决方案 »

  1.   

    用增量导出,如果只需要某一个schema数据,则用户型增量导出。
    关键是注意导出操作,应该避开生产库业务高峰期。
    频繁导出,对生产库肯定有影响,需要占用系统资源。
    既然开发和培训,而不是严格意义上的备份,不必太频繁EXP/IMP。
    每天深夜自动操作一次,差不多够了。
      

  2.   


    可以在晚上导出一个dump文件,在导入测试库。 开发用,保证大部分数据就可以了。像楼主说的这种情况,如果是某些表增长的比较块或者数据比较多,可以在生产库上建个触发器,一旦有数据插入生产库,就可以通过dblink 把数据也插入 测试库,这样在一定成都上也可以实现数据的同步。 可参考:
    用触发器同步2个实例之间的表
    http://blog.csdn.net/tianlesoftware/archive/2009/11/25/4860211.aspx------------------------------------------------------------------------------ 
    Blog: http://blog.csdn.net/tianlesoftware 
    网上资源: http://tianlesoftware.download.csdn.net 
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx 
    Q Q 群:62697716 
      

  3.   

    每天自动EXP备份出来,然后IMP备份服务器数据库.
    可以建立个任务计划,每隔多少时间跑一次.不过这样比较耗资源.在备份服务器上建JOB,用过程每隔多少时间把增量数据插入进来.这样比较好.
      

  4.   

    建立一个oracle9i的流复制服务,主库不做操作对外提供服务,备库负责提供备份服务。
    9iR2之后的版本推荐可以用流复制。