Базата данни за физическа готовност разчита на непрекъснатото прилагане на архивни регистрационни файлове от първична база данни, за да бъде в синхрон с нея. Във версиите на Oracle Database преди 10g в случай на изчезнал или повреден архивен журнал, трябваше да изградите отново резервната база данни от нулата. От 10g можете да използвате инкрементално архивиране от SCN и да възстановите режима на готовност, като използвате същото, за да компенсирате липсващите архивни регистрационни файлове. В това ще видим как да възстановим базата данни в режим на готовност от липсващ архивен дневник
Ето стъпките за това как да възстановите база данни в режим на готовност от липсващ архивен дневник
Стъпка 1:
В базата данни в режим на готовност проверете текущия SCN
sqlplus "/ as sysdba"SQL>задайте numwidth 30;SQL>изберете current_scn от v$database;CURRENT_SCN-----------6746747647647
Стъпка 2 :
В основната база данни създайте необходимото инкрементално архивиране от горния SCN
rman target /RMAN> {разпределяне на канал c1 тип диск; РЕЗЕРВНО ИНРЕМЕНТАЛНО ОТ SCN 6746747647647 DATABASEFORMAT /tmp/inc_standby_%U';}
Можем да използваме паралелни работници, за да ускорим създаването на резервно копие, ако базата данни е генерирала много промени
<предварително стартиране{разпределяне на канал d1 тип диск;разпределяне на канал d2 тип диск;разпределяне на канал d3 тип диск;разпределяне на канал d4 тип диск;разпределяне на канал d5 тип диск;разпределяне на канал d6 тип диск;разпределяне на канал тип d7 диск;разпределяне на канал d8 тип диск;разпределяне на канал d9 тип диск;разпределяне на канал d10 тип диск;РЕЗЕРВНО ИНРЕМЕНТАЛНО ОТ SCN 6746747647647 DATABASEFORMAT /tmp/inc_standby_%U';}Стъпка 3:
Отменете управлявано възстановяване в резервната база данни
sqlplus "/ as sysdba"SQL>промяна на базата данни, възстановяване на управлявана база данни в готовност, отмяна; възстановяването на носителя завърши.
Стъпка 4:
- scp архивните файлове към сървъра в режим на готовност в папка /tmp.
- Каталогизирайте инкременталните архивни файлове в резервната база данни
rman target /RMAN> КАТАЛОГ ЗАПОЧНЕ С '/tmp/';търсене на всички файлове, които съответстват на шаблона /tmp/Списък с файлове, неизвестни за базата данни======================================…... Наистина ли искате да каталогизирате горните файлове (въведете ДА или НЕ)? ДА каталогизиране на файлове...извършено каталогизиране
Стъпка 5:
Приложете инкременталното архивиране към резервната база данни
rman target /RMAN>ВЪЗСТАНОВЯВАНЕ НА БАЗА ДАННИ NOREDO;
Стъпка 6:
Върнете резервната база данни в режим на управлявано възстановяване.
sqlplus "/ as sysdba"SQL>възстановяване на управлявана резервна база данни, прекъсване на връзката; Възстановяването на носителя завърши.
От alert.log ще забележите, че базата данни в режим на готовност все още търси старите регистрационни файлове
FAL[клиент]:Неуспешно заявяване на пропуск последователностGAP – нишка 1 последователност ….
Това е така, защото контролният файл не е актуализиран. Следователно контролният файл в режим на готовност трябва да бъде пресъздаден
Стъпка 7:
На основния създайте нов контролен файл в режим на готовност
sqlplus "/ as sysdba"SQL> промяна на базата данни, създаване на контролен файл в режим на готовност като ‘/tmp/standby01.ctl’;Системата е променена.
Стъпка 8:
Улавяйте информация за файла с данни в базата данни STANDBY.
Контролният файл в режим на готовност ще трябва да бъде опреснен от резервното копие, направено на стъпка №7. Тъй като имената на файловете с данни вероятно са различни от основните, запазете имената на вашите резервни файлове с данни за справка, след като възстановите контролния файл от основния архив. Изпълнете заявката по-долу в базата данни в режим на готовност и запазете резултатите за по-нататъшна употреба.
spool standby_datafile_names.txt
задайте размер на страницата 1000;
задайте редове 200
col име формат a60
изберете файл#, име от v$datafile подредете по файл#;
намотаване
Стъпка 9:
Копирайте контролния файл в режим на готовност в сайта в режим на готовност. Изключете базата данни в режим на готовност и заменете контролните файлове в режим на готовност и рестартирайте резервната база данни в режим на управлявано възстановяване, като използвате командата по-долу
RMAN> ИЗКЛЮЧВАНЕ НЕЗАБАВНО;RMAN> ЗАПУСКАНЕ NOMOUNT;RMAN> ВЪЗСТАНОВЯВАНЕ НА КОНТРОЛНИЯ ФАЙЛ ОТ '/tmp/standby01.ctl';
Стъпка 10:
Монтирайте режима на готовност
RMAN> ПРОМЕНИ МОНТИРАНЕ НА БАЗА ДАННИ;
Стъпка 11:
Тази стъпка е необходима, ако местоположението на файловете с данни е различно в режим на готовност и Основен
Ако основният и резервният имат идентична структура и имена на файлове с данни, тази стъпка може да бъде пропусната.
Oracle препоръчва да проверите инкарнацията за първично и в режим на готовност, преди да завършите тази стъпка.
пример:
RMAN> въплъщение на списък;
Тъй като сме възстановили контролния файл от PRIMARY, имената на местоположението на файловете с данни в този възстановен STANDBY контролен файл ще бъдат същите като тези на PRIMARY базата данни. Ако структурата на директорията е различна между резервната и първичната база данни или ако използвате OMF имена на файлове, управлявани от Oracle, тогава той няма да може да идентифицира резервните файлове. Така че можем да каталогизираме файловете с данни STANDBY с RMAN, за да изпълним операцията за преименуване.
Изпълнете стъпката по-долу в STANDBY за всяка дискова група (или директория), където се намират файловете с данни в режим на готовност.
RMAN> КАТАЛОГ ЗАПОЧВА С '+DATA/STBY/datafile/';
Ако някакви файлове с данни са добавени към основния СЛЕД резервния SCN (в нашия пример, scn 6746747647647), тези файлове с данни няма да бъдат създадени на сървъра в режим на готовност независимо от настройката на параметъра за управление на standby_file_management. Добавените файлове с данни ще трябва да бъдат възстановени на сървъра в режим на готовност. За да определите дали някакви файлове са добавени към Основен след текущия SCN в режим на готовност
SQL>ИЗБЕРЕТЕ ФАЙЛ#, ИМЕ ОТ V$DATAFILE WHERE CREATION_CHANGE#> 6746747647647
Ако върне някакви редове, тогава трябва да възстановим тези файлове от първичен в режим на готовност
RMAN> архивен файл с данни, , , формат '/tmp/ForStandby_%U' маркер 'FORSTANDBY';
Копирайте ги в режим на готовност и след това ги каталогизирайте и възстановете
КАТАЛОГ ЗАПОЧНЕ С '/tmp/ForStandby';изпълни{задайте ново име за файл с данни X на '+DISKGROUP';задайте ново име за файл с данни Y на '+DISKGROUP';задайте ново име за файл с данни Z на '+DISKGROUP';и т.н. възстановяване на файла с данни x,y,z,….;}
Сега можем да превключим базата данни към копиране
RMAN> ПРЕКВЯНЕ НА БАЗА ДАННИ КЪМ КОПИРАНЕ;
Ако горната заявка се върне с 0 нула реда
RMAN> ПРЕКВЯНЕ НА БАЗА ДАННИ КЪМ КОПИРАНЕ;
Стъпка 11
Включено STANDBY база данни, изчистете всички дневници в режим на готовност:
SQL> изберете GROUP# от v$logfile, където TYPE='STANDBY' група от GROUP#;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 1;
SQL> ALTER DATABASE CLEAR LOGFILE GROUP 2;
SQL> ПРОМЕНИ БАЗА ДАННИ ИЗЧИСТВАНЕ НА ГРУПА ЗА ЛОГФАЙЛ 3;
….
Стъпка 12
Сега можете да стартирате MRP
SQL> ПРОМЯНА НА БАЗА ДАННИ ВЪЗСТАНОВЯВА УПРАВЛЕНА БАЗА ДАННИ В РЕЖИМ ИЗКЛЮЧВАНЕ;
Надяваме се, че ви харесват тези подробни стъпки за това как да възстановите резервна база данни от липсващ архивен дневник. Моля, предоставете обратната връзка. Възможно е да има грешка.
Също чете
Не от ASM към ASM
как да намерите пореден номер на архивния дневник в oracle
как да проверите грешките в дневника за предупреждения в oracle
Команди за архивиране на RMAN
Команди за архивиране на RMAN списък
Стъпки за изпълнение за пренасочване на физическа резервна база данни с помощта на инкрементално архивиране на RMAN. (Идентификатор на документ 836986.1)