oracle rman catalog备份和恢复
2015-12-01 15:38
477 查看
1.丢失控制文件
启动数据库至nomount状态:restore controlfile from autobackup/restore controlfile from '+data/backup/contrlbak/...'
->alter database mount->open;
2.误删数据文件
启动至mount状态->alter database datafile 7 offline->alter database open->restore datafile 7->recover datafile 7->alter database datafile online;
3.丢失参数文件
此时参数文件丢失,catalog 中根据DBID识别注册数据库,此时无法识别.
export ORACLE_SID=orcl1->rman target/->restore spfile from '+data/autobackup/2015_11_27/s_896863604.1824.896863605'
->shutdown immediate;
然后可以连接catalog再进行其它恢复,最后必须执行restore database和recover database,最后alter database open resetlogs才能open数据库。
4.recover database定义
recover database,是做的完全恢复,也就是说日志文件归档的和在线日志必须完好无损,还有数据文件,控制文件都准备齐全才可!如果有在线日志
损坏,或者归档日志缺失的话,就无法执行完全恢复,需要不完全恢复了!recover database using backup controlfile......or until cancel;然后
resetlogs打开,再不行就是使用隐含参数打开!
5.alter database open resetlogs
open resetlogs应该是将日志重新归位,使数据库的scn,检查点等保持一致;相当于把所有的联机日志重新“格式化”。这是会丢失数据的。
resetlog 选项在不完全恢复时用,归档日志序号重新开始排序
noresetlog 在完全恢复的时候用
6.基于时间点的恢复
SQL>set time on;
主要是需要恢复的时间点的选取;
启动至mount状态
RMAN->run{
SET UNTIL TIME "to_date('2014-01-17 09:54:33','yyyy-mm-dd hh24:mi:ss')";
RESTORE DATABASE;
RECOVER DATABASE;
}
启动数据库至nomount状态:restore controlfile from autobackup/restore controlfile from '+data/backup/contrlbak/...'
->alter database mount->open;
2.误删数据文件
启动至mount状态->alter database datafile 7 offline->alter database open->restore datafile 7->recover datafile 7->alter database datafile online;
3.丢失参数文件
此时参数文件丢失,catalog 中根据DBID识别注册数据库,此时无法识别.
export ORACLE_SID=orcl1->rman target/->restore spfile from '+data/autobackup/2015_11_27/s_896863604.1824.896863605'
->shutdown immediate;
然后可以连接catalog再进行其它恢复,最后必须执行restore database和recover database,最后alter database open resetlogs才能open数据库。
4.recover database定义
recover database,是做的完全恢复,也就是说日志文件归档的和在线日志必须完好无损,还有数据文件,控制文件都准备齐全才可!如果有在线日志
损坏,或者归档日志缺失的话,就无法执行完全恢复,需要不完全恢复了!recover database using backup controlfile......or until cancel;然后
resetlogs打开,再不行就是使用隐含参数打开!
5.alter database open resetlogs
open resetlogs应该是将日志重新归位,使数据库的scn,检查点等保持一致;相当于把所有的联机日志重新“格式化”。这是会丢失数据的。
resetlog 选项在不完全恢复时用,归档日志序号重新开始排序
noresetlog 在完全恢复的时候用
6.基于时间点的恢复
SQL>set time on;
主要是需要恢复的时间点的选取;
启动至mount状态
RMAN->run{
SET UNTIL TIME "to_date('2014-01-17 09:54:33','yyyy-mm-dd hh24:mi:ss')";
RESTORE DATABASE;
RECOVER DATABASE;
}
相关文章推荐
- Oracle协议适配器错误解决办法
- Oracle TOAD乱码
- ORACLE lag()与lead() 函数
- linux启动oracle数据库
- 将oracle设置为自动启动
- oracle 某一列的记录相同的数量大于1的条数
- Oracle将指定表分配给一个新用户进行查看数据
- 讲excel表插入oracle时出现的一些错误,以及解决方法
- Sqlserver 和 oracle 查询 判断text类型字段值得长度
- 大表数据插入批量提交
- Oracle 非dba用户 使用 set autotrace 功能
- oracle调用存储过程和函数返回结果集
- 怎样让Oracle的存储过程返回结果集
- Oracle存储过程 使用游标、数组的配合查询
- 友勤签约中芝软件系统(上海)有限公司Oracle Crystal Ball Suite软件项目
- MySQL与Oracle的语法区别详细对比
- Oracle与MySQL的几点区别
- oracle和tomcat的开机自启动
- MySQL FEDERATED引擎使用示例, 类似Oracle DBLINK
- Oracle 两个时间段是否重合 冲突