Резервне копіювання бази даних в Oracle - Експортувати базу даних або використовувати інші інструменти?


10

Однією з "практик", яку я бачив щодо того, як DBA виконується в моїй організації, - це трактувати повний експорт бази даних за допомогою інструментів, таких як exp/ expdpяк резервного копіювання.

Це було б гарною практикою? Які б були переваги використання RMAN над цим підходом?


Дублювання баз даних набагато простіше за допомогою RMAN
Sumnibot

Відповіді:


7

Перевагою RMAN є PITR - відновлення моменту часу. Ви можете взяти резервну копію RMAN DBF та резервну копію RMAN архівованих журналів повторень та відновити базу даних у будь-який момент часу до часу останньої архівації резервного копіювання журналу повторень. Недоліком такого підходу є те, що він дуже грубозернистий - відновити його можна лише на рівні простору таблиць.

Перевага exp / expdp полягає в тому, що у вас є послідовна копія бази даних, яку ви можете просто імпортувати в щойно створену порожню базу даних. Однак ви не можете його прокрутити вперед - це на даний момент абсолютно окрема незалежна база даних, яка не має логічного відношення до оригіналу. Але легко відновити лише одну таблицю або навіть кілька рядків з експорту.

Хорошим підходом буде регулярне резервне копіювання файлів даних RMAN, безперервне резервне копіювання заархівованих журналів повторень (наприклад, як тільки одна резервна копія архіву завершиться, запустіть наступну відразу, щоб ви "потокували" журнали на стрічку), а потім навчите своїх користувачів у використанні exp / imp, щоб вони могли виконувати свої власні "резервні копії" (у випадку, якщо потрібно фактична копія даних) та flashback (щоб вони могли зробити власні відновлення у випадку помилки DML).

Пам'ятайте - резервна копія призначена для відновлення DBA після катастрофічного виходу обладнання. Це не на користь кінцевих користувачів (або ви витратите весь свій час на відновлення тестової системи та копіювання кількох рядків назад до оригіналу!).


5

Exp / Expdp як резервне рішення - це як сказати, що магазин автозапчастин - це ваш резервний автомобіль. Технічно це призведе до того, що ти повернешся назад та працює, але це не заподіє тобі нічого, крім болю та страждань.

Exp або Expdp можна використовувати як вторинну резервну копію або для холодних резервних копій файлової системи, або для гарячих або холодних резервних копій rman (інше клієнтське програмне забезпечення для Oracle зазвичай виконує лише команди RMAN).

Типовою методологією було б таке:

1 cold backup weekly
1 hot backup daily

І якщо ви дійсно хочете бути обережними, періодично транспортуйте заархівовані журнали повторень із сервера (щогодини працює) або встановіть віддалене місце для другого пункту призначення архіву.

- RMAN * новий -

Мій типовий сеанс RMAN:

rman target=/

backup as compressed backupset database plus archivelog delete input;

delete obsolete;

exit

"Резервне копіювання як стиснене резервне копіювання ...": Ви також можете зробити зображення, яке є байтом для байтової копії файлів даних. Це було б добре як резервне копіювання щотижня.

"... база даних ...": досить очевидно

"... плюс archivelogs ...": дає нам відновити час відновлення (і час клонування [дублікат команди в rman])

"... delete delete": видалити архіви, які були створені. Ви також можете встановити це для видалення резервних копій, принаймні двічі тощо.

"видалити застаріле": коли ви налаштували політику збереження rman (у мене 5 днів), це видалить резервні копії, які знаходяться поза цим вікном. Це не означає, що ми можемо відновитись лише 5 днів тому. Ви все одно маєте щодня робити резервні копії стрічки / поза сервером із області відновлення спалаху. Це просто означає, що в Інтернеті у вас буде 5 днів відновлення, після чого вам потрібно буде відновити флеш-об’єкти області відновлення з резервної копії стрічки / поза сервером, а потім зареєструвати їх у rman, щоб їх використовувати.

Ось фактичний журнал сеансу, дещо змінений для шляху та ін.:

oracle@prodserver[PROD]$ rman target=/

Recovery Manager: Release 10.2.0.4.0 - Production on Wed Jan 5 21:00:00 2011

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: PROD (DBID=randomnumber)

RMAN> backup
2> as compressed backupset
3> database
4> include current controlfile
5> plus archivelog delete input;
6> backup spfile;
7> delete obsolete;
8>

Starting backup at 05-JAN-11
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=291 devtype=DISK
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=743 recid=743 stamp=739623589
input archive log thread=1 sequence=744 recid=744 stamp=739623940
input archive log thread=1 sequence=745 recid=745 stamp=739624712
input archive log thread=1 sequence=746 recid=746 stamp=739625380
input archive log thread=1 sequence=747 recid=747 stamp=739659606
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210008_6lb8kb4o_.bkp tag=TAG20110105T210008 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:26
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_743_6l95ckxx_.arc recid=743 stamp=739623589
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_744_6l95plo2_.arc recid=744 stamp=739623940
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_745_6l96gpok_.arc recid=745 stamp=739624712
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_746_6l973l32_.arc recid=746 stamp=739625380
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_747_6lb8k57v_.arc recid=747 stamp=739659606
Finished backup at 05-JAN-11

