我的数据库中有3到5个表,其中有两个表的数据量比较大,有上千万行。我想要实现每天都能自动备份这些数据,怎么才能实现。另外,在备份时,是备份表还是备份整个数据库好些?

解决方案 »

  1.   

    建议可以考虑周一到周五用增量备份,而周六考虑全备份!
    你这个备份又不难的exp user/password tables=(table1,table2....) file='......dmp'
      

  2.   

    exp可以支持整库、表、查询语句
    参考
    http://doc.linuxpk.com/3429.html方案可以自己确定。
      

  3.   

    看你磁盘空间够不够用的了。这几千万条的话可能备份下来也很大。
    windows的可以做个任务计划来执行exp语句。
    linux的用crontab
      

  4.   

    三个表分别备份1、EXP:
    EXP  SONIC/SONIC     BUFFER=64000  FILE=C:\SONIC.DMP  OWNER=SONIC TABLES=(SONIC)
    这样用户SONIC的表SONIC就被导出
    2、IMP:
    EXP  SONIC/SONIC     BUFFER=64000  FILE=C:\SONIC.DMP  OWNER=SONIC TABLES=(SONIC) 
    这样用户SONIC的表SONIC就被导入。 
      

  5.   

    几千w不是很多的,只要不是图片这些大字段.
    用rman每天做全备就可以。
      

  6.   

    打开block change tracing
    设置 rman 的默认为压缩备份,这样备份文件大概是原文件的1/5周1,2,level 1的增量备份
    周3 level 0 的增量备份
    周4,5,level 1的增量备份
    周6或者周7做一个level 0 的增量备份
      

  7.   

    可以把数据库的模式调在 归档模式,那样系统会自己备份;
    要是用exp的话,可以考虑写个bat批处理,然后再任务计划中设置好时间,这是对于win系统来说的;
    如果是linux,写个shell,然后定制contab,也可以按时备份;