明天就要考试了,今天要重装系统,需要备份ORACLE数据库,可完整备份下来的数据库还原的时候少了48个表在网上查了很多资料方法倒是讲了不少,可没两个是能够照着操作的,而偶对oracle实在是不太明白
希望哪个大哥大姐给个实际的操作过程。就像我写在bolg里的很多经验例子那样能够照着做。我们的数据库是 oracle 10g谢谢了

解决方案 »

  1.   

    我们需要完全备份数据库,然后再重装系统和oracle后还能够还原回去的方法
      

  2.   

    再问一下要是我们备份的数据库机器是64位的,想先还原到32位系统的oracle 10G上可以吗?现在还原上去总是少表啊
      

  3.   

    物理备份
    ---做个全备份:参数文件、控制文件、online redo文件、数据文件, 这些文件备份好,重装系统以后再恢复回来就可以了逻辑备份
    --exp, imp这2个命令。exp导出数据,重装系统后再imp回来了
      

  4.   

    物理备份之后,重装系统恢复的方法:
    http://www.eygle.com/archives/2006/08/oradim_on_windows.html
      

  5.   

    冷备份脚本:
    文件名:coldbak.sql
    rem     script:coldbak.sql
    rem     creater:HuangDongHai
    rem     date:11.09.2008
    rem     desc:offline full backup database --connect database
    --connect system/manager;
    connect admin/admin as sysdba;
    --shutdown database
    shutdown immediate;
    --Copy Data file
    host xcopy F:\oracle\oradata\oradb\*.dbf F:bak/H/R; 
    --Copy Control file
    host xcopy F:\oracle\oradata\oradb\*.ctl F:bak/H/R;
    --Copy Log file
    host xcopy F:\oracle\oradata\oradb\*.log F:bak/H/R;
    --startup database
    startup;
      

  6.   

    热备份脚本
    文件名:hotbak.sql
    rem     script:hotbak.sql
    rem     creater:HuangDongHai
    rem     date:11.09.2008
    rem     desc:backup all database datafile in archive--connect database
    --connect internal/password;
    connect / as sysdba;--archive
    alter system archive log current;
    --startalter tablespace system begin backup;
    host xcopy F:\oracle\oradata\oradb\system01.dbf f:\bak2/H/R;
    alter tablespace system end backup;alter tablespace cwmlite begin backup;
    host xcopy F:\oracle\oradata\oradb\cwmlite01.dbf f:\bak2/H/R;
    alter tablespace cwmlite end backup;alter tablespace users begin backup;
    host xcopy F:\oracle\oradata\oradb\users01.dbf f:\bak2/H/R;
    alter tablespace users end backup;alter tablespace tools begin backup;
    host xcopy F:\oracle\oradata\oradb\tools01.dbf f:\bak2/H/R;
    alter tablespace tools end backup;alter tablespace indx begin backup;
    host xcopy F:\oracle\oradata\oradb\indx01.dbf f:\bak2/H/R;
    alter tablespace indx end backup;alter tablespace example begin backup;
    host xcopy F:\oracle\oradata\oradb\example01.dbf f:\bak2/H/R;
    alter tablespace example end backup;alter tablespace ts_test begin backup;
    host xcopy F:\oracle\oradata\oradb\test01.dbf f:\bak2/H/R;
    alter tablespace ts_test end backup;
    --end--bak control file
    --binary
    alter database backup controlfile to 'f:\bak2\controlbinbak.000';
    --ascii
    alter database backup controlfile to trace;alter system archive log current;
      

  7.   

    也想知道数据库的备份和恢复,我的数据库有20G多,如果用-exp, imp很慢,不知道这个冷备份和热备份是什么意思,有没有更好的方法
      

  8.   

    20多G用exp,imp没什么问题啊。备份下来的估计只有几G。我觉得exp 全备份方法可行
      

  9.   

    exp system/manager@source file=d:\daochu.dmp full=y
    导出所有的。
    imp system/manager@destination  file=d:\daochu.dmp ignore=y
      

  10.   

    我看你还是先看看oracle数据库的基础知识比较好。
    楼上的脚本都给你了。呵呵。。
      

  11.   


    我们上午就是用EXP备份的,可恢复的结果却是少了三个表,开始少几十个表后来还是少三个表,我是想问怎么能够不少表
      

  12.   


    应该是在恢复时出错了吧? 看看目录下的错误日志文件(位于你调用imp命令时的当前目录下)
      

  13.   

    求达人能给个完整的windows下的RMAN备份和还原Oracle 10g 到异机上的脚本
      

  14.   


    --导出
    exp system/manager@source file=d:\daochu.dmp;
    --导入
    imp system/manager@destination  file=d:\daochu.dmp full=y ignore=y 
    我经常这样用,不会少表啊,你备份或还原的时候可以看备份还原信息啊,看是否出导出来,或是否都导进去了啊
      

  15.   

    我们需要备份后 重新安装操作系统,和数据库,然后把备份恢复回去,EXP的方式能行吗
      

  16.   


    那应该怎么应用呢?
    我刚试过,比如我用sys进去建立了个表AA,退出后用exp system/manager@source file=d:\daochu.dmp; 可以备份成功,可备份不下刚才sys用户的AA表。
      

  17.   

    如果是表过大 ,在导出的时候加上 compress=n 参数
      

  18.   


    exp system/manager@source file=:\daochu.dmp owner=sys|[***]|[***]  
    在命令后面加上所属的用户,就可以导出某个用户下的表了,,