12
返回列表 发新帖
楼主: jarwang

[系统安装/维护] RMAN异机完全恢复(ASM)

[复制链接]
论坛徽章:
26
2009新春纪念徽章
日期:2009-01-04 14:52:28咸鸭蛋
日期:2011-11-13 14:16:262012新春纪念徽章
日期:2012-01-04 11:51:22紫蛋头
日期:2012-02-02 13:13:42玉石琵琶
日期:2012-02-21 15:04:38蛋疼蛋
日期:2012-03-09 08:25:45奥运纪念徽章
日期:2012-11-27 15:37:34复活蛋
日期:2012-12-07 13:05:172013年新春福章
日期:2013-02-25 14:51:242014年世界杯参赛球队:西班牙
日期:2014-06-26 12:03:53
11#
发表于 2012-11-5 14:08 | 只看该作者
RMAN 异机完全恢复(ASM)

Author:Jarwang(王重东) Date:2009-8-26

本例环境:操作系统rhel5.3、数据库10g2,ASM存储+archive模式。
本例在假记原来的机器彻底over 的情况,所尝试做的rman 恢复。
a) 在机器A上做一个ramn完全备份。这个是前提条件,有点废话。^_^
RMAN> run{
configure controlfile autobackup on;
backup spfile format ‘/opt/backup/spfile.bak;
backup full database format '/opt/backup/prodfull%u_%s_%p' tag 'prodfullbk'
include current controlfile;
}
b) 在机器B上安装数据库软件及配置SID环境,但不用创建数据库。
# mkdir –p $ORACLE_BASE/admin/$ORACLE_SID/adump
# mkdir $ORACLE_BASE/admin/$ORACLE_SID/bdump
# mkdir $ORACLE_BASE/admin/$ORACLE_SID/cdump
# mkdir $ORACLE_BASE/admin/$ORACLE_SID/bpdump
# mkdir $ORACLE_BASE/admin/$ORACLE_SID/udump
# mkdir $ORACLE_BASE/admin/$ORACLE_SID/pfile
c) 在机器B上配置好ASM环境
c.1 oracleasm配置
c.2 fdisk分区
以同样的方式给另一个磁盘分区。
c.3 建立ASM磁盘
查看是否创建成功:/etc/init.d/oracleasm listdisks
c.3 启动OCSSD
d) 在机器B上配置ASM实例。运行DBCA

注:ASM实例、ASM磁盘组保持一致(如不同,请修改后面的参数文件),并重启ASM实
例。
e) 将机器A上备份好的参数文件、控制文件、数据文件复制到机器B的/opt/backup下,并
执行restore还原参数文件。
RMAN>startup nomount
RMAN>restore spfile from ‘/opt/backup/spfile.bak’
SQL>create pfile from spfile
SQL>startup force nomount;
f) 机器B上执行restore还原控制文件。
RMAN>restore controlfile from ‘/opt/backup/controlfile.ctl.bak’;
RMAN>startup force mount;
g) 机器B上并执行restore数据文件。
先查询一下rman是否找到了备份文件
RMAN>list backup
RMAN>restore database;
错误一:如果显示为空,可尝试从静态文件启动,然后重新还原控制文件。
SQL>create pfile from spfile
RMAN>startup mount pfile =’$ORACLE_HOME/dbs/initSID.ora’
如果上述方法无效,建议在rman备份加上include current controlfile 。
错误二:如果显示备份为expired,可以强行更改为unavailable。
RMAN>change backup of database tag=' fullbk ' unavailable
错误三:如果显示ora-01180、ora-0110错误
请仔细对比一下list backup中的文件名与备份文件名是否一致?偶在这边折腾好久。^_^
h)机器B上并执行recover数据文件。
RMAN>recover database noredo
i) 机器B上并执行不完全恢复。
由于前面的备份脚本并没备份归档日记,也没手工备份联机重做日志文件。所这边只能做
不完全恢复了,并打一个新的场景。
SQL>startup mount;
SQL>recover database until cancel
#输入:AUTO
SQL>recover database until cancel
#输入:CANCEL
SQL>alter database open resetlogs

使用道具 举报

回复
论坛徽章:
2
ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:152013年新春福章
日期:2013-02-25 14:51:24
12#
发表于 2013-11-26 17:35 | 只看该作者
thanks.

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表