В тези уроци ще научите стъпки за синхронизиране в режим на готовност с първична база данни в Oracle.
Можем да извършим синхронизиране на БД в готовност с основната, когато:
- Ако има огромна разлика между първичната и резервната база данни
- Ако липсват архивни регистри на основния
- Ако архивните регистри са повредени на основния
Стъпки за синхронизиране в режим на готовност с основна база данни в Oracle
Стъпка 1:В режим на готовност DB – отменете възстановяването на база данни в режим на готовност с командата по-долу.
Sql>alter database recover managed standby database cancel;
Стъпка 2:На първична DB – Определете точката, от която режимът на готовност не е синхронизиран
sql>column current _scn for 999999999 sql>select current_scn from v$database;
Стъпка 3:На първична БД – Определете дали някакъв файл с данни е добавен към първичната БД, след като резервната БД не е синхронизирана. Ако да, трябва да възстановим този файл с данни в режим на готовност отделно. Ако няма добавен файл с данни, продължете дейността по синхронизиране в режим на готовност със стъпките по-долу.
sql>select file#, name, creation_change# from v$datafile_header where creation_change# >= Step 2's scn;
Стъпка 4:На първична DB – направете инкрементално архивиране на базата на SCN с помощта на RMAN. Тук използваме SCN номер, който получихме от стъпка 2. Това архивиране трябва да отиде на диск. И не забравяйте да разпределите канали, докато правите резервно копие, така че архивирането да е по-бързо.
Освен това поемаме контрола върху архивирането на файлове.
RMAN> run{ allocate channel ch 15 device type disk ; backup as compressed backupset incremental from scn ( scn from step 2) database format '/u002/rman/inc_backup_%U' release channel ch 15; RMAN>backup current controlfile for standby format '/u001/tmp/standby_ctrl.bkp';
Стъпка 5:Прехвърлете архивни файлове от първична DB към резервна база данни
На първичния –
OS> scp -p /u002/rman/inc_back* [email protected]:/u002/rman_stdby/ OS> scp -p /u002/rman/standby_ctrl.bkp [email protected]:/u002/rman_stdby/
Стъпка 6: В режим на готовност – Свържете се с rman и каталогизирайте копираното резервно копие
RMAN> catalog start with '/u002/rman_stdby/';
Стъпка 7:В режим на готовност DB – Сега възстановете контролния файл от резервно копие
RMAN>restore standby control file to '/tmp/control.ctl';
Стъпка 8:В режим на готовност DB – Сега копирайте възстановения контролен файл в режим на готовност на първоначалното му местоположение. Използвайте командата по-долу, за да получите оригинално местоположение на контролен файл.
sql>show parameter control_files #OR sql>select name from v$controlfile;
И заменете контролния файл от оригиналното местоположение с /tmp/control.ctl
Стъпка 9:В режим на готовност – Сега изключете базата данни в режим на готовност
sql>shutdown immediate sql>startup mount
Стъпка 10:В режим на готовност – Сега възстановете файла с данни от стъпка 3 с помощта на rman. Изпълняваме тази стъпка само ако получаваме изход в стъпка 3.
RMAN>restore data file datafile_number(from step3); RMAN>recover database noredo;
Стъпка 11:В режим на готовност – Сега започнете възстановяването с командата по-долу.
sql>recover managed standby database disconnect from session;
Стъпка 12:Потвърдете дали резервната база данни е в синхрон с първичната DB. Проверете списъка с архивни регистрационни файлове от двете страни, за да видите текущите последователности на регистрационните файлове
Сега научихте стъпките за синхронизиране в режим на готовност с първична база данни в реална среда на Oracle.