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
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


Young Heaven - Naked Teens & Young Porn Pictures
http://dateashemale.topanasex.com/?sylvia
milff porn sites porn star nikki breeze ybu porn xhamsteer skinny old slags porn porn puppy
College Girls Porn Pics
http://moviejapanadult.hotblognetwork.com/?jazmyn
free homemade irish porn movies star wars porn artist beauty dior the porn star amateur porn upload site horo porn
Sexy photo galleries, daily updated pics
http://shemaleviseos.shemalechatting.jsutandy.com/?stephanie
milf bondage porn pics stream porn video pay you porn agnelina valentine lauren michael porn allison angel porn eskimo
Приветствую, уважаемые форумчане! Хочу рассказать о важности и необходимости профессионального ухода за деревьями, особенно в условиях городской среды. Речь пойдет об арбористике – комплексе мероприятий по уходу, лечению и, при необходимости, удалению деревьев.
Многие считают, что уход за деревьями ограничивается поливом и обрезкой сухих веток. Однако, современная арбористика – это целая наука, включающая в себя диагностику заболеваний, укрепление деревьев, защиту от вредителей и формирование кроны - https://telegra.ph/Kompaniya-po-ukrepleniyu-derevev-i-lecheniyu-derevev-... - Расчистка участка
Предлагаем вам высококачественный тротуарный бордюр – идеальное решение для обрамления дорожек, газонов, цветников и других элементов ландшафтного дизайна.
Наш тротуарный бордюр отличается прочностью, долговечностью и устойчивостью к воздействию внешних факторов, что делает его идеальным выбором для любых условий эксплуатации - https://telegra.ph/Kladka-trotuarnoj-plitki-Krasnodar-06-19 - тротуарная плитка краснодар
https://znakavto.com/
Кайтсёрфинг Хургада
Moderator Любишь играть и получать удовольствие от игры тогда не теряй времени зря Мы даем бонусы при регистрации: - Каталог игр - Каталог слотов - Каталог столов - Каталог турниров - Каталог бонусов - Каталог фрибетов - Каталог ваучеров - Каталог промокодов - Каталог вейджеров - Каталог рулеток
что дает гражданство Коста-Рики
Коста-Рика получить гражданство
https://costavida.ru
пмж в Коста-Рике как
роды в Коста-Рике гражданство для родителей
https://costarus.ru
получить гражданства Коста-Рики
на пмж в Коста-Рике
пмж в Коста-Рики
гражданство Коста-Рики как
Коста-Рика внж пмж
https://imigrantos.ru
writing services rates business writing services company assignment writing service usa https://paperabbrs.com/
Hot galleries, daily updated collections
http://sheertappants.lingerie4men.allproblog.com/?allie
young porn suckers wife porn videos amateur porn hub tgp filnstones porn teen wants to be porn star
Этот информационный обзор станет отличным путеводителем по актуальным темам, объединяющим важные факты и мнения экспертов. Мы исследуем ключевые идеи и представляем их в доступной форме для более глубокого понимания. Читайте, чтобы оставаться в курсе событий!
Получить дополнительную информацию - https://vivod-iz-zapoya-2.ru/
Этот информационный обзор станет отличным путеводителем по актуальным темам, объединяющим важные факты и мнения экспертов. Мы исследуем ключевые идеи и представляем их в доступной форме для более глубокого понимания. Читайте, чтобы оставаться в курсе событий!
Ознакомиться с деталями - https://vivod-iz-zapoya-2.ru/
My creative trap project
http://qualityadultaffiliates.com/?dayana
Nude Sex Pics, Sexy Naked Women, Hot Girls Porn
http://pornresource.relayblog.com/?lydia
peaches teens porn creole porn tube free asian white porn gay daddy papi porn file sharing alicia rhodes duck porn
okelunuha797@gmail.com
йїиЋ«иҐїжћ—зљ„еЏ¦дёЂдёЄеђЌз§°
meth
и®їй—®жљ—зЅ‘ reddit
ЩЉЩ…Щ† ШЄЩ€Щѓ 99437
воронеж стиральных ремонт машин дому https://servisnyj-centr-stiralok-vrn.ru/
I recommend this legal remedy to everyone https://gabapentin-garbamaxxx.com
Battle Game Camping или Виндсерфинг в Алачати
Турция
https://samoylovaoxana.ru/charyushie-ygolki-manaysa/
Ещё можно узнать: сброс настроек ie
hippopotamus1813
prodache
Loveshop Снова Работает !!!!!
Подробнее https://loveshop1300.yachts
#loveshop1300-biz # shop1-biz #loveshop13 #loveshop15 #loveshop16 #loveshop17 #loveshop18
Подскажите где найти лучшие рецепты со всего мира: от классических блюд, которые согревают душу, до современных кулинарных шедевров,
которые впечатляют даже самых взыскательных гурманов - https://hexagon.vn/2023/06/22/harnessing-the-power-of-social-media-for-b...
- домашние рецепты
Explore Premium Products for Happy, Healthy Pets in Auckland
PET safety accessories Auckland !
Супер стилни детски дънки, които непременно ще се харесат на вашето дете.
Най-добрите модели пижами за комфортна почивка, които ще направят нощта на вашето дете незабравима.
Най-добрите модели рокли за деца, които ще станат любими в гардероба на вашето момиче.
Най-добрите модели якета за малчуганите, които ще станат незаменими дрехи в гардероба на вашето дете.
Удобни детски спортни комплекти за активна почивка, които ще бъдат чудесен избор за спортни занимания.
зара детски дрехи https://www.kosara.bg .
Blacksprut снова работает!!!
Подробнее https://telegra.ph/Novyj-vzglyad-na-morskuyu-kuhnyu-chto-delaet-Black-Sp...
# Blacksprut # блэк спрут #
Toller Ort zum Entspannen:wien sextreffen
Ich entspanne mich dort immer
Camden Town Leak Detection - Professional, Certified & Affordable Leak Detection Services | Your #1 Local Leak Detection in Camden Town 020 3143 2561 Call Now! Camden Town Leak Detection - Professional, Certified & Affordable Leak Detection Services !
Всем привет! Подскажите, где почитатьразные статьи о недвижимости? Пока нашел - https://xn------6cdcfcrha0alg8bcirh7amvg2b4m.xn--p1ai/
Post new comment