12
返回列表 发新帖
楼主: 苗条胖男孩

[备份恢复] 关于最小停机时间的oracle迁移想法,请大家指正~

[复制链接]
论坛徽章:
190
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
11#
发表于 2008-3-14 14:46 | 只看该作者
做dataguard也是有风险的。楼主的办法也是可行的。
但步骤需要修改一下:
1.生产环境为归档模式,我用rman做好full backup,包括控制文件和pfile,传递到目标机器
2.目标机器上搭建相同的目录结构,装好oracle软件,用生产环境的pfile文件启动到nomount,从生产机的full backup里恢复控制文件,然后mount,还原所有数据文件,还原所有归档文件,然后recover。这时虽然可以resetlogs打开,但不要打开.
3.在生产库切换日志归档,将最新产生的归档传到目标机器。
4.在目标机器采用sqlplus 启动到mount状态,然后SQL> recover database using backup controlfile until cancel;
根据提示输入归档的文件路径应用归档
5.在生产库最后切换一次日志,然后停库shutdown immediate(只是这边shutdown停库的一个短暂时间)
6.将归档传至目标库,继续4步骤应用完毕后resetlogs打开即可。(这个时间很短)
7.修改客户端的tnsnames连接IP等等。

第6步没有必要将控制文件也传递,如果生产库一直没有发生数据结构变化(比如新建表空间,新加数据文件等),目标库可以自动应用。
如果发生了结构变化,类似下面例子,会报错,但只需create datafile as即可:
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 492287 (在 03/14/2008 13:46:32 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\JYC\ARCHIVELOG\2008_03_14\O1_MF

1_%U_.ARC
ORA-00280: 更改 492287 (用于线程 1) 在序列 #11 中


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
D:\oracle\product\10.2.0\flash_recovery_area\JYC\ARCHIVELOG\2008_03_14\O1_MF
1_3XN6GZF5_.ARC
ORA-00283: 恢复会话因错误而取消
ORA-01244: 未命名的数据文件由介质恢复添加至控制文件
ORA-01110: 数据文件 5: 'D:\BAK\TEST.DBF'


ORA-01112: 未启动介质恢复


SQL> select name from v$datafile;

NAME
----------------------------------------------------------------------------

D:\ORACLE\PRODUCT\10.2.0\ORADATA\JYC\SYSTEM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\JYC\UNDOTBS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\JYC\SYSAUX01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\JYC\USERS01.DBF
D:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\UNNAMED00005

SQL> select name from v$tablespace;

NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
TEST

已选择6行。

SQL> alter database create datafile 5 as 'd:\bak\test.dbf';

数据库已更改。

SQL> recover database using backup controlfile until cancel;
然后继续应用归档。
最后SQL> alter database open resetlogs;

打开即可。

使用道具 举报

回复
论坛徽章:
190
生肖徽章:狗
日期:2006-11-23 04:26:03生肖徽章:羊
日期:2007-09-26 17:08:21生肖徽章:马
日期:2007-09-26 17:08:49授权会员
日期:2007-12-31 19:14:41生肖徽章2007版:牛
日期:2008-03-28 10:02:30奥运会纪念徽章:柔道
日期:2008-04-30 16:28:44奥运会纪念徽章:垒球
日期:2008-05-12 21:28:28奥运会纪念徽章:体操
日期:2008-06-26 10:00:41奥运会纪念徽章:沙滩排球
日期:2008-07-27 12:41:59奥运会纪念徽章:艺术体操
日期:2008-07-30 11:09:47
12#
发表于 2008-3-14 14:47 | 只看该作者
原帖由 feng_xin 于 2008-3-14 14:41 发表


这个得看做具体操作的DBA了,如果这个DBA有dataguard的经验,dataguard当然是最好的方案。
如果这个DBA没有dataguard的经验,但是日常经常做backup/recovery,有recovery的经验,recovery就是最好的方案。

迁移在任何一个公司都是大事,要选最稳妥的方案,而不是最优的方案。

严重同意!

使用道具 举报

回复
论坛徽章:
3
授权会员
日期:2006-12-13 16:50:07参与2007年甲骨文全球大会(中国上海)纪念
日期:2007-08-06 15:19:02生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
13#
发表于 2008-3-14 14:48 | 只看该作者
原帖由 feng_xin 于 2008-3-14 14:41 发表


这个得看做具体操作的DBA了,如果这个DBA有dataguard的经验,dataguard当然是最好的方案。
如果这个DBA没有dataguard的经验,但是日常经常做backup/recovery,有recovery的经验,recovery就是最好的方案。

迁移在任何一个公司都是大事,要选最稳妥的方案,而不是最优的方案。



其实是一样的,Dataguard本身就是recover,switch over已经是计较成熟稳定的方案了。

使用道具 举报

回复
论坛徽章:
1
2010新春纪念徽章
日期:2010-03-01 11:19:52
14#
发表于 2008-3-14 14:52 | 只看该作者
楼主的方法也不错,用自己熟悉的技术更安全

使用道具 举报

回复
招聘 : HTML页面制作
论坛徽章:
74
喜羊羊
日期:2015-04-29 17:32:03夏利
日期:2013-11-30 17:08:44雪佛兰
日期:2013-09-02 10:24:402013年新春福章
日期:2013-02-25 14:51:24蜘蛛蛋
日期:2012-11-26 22:08:56ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:32双黄蛋
日期:2012-05-17 22:25:44版主3段
日期:2012-05-15 15:24:11茶鸡蛋
日期:2012-04-06 17:43:25茶鸡蛋
日期:2012-03-26 21:29:09
15#
发表于 2008-3-14 14:52 | 只看该作者
原帖由 brotherxiao 于 2008-3-14 14:48 发表



其实是一样的,Dataguard本身就是recover,switch over已经是计较成熟稳定的方案了。


从技术上来说,是的。
从管理上来说,不是。

方案=技术+人

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33ITPUB元老
日期:2006-11-12 20:16:58
16#
发表于 2008-3-15 21:27 | 只看该作者
1. 可能的话用BCV会更加方便快捷
2. 如果只是服务器的迁移而存储不变的话,底层存储连接上,把VG或DG导入到新系统不就好了吗

使用道具 举报

回复
论坛徽章:
2
生肖徽章2007版:虎
日期:2008-03-18 23:36:512010新春纪念徽章
日期:2010-03-01 11:07:23
17#
 楼主| 发表于 2008-3-17 10:22 | 只看该作者
呵呵,多谢大家关注我的问题!!!
这个方法我已经实验过了,是没有问题的,feng_xin 说的是,我对DG还是不够熟练,相对来说这个方法更熟练,而且对生产环境不需要修改任何参数,感觉上比较安全;
并且由于实施的计划问题,这个动作需要重复做几次,所以我觉得这种实施更方便吧。
DG应该是个好方案,可惜不熟,要抓紧搞一搞了。
再次感谢各位!

使用道具 举报

回复

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

本版积分规则 发表回复

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