控制文件的备份和恢复
离线冷备——拷贝文件
时间点 | 标记 |
---|---|
备份控制文件的操作时间点 | 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;
- 验证