运用incremental backup恢复归档GAP的DG-上篇

简介:

 
 
  1. 经常听到有DBA因为对DATAGUARD监控不到位,导致归档日志和主库没有同步,更悲剧的是主库通常都设置了RMAN备份, 
  2. 而全库备份结束后通常会删除归档日志。遇到这种情况,发现很多DBA都会着手重新从主库全库备份恢复到从库, 
  3. 遇到小的数据库还好,对于动辄上百G或T的库往往会很悲剧,因为数据拷贝时间都相当的漫长。 
  4. 而事实上对于从库SCN和主库差距并不大,也可以理解为归档差距并不多的DG(比如我们的一个库上线1年了,一个月没有同步差距也不算很大), 
  5. 根本没必要全库回复,这种情况下增量恢复能快速解决问题,以下是笔者的一次具体操作。 
  6.  
  7. 故障现象: 
  8. 因为周六主库要做历史数据迁移,DBA主动停止了和从库的归档同步。悲剧的是周日凌晨主库有个全库备份动作, 
  9. 备份完成后把所有的归档都给删除了,这就造成了这部分归档的丢失,从库存在GAP。DBA打算重做DG,申请了一个 
  10. 晚上8小时的时间,因为数据备份和迁移要5小时,实施和测试计划3小时完成。笔者分析丢失的日志很少,及时制止 
  11. 了这一实施申请,要求DBA采用incremental recover(增量备份恢复)的方法实现主库和从库同步, 
  12. 先确定备库的current scn,以此在主库上执行incremental backup,将备份传至备库,使用recover noredo方式恢复备库。 
  13. 事实证明这种方法是完全可行的。 
  14.  
  15. 具体实施如下。 
  16.  
  17. 一、实施准备(从库关键数据确认) 
  18. 1、SPFILE 
  19. create pfile='/home/oracle/dba/pfile_before_recover_dg.ora' from spfile; 
  20.  
  21. -rw-r--r-- 1 oracle oinstall 1496 11-14 21:36 pfile_before_recover_dg.ora 
  22. drwxr-xr-x 2 oracle oinstall 4096 11-14 21:35 spfile 
  23. drwxr-xr-x 2 oracle oinstall 4096 06-01 11:17 expdata 
  24. drwxr-xr-x 2 oracle oinstall 4096 2011-04-26 script 
  25. [oracle@L-DB-163-18 dba]$ more *.ora 
  26. MYPORT.__db_cache_size=3741319168 
  27. MYPORT.__java_pool_size=16777216 
  28. MYPORT.__large_pool_size=16777216 
  29. MYPORT.__shared_pool_size=805306368 
  30. MYPORT.__streams_pool_size=0 
  31. *.audit_file_dest='/u01/app/oracle/admin/MYPORT/adump' 
  32. *.background_dump_dest='/u01/app/oracle/admin/MYPORT/bdump' 
  33. *.compatible='10.2.0.3.0' 
  34. *.control_files='/u01/datafile/control01.ctl','/u01/datafile/control02.ctl'#Restore Controlfile 
  35. *.core_dump_dest='/u01/app/oracle/admin/MYPORT/cdump' 
  36. *.db_block_size=8192 
  37. *.db_domain='' 
  38. *.db_file_multiblock_read_count=32 
  39. *.db_file_name_convert='+DATA/MYPORT/datafile','/oradata/datafile' 
  40. *.db_name='MYPORT' 
  41. *.db_unique_name='standby' 
  42. *.dispatchers='' 
  43. *.fal_client='STANDBY' 
  44. *.fal_server='MYPORT' 
  45. *.job_queue_processes=10 
  46. *.log_archive_config='DG_CONFIG=(MYPORT,standby)' 
  47. *.log_archive_dest_1='LOCATION=/u01/archive valid_for=(all_logfiles,all_roles) db_unique_name=standby' 
  48. *.log_archive_dest_2='service=MYPORT lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=MYPORT' 
  49. *.log_archive_dest_state_1='ENABLE' 
  50. *.log_archive_dest_state_2='ENABLE' 
  51. *.log_archive_max_processes=4 
  52. *.log_file_name_convert='+DATA/MYPORT/onlinelog','/u01/datafile' 
  53. *.open_cursors=1000 
  54. *.pga_aggregate_target=1092957696 
  55. *.processes=1000 
  56. *.remote_login_passwordfile='EXCLUSIVE' 
  57. *.sessions=885 
  58. *.sga_max_size=4589934592 
  59. *.sga_target=4589934592 
  60. *.shared_servers=0 
  61. *.standby_file_management='AUTO' 
  62. *.undo_management='AUTO' 
  63. *.undo_tablespace='UNDOTBS1' 
  64. *.user_dump_dest='/u01/app/oracle/admin/MYPORT/udump' 
  65. [oracle@L-DB-163-18 dba]$  
  66.  
  67. 2、查看在线LOG 
  68. cd /u01/datafile 
  69. [oracle@L-DB-163-18 dba]$ cd /u01/datafile 
  70. [oracle@L-DB-163-18 datafile]$ ls -lt 
  71. 总计 1474052 
  72. -rw-r----- 1 oracle oinstall  19873792 11-14 21:39 control01.ctl 
  73. -rw-r----- 1 oracle oinstall  19873792 11-14 21:39 control02.ctl 
  74. -rw-r----- 1 oracle oinstall 104858112 11-14 21:39 stand03.log 
  75. -rw-r----- 1 oracle oinstall 104858112 11-14 21:38 stand01.log 
  76. -rw-r----- 1 oracle oinstall 104858112 11-14 20:22 stand02.log 
  77. -rw-r----- 1 oracle oinstall 104858112 11-14 18:14 stand04.log 
  78. -rw-r----- 1 oracle oinstall 104858112 11-11 02:18 stand05.log 
  79. -rw-r----- 1 oracle oinstall 104858112 11-11 02:18 stand06.log 
  80. -rw-r----- 1 oracle oinstall  20979712 07-14 04:41 temp01.dbf 
  81. -rw-r----- 1 oracle oinstall 104858112 07-14 03:44 group_4.270.697238219 
  82. -rw-r----- 1 oracle oinstall 104858112 07-14 03:44 group_4.271.697238221 
  83. -rw-r----- 1 oracle oinstall 104858112 07-14 03:44 group_3.268.697238217 
  84. -rw-r----- 1 oracle oinstall 104858112 07-14 03:44 group_3.269.697238219 
  85. -rw-r----- 1 oracle oinstall 104858112 07-14 03:44 group_2.264.697238179 
  86. -rw-r----- 1 oracle oinstall 104858112 07-14 03:44 group_2.265.697238179 
  87. -rw-r----- 1 oracle oinstall 104858112 07-14 03:44 group_1.262.697238177 
  88. -rw-r----- 1 oracle oinstall 104858112 07-14 03:44 group_1.263.697238177 
  89. [oracle@L-DB-163-18 datafile]$  
  90.  
  91. 3、查看数据文件 
  92. [oracle@L-DB-163-18 datafile]$ cd /oradata/datafile 
  93. [oracle@L-DB-163-18 datafile]$ ls -lt 
  94. 总计 235078392 
  95. -rw-r----- 1 oracle oinstall   134225920 11-14 09:20 bbcled_data.588.727381165.dbf 
  96. -rw-r----- 1 oracle oinstall 16106135552 11-14 09:20 auditbbc.882.710070905.dbf 
  97. -rw-r----- 1 oracle oinstall 13631496192 11-14 09:20 eport_data.522.736786031.dbf 
  98. -rw-r----- 1 oracle oinstall   268443648 11-14 09:20 eport_index.779.736786171.dbf 
  99. -rw-r----- 1 oracle oinstall 26346135552 11-14 09:20 in_bbc_data.291.730331961.dbf 
  100. -rw-r----- 1 oracle oinstall 10737426432 11-14 09:20 in_bbc_data.752.758838665 
  101. -rw-r----- 1 oracle oinstall  5368717312 11-14 09:20 in_bbc_index.869.729797303.dbf 
  102. -rw-r----- 1 oracle oinstall   536879104 11-14 09:20 inman_data.617.718999513.dbf 
  103. -rw-r----- 1 oracle oinstall   134225920 11-14 09:20 inman_index.723.718999521.dbf 
  104. -rw-r----- 1 oracle oinstall   268443648 11-14 09:20 in_man_index.885.729797313.dbf 
  105. -rw-r----- 1 oracle oinstall 34358697984 11-14 09:20 in_hangzhou_data.362.747696959.dbf 
  106. -rw-r----- 1 oracle oinstall 10737426432 11-14 09:20 in_hangzhou_data.740.758652903 
  107. -rw-r----- 1 oracle oinstall  8388616192 11-14 09:20 in_hangzhou_index.821.729797323.dbf 
  108. -rw-r----- 1 oracle oinstall   104865792 11-14 09:20 in_xian_index.663.747696899.dbf 
  109. -rw-r----- 1 oracle oinstall   268443648 11-14 09:20 in_xian_index.724.729797333.dbf 
  110. -rw-r----- 1 oracle oinstall 34359730176 11-14 09:20 hangzhou.451.709317119.dbf 
  111. -rw-r----- 1 oracle oinstall  2147491840 11-14 09:20 sysaux.257.697238119.dbf 
  112. -rw-r----- 1 oracle oinstall  5368717312 11-14 09:20 system.256.697238117.dbf 
  113. -rw-r----- 1 oracle oinstall     1056768 11-14 09:20 tbs_catalog.791.752426905.dbf 
  114. -rw-r----- 1 oracle oinstall  1073750016 11-14 09:20 tbs_catalog.891.710434097.dbf 
  115. -rw-r----- 1 oracle oinstall   209723392 11-14 09:20 ts_test.348.704715437.dbf 
  116. -rw-r----- 1 oracle oinstall  7225745408 11-14 09:20 undotbs1.258.697238119.dbf 
  117. -rw-r----- 1 oracle oinstall  4294975488 11-14 09:20 undotbs2.267.697238205.dbf 
  118. -rw-r----- 1 oracle oinstall 34304827392 11-14 09:20 users.259.697238119.dbf 
  119. -rw-r----- 1 oracle oinstall 23571996672 11-14 09:20 users.604.752426949.dbf 
  120. -rw-r----- 1 oracle oinstall   536879104 11-14 09:20 xian.880.711538313.dbf 
  121.  
  122. 二、实施(从库关键数据确认) 
  123.  
  124. 具体步骤为: 
  125. 1、先确定备库的current scn,以此在主库上执行incremental backup 
  126. SQL> select to_char(current_scn) from v$database
  127.   
  128. TO_CHAR(CURRENT_SCN) 
  129. ---------------------------------------- 
  130. 1508381043 
  131.   
  132. SQL> SELECT * FROM V$ARCHIVE_GAP; 
  133.   
  134.    THREAD# LOW_SEQUENCE# HIGH_SEQUENCE# 
  135. ---------- ------------- -------------- 
  136.          1         12907          13164 
  137.          2         10915          11003 
  138.  
  139. 2、在主库执行incremental备份 
  140. run 
  141. allocate channel d1 type disk; 
  142. allocate channel d2 type disk; 
  143. allocate channel d3 type disk; 
  144. allocate channel d4 type disk; 
  145. backup as compressed backupset incremental from SCN 1508381043 database format '/u01/rmanbak/for18dg/standby_%d_%T_%U.bak' 
  146. include current controlfile for standby filesperset=5  tag 'FOR STANDBY'
  147. release channel d1; 
  148. release channel d2; 
  149. release channel d3; 
  150. release channel d4; 
  151.  
  152. -------------------------------------- 
  153. [oradba@oracle2 for18dg]$ rman target/ 
  154.   
  155. Recovery Manager: Release 10.2.0.4.0 - Production on 星期一 11月 14 21:44:27 2011 
  156.   
  157. Copyright (c) 1982, 2007, Oracle.  All rights reserved. 
  158.   
  159. connected to target database: MYPORT (DBID=2649744285) 
  160.   
  161. RMAN> run 
  162. allocate channel d1 type disk; 
  163. allocate channel d2 type disk; 
  164. allocate channel d3 type disk; 
  165. allocate channel d4 type disk; 
  166. backup as compressed backupset incremental from SCN 1508381043 database format '/u01/rmanbak/for18dg/standby_%d_%T_%U.bak' 
  167. include current controlfile for standby filesperset=5  tag 'FOR STANDBY'
  168. release channel d1; 
  169. release channel d2; 
  170. release channel d3; 
  171. release channel d4; 
  172. }2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13>  
  173.   
  174. using target database control file instead of recovery catalog 
  175. allocated channel: d1 
  176. channel d1: sid=909 instance=MYPORT2 devtype=DISK 
  177.   
  178. allocated channel: d2 
  179. channel d2: sid=993 instance=MYPORT2 devtype=DISK 
  180.   
  181. allocated channel: d3 
  182. channel d3: sid=884 instance=MYPORT2 devtype=DISK 
  183.   
  184. allocated channel: d4 
  185. channel d4: sid=886 instance=MYPORT2 devtype=DISK 
  186.   
  187. Starting backup at 2011-11-14 21:44:34 
  188. channel d1: starting compressed full datafile backupset 
  189. channel d1: specifying datafile(s) in backupset 
  190. input datafile fno=00004 name=+DATA/MYPORT/datafile/users.259.697238119 
  191. input datafile fno=00001 name=+DATA/MYPORT/datafile/system.256.697238117 
  192. input datafile fno=00002 name=+DATA/MYPORT/datafile/undotbs1.258.697238119 
  193. channel d1: starting piece 1 at 2011-11-14 21:44:34 
  194. channel d2: starting compressed full datafile backupset 
  195. channel d2: specifying datafile(s) in backupset 
  196. input datafile fno=00024 name=+DATA/MYPORT/datafile/users.604.752426949 
  197. input datafile fno=00025 name=+DATA/MYPORT/datafile/in_hangzhou_data.740.758652903 
  198. input datafile fno=00014 name=+DATA/MYPORT/datafile/in_bbc_index.869.729797303 
  199. channel d2: starting piece 1 at 2011-11-14 21:44:34 
  200. channel d3: starting compressed full datafile backupset 
  201. channel d3: specifying datafile(s) in backupset 
  202. input datafile fno=00009 name=+DATA/MYPORT/datafile/auditbbc.882.710070905 
  203. input datafile fno=00019 name=+DATA/MYPORT/datafile/eport_data.522.736786031 
  204. input datafile fno=00016 name=+DATA/MYPORT/datafile/in_hangzhou_index.821.729797323 
  205. input datafile fno=00021 name=+DATA/MYPORT/datafile/in_xian_index.663.747696899 
  206. input datafile fno=00023 name=+DATA/MYPORT/datafile/tbs_catalog.791.752426905 
  207. channel d3: starting piece 1 at 2011-11-14 21:44:34 
  208. channel d4: starting compressed full datafile backupset 
  209. channel d4: specifying datafile(s) in backupset 
  210. input datafile fno=00022 name=+DATA/MYPORT/datafile/in_hangzhou_data.362.747696959 
  211. input datafile fno=00005 name=+DATA/MYPORT/datafile/undotbs2.267.697238205 
  212. input datafile fno=00006 name=+DATA/MYPORT/datafile/ts_test.348.704715437 
  213. input datafile fno=00012 name=+DATA/MYPORT/datafile/inman_index.723.718999521 
  214. input datafile fno=00013 name=+DATA/MYPORT/datafile/bbcled_data.588.727381165 
  215. channel d4: starting piece 1 at 2011-11-14 21:44:34 
  216. channel d4: finished piece 1 at 2011-11-14 21:51:10 
  217. piece handle=/u01/rmanbak/for18dg/standby_MYPORT_20111114_pamrlq22_1_1.bak tag=FOR STANDBY comment=NONE 
  218. channel d4: backup set complete, elapsed time: 00:06:36 
  219. channel d4: starting compressed full datafile backupset 
  220. channel d4: specifying datafile(s) in backupset 
  221. input datafile fno=00007 name=+DATA/MYPORT/datafile/hangzhou.451.709317119 
  222. input datafile fno=00003 name=+DATA/MYPORT/datafile/sysaux.257.697238119 
  223. input datafile fno=00010 name=+DATA/MYPORT/datafile/tbs_catalog.891.710434097 
  224. input datafile fno=00011 name=+DATA/MYPORT/datafile/xian.880.711538313 
  225. input datafile fno=00020 name=+DATA/MYPORT/datafile/eport_index.779.736786171 
  226. channel d4: starting piece 1 at 2011-11-14 21:51:13 
  227. channel d1: finished piece 1 at 2011-11-14 21:53:08 
  228. piece handle=/u01/rmanbak/for18dg/standby_MYPORT_20111114_p7mrlq22_1_1.bak tag=FOR STANDBY comment=NONE 
  229. channel d1: backup set complete, elapsed time: 00:08:34 
  230. channel d1: starting compressed full datafile backupset 
  231. channel d1: specifying datafile(s) in backupset 
  232. input datafile fno=00018 name=+DATA/MYPORT/datafile/in_bbc_data.291.730331961 
  233. input datafile fno=00026 name=+DATA/MYPORT/datafile/in_bbc_data.752.758838665 
  234. input datafile fno=00008 name=+DATA/MYPORT/datafile/inman_data.617.718999513 
  235. input datafile fno=00015 name=+DATA/MYPORT/datafile/in_man_index.885.729797313 
  236. input datafile fno=00017 name=+DATA/MYPORT/datafile/in_xian_index.724.729797333 
  237. channel d1: starting piece 1 at 2011-11-14 21:53:10 
  238. channel d2: finished piece 1 at 2011-11-14 21:53:45 
  239. piece handle=/u01/rmanbak/for18dg/standby_MYPORT_20111114_p8mrlq22_1_1.bak tag=FOR STANDBY comment=NONE 
  240. channel d2: backup set complete, elapsed time: 00:09:11 
  241. channel d2: starting compressed full datafile backupset 
  242. channel d2: specifying datafile(s) in backupset 
  243. including standby control file in backupset 
  244. channel d2: starting piece 1 at 2011-11-14 21:53:47 
  245. channel d2: finished piece 1 at 2011-11-14 21:53:48 
  246. piece handle=/u01/rmanbak/for18dg/standby_MYPORT_20111114_pdmrlqj9_1_1.bak tag=FOR STANDBY comment=NONE 
  247. channel d2: backup set complete, elapsed time: 00:00:03 
  248. channel d4: finished piece 1 at 2011-11-14 21:56:53 
  249. piece handle=/u01/rmanbak/for18dg/standby_MYPORT_20111114_pbmrlqee_1_1.bak tag=FOR STANDBY comment=NONE 
  250. channel d4: backup set complete, elapsed time: 00:05:43 
  251. channel d3: finished piece 1 at 2011-11-14 21:57:08 
  252. piece handle=/u01/rmanbak/for18dg/standby_MYPORT_20111114_p9mrlq22_1_1.bak tag=FOR STANDBY comment=NONE 
  253. channel d3: backup set complete, elapsed time: 00:12:34 
  254. channel d1: finished piece 1 at 2011-11-14 21:59:23 
  255. piece handle=/u01/rmanbak/for18dg/standby_MYPORT_20111114_pcmrlqi5_1_1.bak tag=FOR STANDBY comment=NONE 
  256. channel d1: backup set complete, elapsed time: 00:06:14 
  257. Finished backup at 2011-11-14 21:59:23 
  258.   
  259. released channel: d1 
  260.   
  261. released channel: d2 
  262.   
  263. released channel: d3 
  264.   
  265. released channel: d4 
  266.   
  267. RMAN>  
  268. -------------------------------------- 
  269.  
  270. 3、将备份集传输到备库的/data/oracle/backup/rman目录 
  271. scp -r  root@172.26.163.14:/u01/rmanbak/for18dg/ /bak/from14/ 
  272. [root@L-DB-163-18 bak]# scp -r  root@172.26.163.14:/u01/rmanbak/for18dg/ /bak/from14/ 
  273. root@172.26.163.14's password:  
  274. standby_MYPORT_20111114_pcmrlqi5_1_1.bak                                                                                                                          100%  341MB  11.4MB/s   00:30     
  275. standby_MYPORT_20111114_p9mrlq22_1_1.bak                                                                                                                          100%  190MB  11.2MB/s   00:17     
  276. standby_MYPORT_20111114_pamrlq22_1_1.bak                                                                                                                          100%   94MB  11.7MB/s   00:08     
  277. standby_MYPORT_20111114_p8mrlq22_1_1.bak                                                                                                                          100%  159MB  11.4MB/s   00:14     
  278. standby_MYPORT_20111114_pbmrlqee_1_1.bak                                                                                                                          100%   49MB   9.7MB/s   00:05     
  279. standby_MYPORT_20111114_p7mrlq22_1_1.bak                                                                                                                          100%  305MB  11.3MB/s   00:27     
  280. standby_MYPORT_20111114_pdmrlqj9_1_1.bak                                                                                                                          100% 1520KB   1.5MB/s   00:00     
  281. [root@L-DB-163-18 bak]# 

 本文转自zylhsy 51CTO博客,原文链接:http://blog.51cto.com/yunlongzheng/717235,如需转载请自行联系原作者

相关文章
|
SQL Oracle 关系型数据库
|
Oracle 关系型数据库 测试技术
[20171122]rman backup as copy的备份问题
[20171122]rman backup as copy的备份问题.txt --//以前曾经写过一篇[20160524]rman备份与检查点4.txt=>链接:http://blog.
1104 0
|
Oracle 关系型数据库 数据库