You are hereBlogs / almudena's blog / Cómo provocar un bloque corrupto en BD baseadas en ASM e restaurar con RMAN a nivel de bloque

Cómo provocar un bloque corrupto en BD baseadas en ASM e restaurar con RMAN a nivel de bloque


By: almudena - Posted on: 12 April 2013

Detallo a continuación os pasos seguidos para provocar un bloque corrupto unha BD con ASM e levar a cabo unha restauración a nivel de bloque con RMAN. Elo é posible por estar traballando con unha BD Enterprise Edition. Mencionar tamén que se trata dun contorno de test.

           1. Creamos tablespace/usuario/táboa e procemento para insertar filas.             

 	    14:25:39 SYS@orcl1> create tablespace bad_data_test_acc;

 	    Tablespace created.


	    14:27:32 SYS@orcl1> select  file_name, file_id , tablespace_name from dba_data_files
	    14:27:42   2   where tablespace_name like '%BAD%';

         FILE_NAME					                                FILE_ID  TABLESPACE_NAME
         ----------------------------------------------------------- ---------- -------------------------------------------------------------------------
	    +DATA/orcl/datafile/bad_data_test_acc.342.812469967	        12      BAD_DATA_TEST_ACC

         create user acc identified by *****  default tablespace bad_data_test_acc; 
         create table test (username varchar2(9), password varchar2(6));
         
         DECLARE 
         u  VARCHAR2(9);
         p  VARCHAR2(6);
         
         BEGIN 
         FOR jump  IN 1 ..10000  LOOP 
         u := 'TEST'||jump; 
         p := 'P'||jump; 
         insert into test values (u,p);
         END LOOP; 
         commit;
         END; 
         / 

         2. Quedámonos cos datos que precisaremos para forzar a corrupción dun bloque.    

         select
         rowid ,
         to_number(utl_encode.base64_decode(utl_raw.cast_to_raw(lpad(substr(rowid, 1, 6), 8, 'A'))), 'XXXXXXXXXXXX') as objid,
         to_number(utl_encode.base64_decode(utl_raw.cast_to_raw(lpad(substr(rowid, 7, 3), 4, 'A'))), 'XXXXXX') as filenum,
         to_number(utl_encode.base64_decode(utl_raw.cast_to_raw(lpad(substr(rowid, 10, 6), 8, 'A'))), 'XXXXXXXXXXXX') as blocknum,
         to_number(utl_encode.base64_decode(utl_raw.cast_to_raw(lpad(substr(rowid, 16, 3), 4, 'A'))), 'XXXXXX') as rowslot
         from test where password='P7777'
         /
         ROWID OBJID FILENUM   BLOCKNUM    ROWSLOT
         ------------------ ---------- ---------- ---------- ----------
         AAARofAAMAAAACeAAr 72223       12 158     43         

          2. Lanzamos un backup RMAN da BD  que contén os últimos datos creados.   


          3. Poñemos o tablespace offline e pasámolo a fs empregando RMAN para elo.

     alter tablespace bad_data_test_acc offline;
   
     RMAN> copy datafile 12  to '/tmp/block_corruption/bad_data_01.dbf';
     
     Starting backup at 11/04/2013 14:26:27
     using target database control file instead of recovery catalog
         (...)
     channel ORA_DISK_7: SID=197 instance=orcl1 device type=DISK
     allocated channel: ORA_DISK_8
     channel ORA_DISK_8: SID=236 instance=orcl1 device type=DISK
     allocated channel: ORA_DISK_9
     channel ORA_DISK_9: SID=278 instance=orcl1 device type=DISK
     allocated channel: ORA_DISK_10
     channel ORA_DISK_10: SID=316 instance=orcl1 device type=DISK
     channel ORA_DISK_1: starting datafile copy
     input datafile file number=00012 name=+DATA/orcl/datafile/bad_data_test_acc.342.812469967
     output file name=/tmp/block_corruption/bad_data_01.dbf tag=TAG20130411T142632 RECID=1 STAMP=812471194
     channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03    

     4. Forzamos a corrupción no bloque.       

     [oracle@oracle block_corruption]$ dd if=/tmp/block_corruption/bad_data_01.dbf bs=8k count=158 of=/tmp/block_corruption/bad_data_01.dbf_new
     158+0 records in
     158+0 records out
     1294336 bytes (1.3 MB) copied, 0.00493063 s, 263 MB/s
   
     [oracle@oracle block_corruption]$ dd if=/tmp/block_corruption/bad_data_01.dbf bs=8k count=1 >> /tmp/block_corruption/bad_data_01.dbf_new
     1+0 records in
     1+0 records out
     8192 bytes (8.2 kB) copied, 0.000112149 s, 73.0 MB/s
   
     [oracle@oracle block_corruption]$ dd if=/tmp/block_corruption/bad_data_01.dbf bs=8k skip=159 >> /tmp/block_corruption/bad_data_01.dbf_new
     12642+0 records in
     12642+0 records out
     103563264 bytes (104 MB) copied, 0.374947 s, 276 MB/s
     [oracle@oracle block_corruption]$
     
     mv /tmp/block_corruption/bad_data_01.dbf_new  /tmp/block_corruption/bad_data_01.dbf

       5. Copiamos os datos do datafile de fs a ASM de novo con RMAN.

         run {
         set maxcorrupt for datafile 12 to 2;
         restore datafile 12 from tag 'TAG20130411T142632';
         recover datafile 12;
         }
         channel ORA_DISK_1: restoring datafile 00012
         input datafile copy RECID=1 STAMP=812471194 file name=/tmp/block_corruption/bad_data_01.dbf
         destination for restore of datafile 00012: +DATA/orcl/datafile/bad_data_test_acc.342.812469967
         channel ORA_DISK_1: copied datafile copy of datafile 00012
         output file name=+DATA/orcl/datafile/bad_data_test_acc.342.812469967 RECID=0 STAMP=0
         Finished restore at 11/04/2013 14:35:41
        
         Starting recover at 11/04/2013 14:35:41
         using channel ORA_DISK_1
         using channel ORA_DISK_2
         using channel ORA_DISK_3
         using channel ORA_DISK_4
         using channel ORA_DISK_5
         using channel ORA_DISK_6
         using channel ORA_DISK_7
         using channel ORA_DISK_8
         using channel ORA_DISK_9
         using channel ORA_DISK_10
        
         starting media recovery
         media recovery complete, elapsed time: 00:00:01
        
         Finished recover at 11/04/2013 14:35:42
              

       6. Poñemos tablespace online e comprobamos que temos o bloque corrupto.

        alter tablespace bad_data_test_acc online;
        14:36:39 ACC@orcl1> select * from test where password='P7777';
         select * from test where password='P7777'
                       *
         ERROR at line 1:
         ORA-01578: ORACLE data block corrupted (file # 12, block # 158)
         ORA-01110: data file 12: '+DATA/orcl/datafile/bad_data_test_acc.342.812469967'
        
         14:37:38 SYS@orcl1> select * from v$database_block_corruption;
        
              FILE#     BLOCK#   BLOCKS CORRUPTION_CHANGE# CORRUPTIO
         ---------- ---------- ---------- ------------------ ---------
         12   158        1   0 CORRUPT
        
        
         [oracle@oracle log]$ rman target /
         Recovery Manager: Release 11.2.0.3.0 - Production on Thu Apr 11 14:37:58 2013
        
         Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
        
         connected to target database: orcl (DBID=1700599633)
        
         RMAN> backup check logical validate tablespace bad_data_test_acc;
        
         Starting backup at 11/04/2013 14:38:42
         using target database control file instead of recovery catalog
         allocated channel: ORA_DISK_1
         channel ORA_DISK_1: SID=471 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_2
         (...)
         allocated channel: ORA_DISK_9
         channel ORA_DISK_9: SID=236 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_10
         channel ORA_DISK_10: SID=278 instance=orcl1 device type=DISK
         channel ORA_DISK_1: starting full datafile backup set
         channel ORA_DISK_1: specifying datafile(s) in backup set
         input datafile file number=00012 name=+DATA/orcl/datafile/bad_data_test_acc.342.812469967
         channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
         List of Datafiles
         =================
         File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
         ---- ------ -------------- ------------ --------------- ----------
         12   OK     1              12641        12800           356051175
           File Name: +DATA/orcl/datafile/bad_data_test_acc.342.812469967
           Block Type Blocks Failing Blocks Processed
           ---------- -------------- ----------------
           Data       0              27             
           Index      0              0              
           Other      0              132            
        
         Finished backup at 11/04/2013 14:38:48
        
         RMAN>      

       7. Restauramos a nivel de bloque con rman.   

         [oracle@oracle log]$ rman target /
        
         Recovery Manager: Release 11.2.0.3.0 - Production on Thu Apr 11 14:40:36 2013
        
         Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
        
         connected to target database: orcl (DBID=1700599633)
        
         RMAN> recover datafile 12 block 158;
        
         Starting recover at 11/04/2013 14:40:44
         using target database control file instead of recovery catalog
         allocated channel: ORA_DISK_1
         channel ORA_DISK_1: SID=471 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_2
         channel ORA_DISK_2: SID=626 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_3
         channel ORA_DISK_3: SID=665 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_4
         channel ORA_DISK_4: SID=939 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_5
         channel ORA_DISK_5: SID=120 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_6
         channel ORA_DISK_6: SID=159 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_7
         channel ORA_DISK_7: SID=198 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_8
         channel ORA_DISK_8: SID=236 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_9
         channel ORA_DISK_9: SID=278 instance=orcl1 device type=DISK
         allocated channel: ORA_DISK_10
         channel ORA_DISK_10: SID=316 instance=orcl1 device type=DISK
        
         channel ORA_DISK_1: restoring block(s) from datafile copy /tmp/block_corruption/bad_data_01.dbf
         ORA-19587: error occurred reading 8192 bytes at block number 0
         ORA-27069: attempt to do I/O beyond the range of the file
         Additional information: 1
         Additional information: 12801
         ORA-19600: input file is datafile copy 0 (/tmp/block_corruption/bad_data_01.dbf)
        
         failover to previous backup
        
         channel ORA_DISK_1: restoring block(s)
         channel ORA_DISK_1: specifying block(s) to restore from backup set
         restoring blocks of datafile 00012
         channel ORA_DISK_1: reading from backup piece +FRA/orcl/backupset/2013_04_11/nnndf0_tag20130411t141520_0.473.812470521
         channel ORA_DISK_1: piece handle=+FRA/orcl/backupset/2013_04_11/nnndf0_tag20130411t141520_0.473.812470521 tag=TAG20130411T141520
         channel ORA_DISK_1: restored block(s) from backup piece 1
         channel ORA_DISK_1: block restore complete, elapsed time: 00:00:01
        
         starting media recovery
         media recovery complete, elapsed time: 00:00:07
        
         Finished recover at 11/04/2013 14:40:58         

      8. Comprobamos que xa non hai bloques corruptos na BD.

         14:42:55 ACC@orcl1> select * from test where password='P7777';
        
         USERNAME  PASSWO
         --------- ------
         TEST7777  P7777
        
         14:42:00 ACC@orcl1> select * from v$database_block_corruption;
        
         no rows selected
        
         14:42:08 ACC@orcl1> exit
Share this

4AqH6px8UNDTUn2w8LUY

How are medications produced to ensure uniformity in taste and odor buy levitra. Neurodegenerative Disorders - Promising Research Avenues

Stereotypes of black american women related to sexuality and
http://bdsmnc.miaxxx.com/?tia-angela

porn puritan sex dbz 18 porn modern porn movies island fever 3 porn josyln james porn videos

Hotel footage captures moment girl aged 13 is lured into room to
http://khimki-sensuous.jsutandy.com/?priscila-mary

female contraction orgasm porn free bondism porn adelle stephens porn monstr anime porn caugth daugther masterbating porn tube

Lela star ass licking dildo fucking mariah milano latina big tit
https://mp3-funnyoldbirthdaypictures.celebrityamateur.com/?aleah-kaelyn

michigan college porn work porn night straight boy cody porn porn at a afir pirtaes blu ray porn

Top 10 pawg onlyfans sexiest onlyfans pawgs la weekly
https://bisexualrights.alexysexy.com/?ashlee-taya

hazel porn star moscow dog porn clips retro thai porn tube pamela anderso porn youporn maxine fensom porn clips

Arizona teacher filmed onlyfans videos in classroom new york post
https://girl-masturbation-hautenge.fetlifeblog.com/?jacquelyn-kaela

retro porn tue tom stone porn satr wars porn alpha blue archives porn ivy manner porn

Extreme piss porn videos bdsm pissing porn with men pissing
https://sewerpipe-amatuerbithreesome.hotblognetwork.com/?kathy-zoe

hair trigger gay porn porn mobile ipod ladyboy teen porn sleeping porn movies rodney bounds porn photographer

Crazypilation of rutal bestiality fucking xxxsexzoo
https://video-cartoon-lesbian-licking.amandahot.com/?donna-anais

nicole kidman fake porn exotic shemale porn free mother daughter son porn sukumizu porn porn uniforms

Spick span and beautiful britons models vintage fetish
https://bigboobi-rudetennisphotos.amandahot.com/?yasmni-eden

fantasy rpg porn hot lesbien teen wrestling porn dragon ball gt porn instant download porn trailers guy loses virginty porn

3d cartoon porn 3d porn is intense and beautifully rendered
https://latinathicktumblr.instakink.com/?anabel-jacqueline

porn pictures lesbian sex at wommen porn galea porn porn msn emotions american civil war renegades porn

Free ladyboy xxx videos shemale porn tube ladyboytube tv
https://bottlephotoframes.instasexyblog.com/?aaliyah-madisyn

girls reform school painful punishment porn free busty christy mobile porn videos prison cavity search porn movies porn passwords torrent free black porn stream

Fleshlight debuts automatic universal launch stroker
https://androidsexualorientationdefinitionbehaviorstatement-faina.hotnat...

free porn clips no downlaods older women porn tube ametuar free animal porn tv porn review pages naruto porn images

Jessica simpson posts thirsty swimsuit photo people
https://riverside-album.alexysexy.com/?olivia-alyson

frankenstein george porn free milf hunter porn amature sex porn jackoff porn tube buttplug porn

South african massage room surprise happy ending pornhub
https://stephany-beach-garden.bloglag.com/?jaime-robyn

annimated ineractive porn porn quality ebony free ameutuer porn movies tranny hunt ebony porn movie clips frde porn hot list

Ex madam kristin davis sentenced to 2 yesrs in jail for peddling
https://patra-xvideosvn.tubered69.com/?alice-amaya

backroom casting porn lazy mans lay porn freckles porn free anal picture for cell phone porn karen angle porn

Sexy mature porn videos older women sex movies tube
https://android-sexy-forever-one-zone-cloe.fetlifeblog.com/?colleen-maleah

latex slut porn videos amature forced anal porn please stop tyra banks porn tape c cup boob porn tiana dervaux porn

Free porn sweet show porn movies xxx tube sex videos
https://cumblast-giessen.adablog69.com/?alivia-aryanna

sexy bbw milf free porn videos free xxx blowjob porn movie trailers multi age porn tube porn movie mutant dick simpsons cartoon porn movs

13 best free porn movie sites free xxx movie sites pornguy
https://maiko-androidsexydancermemedrawing.jsutandy.com/?jadyn-aiyana

resident evil 4 porn free red neck porn milf porn iphone porn bigtits italian naruto and sakura porn

Xxx sissy videos free miss n porn tube sexy genderqueer clips
http://winter-haven-slobbering.adablog69.com/?quinn-angeline

bdsm porn tubes explicit porn movies laura patterson porn porn filipina webcam squidbillies porn

Sonya gets ready for dog sex action beastiality porn katitube
http://touts-victoria.christie.tiktokpornstar.com/?estefani-kayla

naughty nasty porn granny porn utube brick ass porn japanese porn tube teens breastfeeding videos porn

Ресурс - среда, that бизнес-идеи обретают реализацию. Создавайте, демонстрируйте, sell.
сайт kraken darknet

Наращивайте компанию в глобальном значении. Kraken provides opportunity ко global сегментам.
mega дарк зеркала

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

Image CAPTCHA
Enter the characters shown in the image.