物理备份直接复制Oracle数据库的物理文件(数据文件、控制文件、归档日志等),是Oracle推荐的底层备份方式,适合大规模数据库环境。
BACKUP DATABASE
)、增量备份(BACKUP INCREMENTAL LEVEL 1 DATABASE
,仅备份自上次备份以来变化的数据块)、差异备份(BACKUP DIFFERENTIAL DATABASE
,备份自上次全库备份以来变化的数据)及归档日志备份(BACKUP ARCHIVELOG ALL
,记录所有数据变更,用于恢复到任意时间点)。RMAN具备压缩(WITH COMPRESSION
)、加密、自动校验备份完整性等功能,可通过脚本结合crontab
实现自动化。cp -r /u01/oracle/oradata /backup/location
),操作简单但需停机,适合维护窗口内的定期备份。ALTER TABLESPACE tablespace_name BEGIN BACKUP
),备份完成后结束模式(ALTER TABLESPACE tablespace_name END BACKUP
)。热备份无需停机,但需确保备份过程中数据一致性。逻辑备份将数据库中的逻辑对象(表、视图、存储过程等)导出为可读的文本文件,适合数据迁移或选择性恢复。
EXP
导出数据(如exp system/password@SID file=full.dmp full=y
),IMP
导入数据(如imp system/password@SID file=full.dmp full=y
),但效率较低,适合小规模数据库。PARALLEL=4
)、压缩(COMPRESSION=YES
)、过滤对象(INCLUDE=TABLE:"LIKE 'EMP%'"
)等功能。导出命令示例:expdp system/password@SID directory=dpump_dir dumpfile=full.dmp full=y
;导入命令示例:impdp system/password@SID directory=dpump_dir dumpfile=full.dmp full=y
。通过脚本或定时任务减少人工干预,确保备份一致性。
rman_backup.sh
),实现备份、压缩、清理过期备份(如find /backup -name "*.dmp" -mtime +7 -delete
)等操作。crontab -e
设置定时执行脚本,例如每天凌晨2点执行全备脚本:0 2 * * * /path/to/rman_backup.sh
;每周日凌晨3点执行增量备份脚本:0 3 * * 0 /path/to/incremental_backup.sh
。借助专业备份软件实现更高级的功能(如集中管理、云存储集成、数据去重)。
通过实时数据同步实现灾备,是Oracle企业级高可用解决方案。
ALTER DATABASE FORCE LOGGING
)、归档模式(ALTER DATABASE ARCHIVELOG
);设置归档日志目的地(LOG_ARCHIVE_DEST_2
指向备库);生成备用控制文件(ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/backup/standby.ctl'
);配置DataGuard参数(DB_UNIQUE_NAME
、DG_CONFIG
、LOG_ARCHIVE_CONFIG
)。以上策略可根据数据库规模、业务需求(如RTO/RPO要求)、性能预算选择组合使用,例如:小型数据库可采用RMAN全备+增量备份+crontab自动化;大型企业数据库可采用RMAN+Data Guard+第三方工具的高可用方案。