温馨提示×

CentOS Oracle数据库备份与恢复方法

小樊
53
2025-08-30 18:03:59
栏目: 云计算

一、备份方法

  1. 物理备份

    • 全量备份:使用RMAN备份所有数据文件、控制文件和归档日志,适用于全库恢复。
      rman target /  
      run { backup database plus archivelog; }
      
    • 增量备份:仅备份自上次备份以来的变化数据,节省空间。
      rman target /  
      run { backup incremental level 1 database; }
      
    • 归档日志备份:定期备份归档日志,确保事务完整性。
      rman target /  
      backup archivelog all delete input;
      
  2. 逻辑备份

    • Data Pump(expdp/impdp):高效导出/导入数据,支持大容量数据库。
      • 导出:expdp username/password@db directory=dir_name dumpfile=file.dmp
      • 导入:impdp username/password@db directory=dir_name dumpfile=file.dmp
    • 传统EXP/IMP工具:适用于小规模数据迁移,需手动指定表或用户。
      • 导出:exp username/password@db file=exp.dmp tables=(table1,table2)
      • 导入:imp username/password@db file=exp.dmp

二、恢复方法

  1. 物理恢复

    • 全库恢复:用全量备份文件恢复数据文件、控制文件,需先关闭数据库。
      sqlplus / as sysdba  
      shutdown immediate  
      cp /backup/* /u01/oracle/oradata/  
      startup mount  
      rman target /  
      restore database;  
      recover database;  
      alter database open;
      
    • 增量恢复:在全量备份基础上应用增量备份和归档日志,恢复到指定时间点。
      rman target /  
      restore database;  
      recover database until scn <SCN号>;
      
  2. 逻辑恢复

    • Data Pump导入:将导出的逻辑数据文件导入目标库,需确保目录权限正确。
      impdp username/password@db directory=dir_name dumpfile=file.dmp
      
    • 传统导入:通过IMP工具导入逻辑备份文件,支持条件导入。
      imp username/password@db file=exp.dmp tables=(table1) query="where condition"
      

三、注意事项

  • 权限与环境:确保备份/恢复用户有足够权限,操作系统和Oracle版本一致。
  • 路径配置:备份文件路径需提前创建,可通过RMAN配置自动管理存储位置。
  • 测试验证:定期测试备份文件的可恢复性,避免实际故障时出现问题。

参考来源:

0