Linux Oracle数据库如何备份与恢复
备份方法
- RMAN物理备份
- 全量备份:
rman target /
→RUN { BACKUP DATABASE PLUS ARCHIVELOG; }
。 - 增量备份:
BACKUP DATABASE INCREMENTAL LEVEL 1;
(需先有全量备份)。
- 全量备份:
- 逻辑备份(expdp/impdp)
- 全库导出:
expdp system/password@SID directory=DATA_PUMP_DIR dumpfile=full.dmp logfile=expdp.log full=y
。 - 按用户/表导出:添加
owner=用户名
或tables=表名
参数。
- 全库导出:
- 冷备份(物理拷贝)
- 关闭数据库后,复制数据文件、控制文件、日志文件到备份目录。
- 适用于小型数据库,需停机操作。
恢复方法
- RMAN恢复
- 全库恢复:
rman target /
→RUN { RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN; }
。 - 恢复到指定时间点:
RESTORE DATABASE
→RECOVER DATABASE UNTIL TIME 'yyyy-mm-dd hh24:mi:ss'; ALTER DATABASE OPEN RESETLOGS;
。
- 全库恢复:
- 逻辑恢复(impdp)
impdp system/password@SID directory=DATA_PUMP_DIR dumpfile=backup.dmp logfile=impdp.log full=y
。- 支持
REMAP_SCHEMA
参数处理用户映射。
- 闪回技术(快速恢复)
- 闪回表:
FLASHBACK TABLE 表名 TO TIMESTAMP 'yyyy-mm-dd hh24:mi:ss';
(需启用行移动)。 - 闪回数据库:
FLASHBACK DATABASE TO TIMESTAMP 'yyyy-mm-dd hh24:mi:ss';
(需配置闪回日志)。
- 闪回表:
注意事项
- 权限:确保使用
SYSDBA
或对应用户权限执行备份/恢复。 - 归档模式:生产环境建议开启归档日志,支持时间点恢复。
- 验证备份:定期用
RESTORE VALIDATE
命令检查备份有效性。 - 自动化:通过
crontab
定时执行备份脚本,避免人工干预。
参考来源:[1,2,3,4,5,6,7,8,9,10,12,13,14]
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!