Starting backup at 05-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/u02/oradata/PROD/system01.dbf
input datafile fno=00005 name=/u02/oradata/PROD/software.dbf
input datafile fno=00003 name=/u02/oradata/PROD/sysaux01dbf
input datafile fno=00002 name=/u02/oradata/PROD/undotbs01.dbf
input datafile fno=00004 name=/u02/oradata/PROD/users.dbf
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnndf_TAG20110105T210135_6lb8n0y4_.bkp tag=TAG20110105T210135 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:45
channel ORA_DISK_1: starting compressed full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_ncsnf_TAG20110105T210135_6lb8qblm_.bkp tag=TAG20110105T210135 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 05-JAN-11

Starting backup at 05-JAN-11
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=748 recid=748 stamp=739659803
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_annnn_TAG20110105T210323_6lb8qf3l_.bkp tag=TAG20110105T210323 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
channel ORA_DISK_1: deleting archive log(s)
archive log filename=/u03/oraflash/PROD/archivelog/2011_01_05/o1_mf_1_748_6lb8qcrr_.arc recid=748 stamp=739659803
Finished backup at 05-JAN-11

Starting backup at 05-JAN-11
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 05-JAN-11
channel ORA_DISK_1: finished piece 1 at 05-JAN-11
piece handle=/u03/oraflash/PROD/backupset/2011_01_05/o1_mf_nnsnf_TAG20110105T210329_6lb8qlnm_.bkp tag=TAG20110105T210329 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 05-JAN-11

RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 5 days
using channel ORA_DISK_1
Deleting the following obsolete backups and copies:
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
Backup Set           55     30-DEC-10        
  Backup Piece       55     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp
Backup Set           56     30-DEC-10        
  Backup Piece       56     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp
Backup Set           57     30-DEC-10        
  Backup Piece       57     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp
Backup Set           58     30-DEC-10        
  Backup Piece       58     30-DEC-10          /u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp
Backup Set           59     31-DEC-10        
  Backup Piece       59     31-DEC-10          /u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnndf_TAG20101230T210026_6ktg9v8w_.bkp recid=55 stamp=739141227
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_ncsnf_TAG20101230T210026_6ktgdvnt_.bkp recid=56 stamp=739141323
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_annnn_TAG20101230T210204_6ktgdy5j_.bkp recid=57 stamp=739141326
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_30/o1_mf_nnsnf_TAG20101230T210210_6ktgf3pz_.bkp recid=58 stamp=739141331
deleted backup piece
backup piece handle=/u03/oraflash/PROD/backupset/2010_12_31/o1_mf_annnn_TAG20101231T210008_6kx2ob5r_.bkp recid=59 stamp=739227610
Deleted 5 objects


Recovery Manager complete.

1
У цей день і вік справді немає потреби навіть думати про холодні резервні копії. І в чому сенс гарячої резервної копії, якщо ви також не створюєте резервну копію заархівованих журналів повторень !?
Гай

Якщо потрібні додаткові подробиці, я би радий доопрацювати, інакше більшість статей про rman також обговорюють архівні резервні копії журналу. Це різниця між: "резервною базою даних" та "резервною базою даних плюс архівами", звичайно, усі додаткові зміни між ними.
REW

Будь ласка, виходьте зі своєю відповіддю!
Сатьядхіт Бхат

Дякую @REW за детальну відповідь, хочу, щоб я міг поставити вам +1 ще раз
Sathyajith Bhat

4

Переваги RMAN полягають у наступному:

  • Політика автоматичного зберігання резервного копіювання реалізована з використанням поняття Windows. Ви можете вказати, скільки днів слід зберігати ваші резервні копії, і вибрати політику для їх збереження: вони видаляються, як тільки вони закінчуються, або видаляються, якщо не залишається вільного місця для нових резервних копій.
  • Використання каналів для підвищення продуктивності під час запису на носії або використання декількох дискових контролерів
  • Легке відновлення - в основному ви просто перераховуєте наявні резервні копії та вказуєте, з якого ви хочете відновити базу даних
  • RMAN може зберігати свої метадані резервного копіювання у незалежній таблиці під назвою RMAN Repository, яка може вмістити дійсно велику кількість записів усіх виконаних резервних копій, на відміну від керуючого файлу
  • Ви можете вказати за замовчуванням кількість дублікатів резервного копіювання, крім того, останні можуть бути збережені на різних фізичних дисках (носіях)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.