我在备份数据库中表A的时候用的是如下语句:create table A as select * from B;将表A数据备份至表B,但是A表数据太多(查了下,有1800多万条数据),导致SQL运行时间过长,就强制中断了,表B并没有建成,我想问下,在SQL运行过程中中断,会不会产生垃圾文件?占用数据库存储?另外,像这种大数据量的表,如何备份?

解决方案 »

  1.   

    不会。都停留在日志缓存,数据缓存里,还没进日志文件,数据文件。
    使用rman备份方式,备份数据就行了。。
      

  2.   

    DATAPUMP,逻辑备份
    DATA FILE COPY冷备份
    RMAN 热备份(在线备份,需要ArchiveLog模式)
      

  3.   

    简单的有如下方式
    1、10g以前可以使用exp导出表方式。
    2、10g及以后还可以使用expdp导出表方式。
      

  4.   

    仅仅是一个表的备份 用exp/imp导入导出吧