2-10. Восстановление повреждённого файла данных из копии-отображения.
Если один из файлов данных повреждён, то вместо того, чтобы
немедленно восстанавливать файл из резервной копии, можно временно
использовать копию-отображения файла из флэш-области
восстановления.
В качестве примера повредим (удалим) файл данных EXAMPLE01.DBF .
Для этого в начале переведём его в автономный режим:
SQL> alter database datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF' offline drop;
Database altered.
Затем, удалим его физически.
Проверка файлов базы данных
Восстановление начнём с проверки списка файлов:
RMAN> report schema;
Report of database schema
List of Permanent Datafiles
===========================
File Size(MB)
Tablespace
RB segs Datafile Name
---- -------- -------------------- -------
------------------------
1 490
SYSTEM
***
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
2 160
UNDOTBS1
***
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
3 370
SYSAUX
***
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
4 5
USERS
***
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
5 0
EXAMPLE
***
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
List of Temporary Files
=======================
File Size(MB)
Tablespace
Maxsize(MB) Tempfile Name
---- -------- -------------------- -----------
--------------------
1 20
TEMP
32767
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF
Как видим, размер файла EXAMPLE01.DBF равен нолю. Будем
считать, что он у нас повреждён.
Проверка на существование копии-отображения повреждённого
файла.
Проверяем наличие копии-отображения для нашего повреждённого
файла:
RMAN> list copy of datafile 5;
List of Datafile Copies
Key File S Completion Time Ckp
SCN Ckp
Time Name
------- ---- - --------------- ---------- --------------- ----
5 5 A
04-AUG-10
4410435
04-AUG-10
C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\DA
TAFILE\O1_MF_EXAMPLE_65LQL0C5_.DBF
Перевод повреждённого файла в offline режим.
Если повреждённый файл находится в оперативном режиме, то
необходимо перевести его в автономный режим:
RMAN> sql 'alter database datafile 5 offline';
sql statement: alter database datafile 5 offline
Переключение повреждённого файла к последней копии-отображения.
После того как файл перевёлся в автономный режим, нужно
сигнализировать базе данных, чтобы она использовала вместо
повреждённого файла данных файл копии-отображения из флэш-области
восстановления:
RMAN> switch datafile 5 to copy;
datafile 5 switched to datafile copy
"C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\DATAFILE\O1_MF_EXAMPLE
_65LQL0C5_.DBF"
Восстановление копии.
Теперь, остаётся только привести копию-отображения в состояние
согласованное с текущим состоянием базы данных:
RMAN> recover datafile 5;
Starting recover at 05-AUG-10
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=144 devtype=DISK
starting media recovery
archive log thread 1 sequence 103 is already on disk as file
C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL
\ARCHIVELOG\2010_08_04\O1_MF_1_103_65LWG2VS_.ARC
archive log thread 1 sequence 104 is already on disk as file
C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL
\ARCHIVELOG\2010_08_04\O1_MF_1_104_65MH2D7R_.ARC
archive log thread 1 sequence 105 is already on disk as file
C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL
\ARCHIVELOG\2010_08_05\O1_MF_1_105_65O2X30X_.ARC
archive log
filename=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2010_08_04\O1_MF_1_103_65LWG
2VS_.ARC thread=1 sequence=103
media recovery complete, elapsed time: 00:00:03
Finished recover at 05-AUG-10
Перевод повреждённого файла в online режим.
После того как файл восстановлен, его необходимо перевести в
оперативный режим работы.
RMAN> sql 'alter database datafile 5 online';
sql statement: alter database datafile 5 online
Проверяем файлы данных:
RMAN> report schema;
Report of database schema
List of Permanent Datafiles
===========================
File Size(MB)
Tablespace
RB segs Datafile Name
---- -------- -------------------- -------
------------------------
1 490
SYSTEM
***
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
2 160
UNDOTBS1
***
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
3 380
SYSAUX
***
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
4 5
USERS
***
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
5 100
EXAMPLE
***
C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\DATAFILE\O1_MF_EX
AMPLE_65LQL0C5_.DBF
List of Temporary Files
=======================
File Size(MB)
Tablespace
Maxsize(MB) Tempfile Name
---- -------- -------------------- -----------
--------------------
1 20
TEMP
32767
C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP01.DBF
Как видно из листинга, база данных теперь использует
вместо отсутствующего файла EXAMPLE01.DBF файл
O1_MF_EXAMPLE_65LQL0C5_.DBF из флэш-области восстановления, и у
нас есть время для того чтобы спокойно восстановить оригинальный файл
данных.
Раскрутка сайтов
купить мобильный