Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

41

积分

0

好友

8

主题
1#
发表于 2011-12-14 10:08:07 | 查看: 6196| 回复: 4
环境:hpux11.31  oracle10204 RAC
由于业务更改,需要将原来建在node1上文件系统下的一个数据文件的数据迁移动到共享的一个raw logical volume上。此rac是上线的系统,能不停机则不停机,必要时候才能申请停机时间。
ps:此数据文件实际是goldengate用户的default表空间的唯一数据文件,此数据文件只有goldengate使用,考虑到是RAC环境,防止node1出问题时会影响goldengate的使用,故将其数据所在的datafile迁到共享裸lv上,做此操作前会先将ogg停掉的。

我自己也搭建了一个单节点的测试环境,我的在线操作流程如下:
1,使用rman对此datafile进行备份
2,让此datafile  offline
3,修改控制文件 alter database rename file '原地址' to '目的地址'
4,使用rman restore,recover 此datafile。
5,让此datafile online

由于个人经验有限不知道上面的步骤是否合理?同时针对RAC环境下的操作有哪些特别注意的地方,请大家指点一下!最好有大致的流程介绍   多谢!

[ 本帖最后由 chinadm123 于 2011-12-14 10:13 编辑 ]
2#
发表于 2011-12-14 10:25:02
考虑下:停GG,把目标表空间read only,在共享存储上新建一个表空间,把数据挪到新表空间中,把gg用户的默认表空间指向新的表空间。老的表空间视情况drop。

回复 只看该作者 道具 举报

3#
发表于 2011-12-14 12:20:46

回复 2# 的帖子

总体思路挺好,操作像是也比我想的简单点
但是有两点不明白:
1,将表空间置为read only的目的是什么呢?
2,这个“挪”具体是啥意思,哪个操作呢?

回复 只看该作者 道具 举报

4#
发表于 2011-12-14 12:29:59
1.确保没有修改
2.就是迁移了,简单与否,要看gg用户下对象的相关依赖关系,比如gg用户下的表相关的存储过程等。

回复 只看该作者 道具 举报

5#
发表于 2011-12-15 20:13:00
1. 你的做法是可行的, 也可以直接利用rman来实施,如:
  1. RMAN> report schema;

  2. using target database control file instead of recovery catalog
  3. Report of database schema

  4. List of Permanent Datafiles
  5. ===========================
  6. File Size(MB) Tablespace           RB segs Datafile Name
  7. ---- -------- -------------------- ------- ------------------------
  8. 1    3470     SYSTEM               ***     /s01/oradata/G10R21/datafile/o1_mf_system_7ch8004t_.dbf
  9. 2    1165     UNDOTBS1             ***     /s01/oradata/G10R21/datafile/o1_mf_undotbs1_7ch80081_.dbf
  10. 3    310      SYSAUX               ***     /s01/oradata/G10R21/datafile/o1_mf_sysaux_7ch8004x_.dbf
  11. 4    8985     USERS                ***     /s01/oradata/G10R21/datafile/o1_mf_users_7ch80085_.dbf
  12. 5    171      EXAMPLE              ***     /s01/oradata/G10R21/datafile/o1_mf_example_7ch81ch3_.dbf
  13. 6    10       REC                  ***     /s01/oradata/G10R21/datafile/o1_mf_rec_7gflyjwd_.dbf
  14. 7    10       REC                  ***     /s01/oradata/G10R21/datafile/o1_mf_rec_7gflyt05_.dbf

  15. List of Temporary Files
  16. =======================
  17. File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
  18. ---- -------- -------------------- ----------- --------------------
  19. 1    2968     TEMP                 32767       /s01/oradata/G10R21/datafile/o1_mf_temp_7ch81b2t_.tmp

  20. RMAN> copy datafile 7 to '/s01/rec_71.dbf';

  21. Starting backup at 15-DEC-11
  22. allocated channel: ORA_DISK_1
  23. channel ORA_DISK_1: sid=144 devtype=DISK
  24. channel ORA_DISK_1: starting datafile copy
  25. input datafile fno=00007 name=/s01/oradata/G10R21/datafile/o1_mf_rec_7gflyt05_.dbf
  26. output filename=/s01/rec_71.dbf tag=TAG20111215T230819 recid=2 stamp=769993699
  27. channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
  28. Finished backup at 15-DEC-11

  29. RMAN> sql 'alter database datafile 7 offline';

  30. sql statement: alter database datafile 7 offline

  31. RMAN> switch datafile 7 to copy;

  32. datafile 7 switched to datafile copy "/s01/rec_71.dbf"

  33. RMAN> recover datafile 7;

  34. Starting recover at 15-DEC-11
  35. using channel ORA_DISK_1

  36. starting media recovery
  37. media recovery complete, elapsed time: 00:00:01

  38. Finished recover at 15-DEC-11

  39. RMAN> sql 'alter database datafile 7 online';

  40. sql statement: alter database datafile 7 online
复制代码
这样操作 其实更简单一点, 因为如果是裸设备 你手动copy的话是需要用dd的,而且如果你不了解裸设备的结构的话,如果其头部具有某些原信息meta data的话可能被你的dd操作覆盖, 而使用rman copy命令则不会

2. 也可以考虑2楼的做法, 但是复杂度可能更高一些, 停机时间视乎迁移对象的多少而定

回复 只看该作者 道具 举报

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

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-15 01:46 , Processed in 0.566678 second(s), 21 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569