Oracle在Ubuntu上的备份策略
Oracle数据库在Ubuntu上的备份需结合物理备份(直接复制数据库文件)与逻辑备份(导出数据库对象/数据)两种方式,以实现全面的数据保护。物理备份是恢复的基础,逻辑备份则适用于跨平台迁移或特定对象的恢复。
rman target /; RUN { ALLOCATE CHANNEL ch1 DEVICE TYPE disk; BACKUP DATABASE PLUS ARCHIVELOG; RELEASE CHANNEL ch1; }。建议每周执行一次,确保数据的完整性。rman target /; RUN { ALLOCATE CHANNEL ch1 DEVICE TYPE disk; BACKUP INCREMENTAL LEVEL 1 DATABASE PLUS ARCHIVELOG; RELEASE CHANNEL ch1; }。适用于频繁变化的数据库,减少备份时间和存储空间。rman target /; BACKUP ARCHIVELOG ALL DELETE INPUT;。expdp system/password@db schemas=SCOTT directory=DATA_PUMP_DIR dumpfile=scott_full_backup.dmp logfile=scott_export.log。directory需提前创建并授权(CREATE DIRECTORY DATA_PUMP_DIR AS '/u01/app/oracle/dump'; GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO SYSTEM;)。impdp system/password@db directory=DATA_PUMP_DIR dumpfile=scott_full_backup.dmp logfile=scott_import.log。若需覆盖现有对象,可添加REMAP_SCHEMA或FORCE参数。使用Ubuntu的crontab工具设置定时任务,自动执行备份脚本。例如,每天凌晨2点执行RMAN全备份脚本(/u01/app/oracle/scripts/rman_backup.sh),命令示例:crontab -e; 0 2 * * * /bin/bash /u01/app/oracle/scripts/rman_backup.sh。脚本需包含环境变量设置(ORACLE_HOME、ORACLE_SID)和日志记录,确保备份过程可追踪。
RETENTION POLICY配置(如CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 30 DAYS;),自动删除过期备份。find命令删除7天前的日志文件:find /u01/app/oracle/backup/log -name "*.log" -mtime +7 -exec rm -f {} \;。ARCHIVELOG),否则无法进行增量备份和点-in-time恢复。可通过ALTER DATABASE ARCHIVELOG;命令开启,并确认归档日志目录有足够空间。gpg工具),防止数据泄露。cron任务的输出),及时发现备份失败问题并处理。