Oracle+Rman备份规划笔记
- 收集备份与恢复策略需求
- 需求提问:
- 数据库发生故障时,丢失多少数据是可承受的?
- 恢复数据库时能忍受的最长时间是多少?
- 为确保数据能够恢复,愿意投入的成本是多少?
- 备份期间是否可停机?
- 受损硬件设备的替换需要多长时间?
- 可承受的数据丢失量
- 恢复数据库时允许的最长时间:HA或DR
- 恢复所花的成本:RPO、RTO与成本之间存在直接联系。
- 备份期间是否可以关闭系统。
- 更换受损硬件需要多长时间:
- 成长和扩展考虑事项
- 需求提问:
- 设计备份与恢复计划
- 脱机or联机备份
- 联机备份多久备份一次归档重做日志?如何确保在备份会话期间确保归档日志不丢失?
- 关于可恢复性的策略和标准是什么?
- 灾难事件中如何确保系统是可恢复的?
- 是否需要制定体系结构方面的决策?
- 基本原则:如果环境稳定,要慎重对待更改。如果有人提出更改,则要站在自己的立场上看改变是否清晰,是否可靠地说明预期回报,并证明值得承担因生产系统更改造成的风险。
- 最佳备份与恢复计划:体系结构设计得当,管理有方,从来没必要使用它们进行恢复!
- 除Oracle数据库之外其他需要备份的内容:
- Oracle RDBMS软件(oracle 主目录和Oracle目录清单)
- 网络参数文件(names.ora, INI文件)
- 系统oratab文件和其他与Oracle相关的系统文件(例如:Oracle所有的rc启动脚本)
保护级别 | 备份类型 | 保留期 | 数据丢失期限 | 数据恢复时长 | 代价 |
1 | 每周全备 | 四周 | 1个工作日 | 一周 | 0 |
2 | 周全备+日归档 | 四周 | 1个工作日 | 48小时 | 00 |
3 | 周全备+6小时归档 | 四周 | 6小时 | 48 | 000 |
4 | 周全备+日增备+ 6小时归档 | 八周 | 1分钟 | 每200G一小时 | 0000 |
- 当前及协商后的备份和恢复SLA(正式或非正式)
- 现有DB的大小
- 这些DB当前的备份时间
- 现有DB预期的成长情况
- 现有DB预期的备份时间延长情况
- 将要创建的新数据库
- 新数据库的初始大小和预期成长情况
- 在开发、测试和QA等不同周期创建、删除和刷新数据库
- 数据库和数据库备份的保留标准
- 预估FRA所需空间(一个月,周末全备,每日增备)
- 2T × (4+1)= 10T × 60% = 6T
- (31-4)+(31-4)÷ 4 = 33.75 × 2T × 10% × 60% = 4148G
- 2T × 2% × (31-4) = 1106G
- 100M × 6 = 600M ≈ 1G
- 1024 × 6 + 4148 + 1106 + 1≈ 10T
经验公式 : 2T × (天数 + 1)÷ 6
- 确定FRA位置,并创建FRA
- 各节点挂载远程NFS
mkdir /nfs mount -o rw,bg,hard,intr,proto=tcp,vers=3,rsize=65536,wsize=65536,timeo=600 192.168.56.12:/NFS /nfs |
- 配置权限
chown oracle:dba /FRA |
- 登陆DB配置为使用FRA
su - oracle export ORACLE_SID=XXX sqlplus / as sysdba alter system set db_recovery_file_dest_size=10T; alter system set db_recovery_file_dest=’/FRA’; |
- 确认数据库归档设置
su - oracle export ORACLE_SID=XXX sqlplus / as sysdba archive log list show parameter LOG_ARCHIVE_DEST show parameter log_archive_state show parameter log_archive_format show parameter log_archive_min_succeed_dest |
- 备份数据库
su - oracle export ORACLE_SID=XXX rman target / backup database plus archivelog delete input; list backup of database summary; list backup of archivelog all summary; |
- 还原数据库
su - oracle export ORACLE_SID=XXX rman target / restore database recover database; alter database open; |
- 配置RMAN
su - oracle export ORACLE_SID=XXX rman target / configure controlfile autobackup on; configure controlfile autobackup format for device type disk to ‘XXXX’; configure defaule device type to disk; configure device type disk backup type to compressed backupset parallelism 4; configure channel 1 device type disk format ‘XXXX\back_%U’; configure channel 2 device type disk format ‘XXXX\back_%U’; configure channel 3 device type disk format ‘XXXX\back_%U’; configure channel 4 device type disk format ‘XXXX\back_%U’; configure channel device type disk maxpiecesize 2G; configure rman output to keep for 30 days; configure snapshot controlfile name to ‘XXXX’; configure controlfile autobackup on; configure controfile autobackup format for device type disk to ‘XXXXXX\XXX_%F’; configure retention policy to recovery window of 30 days; |
- 新建catalog数据库
su - oracle export ORACLE_SID=XXX sqlplus / as sysdba Create user dbadmin identified by dbadmin Default tablespace users; Grant create session to dbadmin; Grant create user to dbadmin; Grant recovery_catalog_owner to dbadmin with admin option; Create tablespace catalog datafile ‘/u01/app/oracle/oradata/bpctlg/catlogts.dbf’ size 300M; Exit Sqlplus dbadmin/dbadmin Create user rcat_user identified by rcat_user Default tablespace catalog; Alter user rcat_user quota unlimited on catalog Grant recovery_catalog_owner to rcat_user Exit Rman target / catalog=rcat_user/rcat_user@xxx Register database; Report schema; |
- 建立备份脚本
su - oracle export ORACLE_SID=XXX rman target / Crete script backup_full_script { Backup database plus archivelog; } Run { execute script backup_full_script;} |
- d
__EOF__
作 者:Aaron
出 处:https://www.cnblogs.com/Williamls/p/17088426.html
关于博主: 谦谦君子 卑以自牧
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下