控制文件的备份和恢复
离线冷备——拷贝文件
| 时间点 | 标记 |
|---|---|
| 备份控制文件的操作时间点 | A |
| 控制文件损坏或丢失时间点 | B |
| 还原后数据时间点 | A |
备份:
- 停服务
shutdown immediate - 拷贝数据
!cp <control file path> <backup control file path> - 启服务
startup
恢复:
- 停服务
shutdown immediate - 导数据
!cp <backup control file path> <control file path> - 启服务
startup - 验证
在线热备——SQL命令
| 时间点 | 标记 |
|---|---|
| 备份控制文件的操作时间点 | A |
| 控制文件损坏或丢失时间点 | B |
| 还原后数据时间点 | B |
备份:
- 在线热备控制文件alter database backup controlfile to ‘
‘;
恢复:
- 查看控制文件参数获取控制文件路径
show parameter control; - 将备份的控制文件复制到控制文件路径
!cp <backup control file path> <control file path> - 打开数据库到mount模式
alter database mount; - 执行恢复控制文件的SQL命令
recover database using backup controlfile; - 计算还需应用的redolog
- 打开数据库到open模式
alter database open resetlogs
在线热备——RMAN工具
| 时间点 | 标记 |
|---|---|
| 备份控制文件的操作时间点 | A |
| 控制文件损坏或丢失时间点 | B |
| 还原后数据时间点 | B |
备份:
- RMAN工具执行备份命令
RMAN> copy current controlfile to '/home/oracle/rmanbk/control01.ctl'; - RMAN工具查看备份命令
RMAN> list copy of controlfile;
故障:
- 查看控制文件
SQL> select name from v$controlfile; - 删除控制文件
SQL> !rm -rf /u01/app/oracle/product/11.2.0.4/dbs/cntrlBOOBOO.dbf - 强制启动
SQL> startup force
恢复:
- RMAN工具执行导入控制文件命令
RMAN> restore controlfile from '/home/oracle/rmanbk/control01.ctl'; - RMAN工具执行挂接数据命令
RMAN> alter database mount; - RMAN工具执行恢复数据库命令
RMAN> recover database; - RMAN工具执行打开数据库命令
RMAN> alter database open resetlogs; - 验证