linux

Linux上Oracle如何备份恢复

小樊
39
2025-08-17 16:50:17
栏目: 云计算

备份方式

  1. RMAN物理备份(推荐)

    • 全量备份rman target /RUN { BACKUP DATABASE PLUS ARCHIVELOG; }
    • 增量备份BACKUP INCREMENTAL LEVEL 1 DATABASE;(需先做全量备份)。
    • 热备份:需数据库处于归档模式,使用ALTER DATABASE BEGIN BACKUP标记备份开始,结束后用END BACKUP
  2. 逻辑备份

    • 导出全库expdp system/password@SID DIRECTORY=DATA_PUMP_DIR DUMPFILE=full.dmp FULL=Y
    • 导出指定对象expdp system/password@SID DIRECTORY=DATA_PUMP_DIR DUMPFILE=table.dmp TABLES=表名
  3. 物理文件备份

    • 冷备份:关闭数据库后,用cp -r /u01/oradata/DBNAME /backup/复制数据文件、控制文件等。
    • dd命令镜像备份dd if=/dev/sdb of=/backup/db.img bs=4M(适用于整盘备份)。

恢复方式

  1. RMAN恢复

    • 完全恢复rman target /RUN { RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN; }
    • 基于时间点恢复RESTORE DATABASE UNTIL TIME 'YYYY-MM-DD HH24:MI:SS'; RECOVER DATABASE UNTIL TIME 'YYYY-MM-DD HH24:MI:SS'; ALTER DATABASE OPEN RESETLOGS;
  2. 逻辑恢复

    • 导入全库impdp system/password@SID DIRECTORY=DATA_PUMP_DIR DUMPFILE=full.dmp FULL=Y
    • 导入指定对象impdp system/password@SID DIRECTORY=DATA_PUMP_DIR DUMPFILE=table.dmp TABLES=表名
  3. 物理文件恢复

    • 冷备份恢复:关闭数据库后,用cp -r /backup/oradata /u01/oradata/覆盖原文件,重启数据库。

注意事项

参考来源:[1,2,3,4,5,6,8,10,11,12,13]

0
看了该问题的人还看了