Для большинства задач резервного копирования, настроек по умолчанию, таких как тип резервного копирования (диск или лента), количество каналов и степень параллелизма, вполне достаточно. Но для более сложных задач, может понадобиться дополнительно, настроить окружение RMAN. Сделать это можно двумя способами:
- Установить параметры конфигурации постоянными для всех сеансов RMAN.
- Изменить параметры только для определённого задания резервного копирования или восстановления.
Если используется каталог восстановления, можно так же установить различные настройки окружения для каждой из целевых баз данных, зарегистрированных в каталоге.
4-1. Просмотр параметров конфигурации RMAN
Для вывода текущих значений параметров конфигурации, в RMAN используется команда SHOW. Если требуется вывести значение только одного конкретного параметра, то для этого достаточно указать его имя сразу после ключевого слова этой команды:
RMAN> show controlfile autobackup; using target database control file instead of recovery catalog RMAN configuration parameters are: CONFIGURE CONTROLFILE AUTOBACKUP OFF;
Для вывода значений всех параметров RMAN, вместо имени параметра указывается ключевое слово ALL:
RMAN> show all; RMAN configuration parameters are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; CONFIGURE BACKUP OPTIMIZATION OFF; CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP OFF; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE SBT_TAPE TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DEVICE TYPE SBT_TAPE PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/u01/app/oracle/admin/orcl/backup)'; CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/10.2.0/db_1/dbs/snapcf_orcl.f'; # default
Как видно из листинга, RMAN осуществляет вывод значений параметров в формате команд конфигурации. Это очень удобно, если планируется использовать данную конфигурацию на другой базе данных. Слово # default в конце строки означает, что данное значение параметра является значением по умолчанию.
Ниже перечислены некоторые опции команды SHOW:
Опция | Описание |
---|---|
all | Показывает значения всех параметров |
archivelog deletion policy | Показывает политику удаления журнальных файлов. |
archivelog backup copies | Показывает число резервных копий журналов. |
auxname | Показывает имя вспомогательного экземпляра. |
backup optimization | Показывает использование оптимизации при резервном копировании. |
[auxiliary] channel | Показывает конфигурацию канала. |
channel for device type [disk | ] | Показывает характеристики канала. |
controlfile autobackup | Показывает, включено ли автоматическое копирование контрольного файла. |
controlfile autobackup format | Показывает формат автоматического копирования контрольного файла. |
datafile backup copies | Показывает число сохраняемых резервных копий файла данных. |
default device type | Показывает тип устройства по умолчанию. |
encryption algorithm | Показывает алгоритм шифрования, используемый в настоящее время. |
encryption for [database | tablespace] | Показывает шифрование для базы данных и каждого табличного пространства. |
exclude | Показывает табличные пространства, исключённые из резервного копирования. |
maxsetsize | Показывает максимальный размер для резервных наборов. Значение по умолчанию неограниченно. |
retention policy | Показывает политику удержания для резервных копий. |
snapshot controlfile name | Показывает снимок контрольного файла |
Для вывода значений параметров конфигурации RMAN команда SHOW запрашивает контрольный файл базы данных. Данные параметры всегда хранятся в этом файле независимо от того, используется ли каталог восстановления или нет. После того, как была произведена конфигурация окружения RMAN, настройки сохраняются в репозитарии контрольного файла, пока не будут изменены следующей командой конфигурации. Такое хранение требует, чтобы целевая база данных была смонтирована или открыта при выполнении команды SHOW.
Ниже перечислены самые важные из настроек отображаемые командой SHOW ALL:
- configure retention policy to redundancy 1 - RMAN сохраняет только один набор резервных копий.
- configure backup optimization off – оптимизация при резервном копировании выключена.
- configure default device type to disk - устройство по умолчанию для резервного копирования диск.
- configure controlfile autobackup off – автоматическое резервное копирование контрольного файла выключено.
- configure device type disk parallelism 1 backup type to backupset – по умолчанию для устройства резервного копирования диск включена степень параллелизма 1, и образующаяся резервная копия будет по умолчанию резервным набором.
- configure datafile backup copies for device type disk to 1 – по умолчанию RMAN делает одну копию файлов данных.
- configure maxsetsize to unlimited – по умолчанию максимальный размер резервного набора не определён.
- configure encryption for database off – по умолчанию режим шифрования базы данных при резервном копировании выключен.
Настройки не по умолчанию можно так же посмотреть в динамическом представлении V$RMAN_CONFIGURATION:
SQL> SELECT * FROM V$RMAN_CONFIGURATION; CONF# NAME VALUE ----- ---------------------- ------------------------------------------------ 1 RETENTION POLICY TO REDUNDANCY 1 2 CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/u01/app/oracle/admin/orcl/backup)' 3 CONTROLFILE AUTOBACKUP OFF 4 BACKUP OPTIMIZATION OFF
4-2. Конфигурирование RMAN
Любой из постоянных параметров конфигурации RMAN влияющих на резервное копирование и восстановление можно изменить, используя для этого команду конфигурации CONFIGURE:
RMAN> configure [ ];
Данную команду можно выполнить как из командной строки, тем самым изменив единственный параметр, так и объединив несколько команд конфигурации в блок RUN, что позволит изменить сразу несколько настроек:
RMAN> run 2> { 3> CONFIGURE RETENTION POLICY TO REDUNDANCY 1; 4> CONFIGURE BACKUP OPTIMIZATION OFF; 5> CONFIGURE DEFAULT DEVICE TYPE TO DISK; 6> } old RMAN configuration parameters: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; new RMAN configuration parameters: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; new RMAN configuration parameters are successfully stored old RMAN configuration parameters: CONFIGURE BACKUP OPTIMIZATION OFF; new RMAN configuration parameters: CONFIGURE BACKUP OPTIMIZATION OFF; new RMAN configuration parameters are successfully stored old RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO DISK; new RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO DISK; new RMAN configuration parameters are successfully stored
При выполнении команды CONFIGURE установленные значения параметров будут применяться ко всем следующим сеансам RMAN, пока не будут очищены или изменены этой же командой.
4-3. Восстановление значений параметров по умолчанию
Если команда конфигурации не будет явно использоваться, чтобы определить значение каких- либо параметров RMAN, то RMAN будет использовать для этих параметров значения по умолчанию. При использовании команды configure ... clear, можно возвратить изменённое значение отдельного параметра конфигурации в значение по умолчанию:
RMAN> configure backup optimization clear; old RMAN configuration parameters: CONFIGURE BACKUP OPTIMIZATION OFF; RMAN configuration parameters are successfully reset to default value
Данной командой невозможно очистить отдельные параметры, влияющие на определенный компонент RMAN. Например, если сконфигурирован канал с несколькими опциями, невозможно стереть отдельные опции командой configure ... clear, таким образом, следующая команда не выполниться:
RMAN> configure channel device type sbt maxpiecesize 100m clear; RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-00558: error encountered while parsing input commands RMAN-01009: syntax error: found "clear": expecting one of: "connect, debug, format, kbytes, maxopenfiles, maxpiecesize, parms, readrate, rate, ;, send, to, trace" RMAN-01007: at line 1 column 53 file: standard input RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-00558: error encountered while parsing input commands RMAN-01009: syntax error: found ";": expecting one of: "allocate, alter, backup, beginline, blockrecover, catalog, change, connect, copy, convert, create, crosscheck, configure, duplicate, debug, delete, drop, exit, endinline, flashback, host, {, library, list, mount, open, print, quit, recover, register, release, replace, report, renormalize, reset, restore, resync, rman, run, rpctest, set, setlimit, sql, switch, spool, startup, shutdown, send, show, test, transport, upgrade, unregister, validate" RMAN-01007: at line 1 column 58 file: standard input
Вместо неё можно использовать следующую команду:
RMAN> configure channel device type sbt clear; old RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/u01/app/oracle/admin/orcl/backup)'; old RMAN configuration parameters are successfully deleted
4-4. Включение и выключение автоматического резервирования контрольного файла
Изменения, помещаемые RMAN в контрольный файл и содержание инициализационного файла параметров, могут критично влиять на возможность восстановления базы данных. Для того чтобы не потерять эту важную информацию, в RMAN имеется возможность автоматического резервного сохранения этих двух файлов при операциях резервного копирования. Включить такой режим можно следующей командой:
RMAN> configure controlfile autobackup on; old RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP OFF; new RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP ON; new RMAN configuration parameters are successfully stored
Выключить:
RMAN> configure controlfile autobackup off; old RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP ON; new RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP OFF; new RMAN configuration parameters are successfully stored
или сбросить значение параметра в режим по умолчанию:
RMAN> configure controlfile autobackup clear; old RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP ON; RMAN configuration parameters are successfully reset to default value
По умолчанию автоматическое резервное копирование контрольного файла отключено. Но даже тогда, когда эта опция отключена RMAN всегда сохранит контрольный файл и файл параметров в случаях резервного копирования, затрагивающих файл данных 1, принадлежащий целевой базе данных. Данный файл является частью системной области, которая содержит словарь базы данных.
Oracle рекомендует, чтобы режим автоматического сохранения контрольного файла был включен, если не используется каталог восстановления.
При включенном режиме RMAN поддержит автоматическое сохранение контрольного файла в следующих случаях:
- При успешном завершении команд BACKUP или COPY.
- После того как из командной строки RMAN выполнена команда CREATE CATALOG.
- При любых структурных изменениях базы данных модифицирующих содержимое контрольного файла.
Резервируемые файлы сохраняются в отдельный резервный набор.
Что касается последнего случая, то здесь необходимо уточнить, что любые изменения в физической структуре базы данных, даже если они делаются, к примеру, через SQL*Plus инициируют автоматическое сохранение контрольного файла. Эти изменения могут включать в себя, например добавление табличного пространства или файла данных, удаление файла данных, переключение табличного пространства в офлайн или онлайн, добавление оперативного журнала, переименование файла данных и т.д. После того как изменение произошло, серверный процессc Oracle (не процесс RMAN) автоматически создаст копию контрольного файла и двоичного файла инициализационных параметров (spfile).
Почему необходимо автоматически поддерживать контрольный файл после изменений структуры базы данных? Как только автоматическое резервирование контрольного файла будет включено, RMAN может восстановить базу данных, даже если текущий файл управления, каталог восстановления, и файл параметра сервера будут недоступны.
Следующие шаги демонстрируют этапы этого восстановления:
- Вначале RMAN восстановит серверный файл параметров из местоположения, где он был сохранён автоматически.
- Затем RMAN запустит экземпляр базы данных, используя этот файл параметров.
- Потом восстанавливается контрольный файл из того же местоположения, где и файл параметров.
- Как только контрольный файл смонтировался, RMAN будет соединяться с целевой базой данных в nocatalog режиме и использовать репозитарий RMAN из контрольного файла, чтобы восстановить файлы данных и базу данных.
- Здесь можно создать новый каталог восстановления и зарегистрировать в нём целевые базы данных.
- RMAN скопирует все записи репозитария RMAN из контрольных файлов целевых баз данных в новый каталог восстановления.
Эта последовательность восстановления показывает важность конфигурирования автоматического резервирования контрольного файла.
4-5. Определение каталога и имени файла при автоматическом резервировании контрольного файла
Если контрольный файл или файл параметров инициализации утеряны, RMAN может легко восстановить базу данных в случае включенного режима автосохранения этих файлов. По умолчанию, при включенной флэш-области восстановления, RMAN сохраняет резервные копии этих файлов в данную область. Когда область отключена, RMAN записывает копии в зависящее от операционной системы специфическое местоположение ($ORACLE_HOME/dbs для Unix и %ORACLE_HOME %\database для Windows). Местоположение можно переопределить, используя для этого команду конфигурирования:
RMAN> configure controlfile autobackup format for device type disk to '/u01/app/oracle/admin/orcl/backup_%F'; old RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; new RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/app/oracle/admin/orcl/backup_%F'; new RMAN configuration parameters are successfully stored
Определяя имя файла, следует включать переменную %F в имя файла. Её использование позволяет получить уникальную комбинацию, состоящую из ID базы данных, дня, месяца, года и последовательности, что не позволит затереть более старые копии.
Для получения путей местоположения по умолчанию, достаточно очистить параметр следующей командой:
RMAN> configure controlfile autobackup format for device type disk clear; old RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO
'/u01/app/oracle/admin/orcl/backup_%F'; RMAN configuration parameters are successfully reset to default value
4-6. Определение имени и местоположения снимка контрольного файла
В случаях ресинхронизации с каталогом восстановления и при резервном копировании контрольного файла, RMAN требуется для чтения консистентная версия контрольного файла. Чтобы обеспечить непротиворечивость данных, RMAN создаёт временную резервную копию контрольного файла, называемую снимком контрольного файла (snapshot control file).В целях защиты RMAN позволяет одновременно работать с файлом полученного снимка только одному сеансу.Местоположение по умолчанию и имя файла снимка зависят от используемой операционной системы. В Windows таким местоположением является каталог ORACLE_HOME/database, и имя файла имеет форму SNCF .ORA. На Unix каталог $ORACLE_HOME/dbs, и имя файла snapcf _ .f.RMAN использует каталог по умолчанию для снимка независимо от того была ли сконфигурирована флэш-область восстановления.Имеется возможность переопределить имя и местоположение файла снимка контрольного файла с помощью команды конфигурации. Для этого надо добавить в команду опцию snapshot controlfile to:RMAN> configure snapshot controlfile name to '/u01/app/oracle/admin/orcl/backup/control.ctl'; using target database control file instead of recovery catalog snapshot control file name set to: /u01/app/oracle/admin/orcl/backup/control.ctl new RMAN configuration parameters are successfully storedСледующая команда сбрасывает имя и местоположение файла снимка в значение по умолчанию:RMAN> configure snapshot controlfile name clear; RMAN configuration parameters are successfully reset to default valueДля просмотра местоположения и имени снимка используется команда SHOW:RMAN> show snapshot controlfile name; RMAN configuration parameters are: CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/admin/orcl/backup/control.ctl';4-7. Определение периода хранения истории RMAN
Если в качестве репозитория RMAN используется контрольный файл, то Oracle определяет минимальный отрезок времени, по истечении которого история RMAN будет перезаписана. Этот отрезок времени определяется параметром инициализации control_file_record_keep_time и может быть изменён. В следующем примере, период времени хранения истории RMAN устанавливается равным 15 дням:SQL> alter system set control_file_record_keep_time=15; System altered.Параметр определяет, что все допускающие повторное использование записи в контрольном файле будут сохраняться 15 дней прежде, чем они будут перезаписаны.Контрольный файл содержит два типа разделов: допускающий повторное использование и не допускающий повторное использование. Параметр control_file_ record_keep_time применяется только к допускающему повторное использование разделу. Если RMAN должен добавить записи нового резервного копирования и связанные с восстановлением записи в контрольный файл, перезаписываются любые записи, которые истекли согласно параметру control_file_record_keep_time. Если таких записей нет, допускающий повторное использование раздел контрольного файла расширяется.Значение по умолчанию для параметра control_file_record_keep_time составляет семь дней. Диапазон значений от 0 до 365 дней. Если параметр обнуляется, то допускающие повторное использование разделы контрольного файла расширяться не будут, и когда записей в разделе хватать не будет, база данных начнёт перезаписывать существующие записи.База данных Oracle записывает всю информацию о резервном копировании RMAN в контрольном файле, независимо от того используется ли каталог восстановления или нет. Если нет никаких ограничений на количество дней, в течение которых информация может быть сохранена, контрольный файл будет расти без предела. Чтобы избежать этого, Oracle перезаписывает записи, которые старше указанного порога. То есть, если для параметра будет выбрано значение по умолчанию, то любые записи старше семи дней будут перезаписаны Oracle. Если таких записей нет, контрольный файл будет расширен. При этом если имеется пространственное ограничение на расширение контрольного файла, то записи будут перезаписываться независимо от того какое значение указано в параметре control_file_record_keep_time.Параметр control_file_record_keep_time управляет перезаписью только циклических допускающих повторное использование записей (записи архивных журналов и записи резервного копирования). Он не имеет никакого отношения к записям контрольного файла, касающихся файлов данных, табличных пространств, и потоков восстановления, которые снова используются только после того, как соответствующий объект удаляется из базы данных.Посмотреть общую информацию о разделах записей контрольного файла можно в представлении V$CONTROLFILE_RECORD_SECTION:SQL> SELECT * FROM v$controlfile_record_section TYPE RECORD_SIZE RECORDS_TOTAL RECORDS_USED FIRST_INDEX LAST_INDEX LAST_RECID ---------------------------- ----------- ------------- ------------ ----------- ---------- ---------- DATABASE 316 1 1 0 0 0 CKPT PROGRESS 8180 11 0 0 0 0 REDO THREAD 256 8 1 0 0 0 REDO LOG 72 16 16 0 0 6 DATAFILE 428 100 5 0 0 120 FILENAME 524 2298 10 0 0 0 TABLESPACE 68 100 6 0 0 2 TEMPORARY FILENAME 56 100 1 0 0 1 RMAN CONFIGURATION 1108 50 17 0 0 115 LOG HISTORY 56 292 88 1 88 88 OFFLINE RANGE 200 163 1 1 1 1 ARCHIVED LOG 584 56 54 38 35 91 BACKUP SET 40 409 148 1 148 148 BACKUP PIECE 736 200 163 1 163 163 BACKUP DATAFILE 116 282 282 25 24 306 BACKUP REDOLOG 76 215 94 1 94 94 DATAFILE COPY 660 223 53 1 53 53 BACKUP CORRUPTION 44 371 0 0 0 0 COPY CORRUPTION 40 409 0 0 0 0 DELETED OBJECT 20 818 530 1 530 530 PROXY COPY 852 249 0 0 0 0 BACKUP SPFILE 36 454 63 1 63 63 DATABASE INCARNATION 56 292 3 1 3 3 FLASHBACK LOG 84 2048 0 0 0 0 RECOVERY DESTINATION 180 1 1 0 0 0 INSTANCE SPACE RESERVATION 28 1055 1 0 0 0 REMOVABLE RECOVERY FILES 32 1000 0 0 0 0 RMAN STATUS 116 141 141 116 115 1102 THREAD INSTANCE NAME MAPPING 80 8 8 0 0 0 MTTR 100 8 1 0 0 0 DATAFILE HISTORY 568 57 0 0 0 0 STANDBY DATABASE MATRIX 400 10 10 0 0 0 GUARANTEED RESTORE POINT 212 2048 0 0 0 0 RESTORE POINT 212 2083 2 1 2 24-8. Конфигурирования типа устройства по умолчанию
По умолчанию, типом устройства для всех автоматических каналов является диск. Однако можно использовать команду CONFIGURE с опцией DEFAULT DEVICE TYPE, чтобы таким устройством стал накопитель на магнитной ленте:RMAN> configure default device type to sbt; old RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO DISK; new RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; new RMAN configuration parameters are successfully storedДля того чтобы использовать типом устройства по умолчанию снова диск, достаточно очистить значение этого параметра следующей командой:RMAN> configure default device type clear; old RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; RMAN configuration parameters are successfully reset to default valueИли явно задать для параметра значение disk:RMAN> configure default device type to disk; new RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO DISK; new RMAN configuration parameters are successfully storedМожно переопределить тип устройства RMAN по умолчанию непосредственно в команде резервного копирования. В следующем примере первая команда осуществляет резервирование на магнитную ленту, вторая на диск:RMAN> backup device type sbt database; Starting backup at 21-SEP-12 released channel: ORA_DISK_1 using channel ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: starting full datafile backupset channel ORA_SBT_TAPE_1: specifying datafile(s) in backupset input datafile fno=00001 name=/u02/oradata/orcl/system01.dbf input datafile fno=00003 name=/u02/oradata/orcl/sysaux01.dbf input datafile fno=00002 name=/u02/oradata/orcl/undotbs01.dbf input datafile fno=00005 name=/u02/oradata/orcl/example01.dbf input datafile fno=00004 name=/u02/oradata/orcl/users01.dbf channel ORA_SBT_TAPE_1: starting piece 1 at 21-SEP-12 channel ORA_SBT_TAPE_1: finished piece 1 at 21-SEP-12 piece handle=77nlol9d_1_1 tag=TAG20120921T124429 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:45 channel ORA_SBT_TAPE_1: starting full datafile backupset channel ORA_SBT_TAPE_1: specifying datafile(s) in backupset including current control file in backupset including current SPFILE in backupset channel ORA_SBT_TAPE_1: starting piece 1 at 21-SEP-12 channel ORA_SBT_TAPE_1: finished piece 1 at 21-SEP-12 piece handle=78nlolar_1_1 tag=TAG20120921T124429 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:03 Finished backup at 21-SEP-12 RMAN> backup device type disk database; Starting backup at 24-SEP-12 released channel: ORA_SBT_TAPE_1 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00001 name=/u02/oradata/orcl/system01.dbf input datafile fno=00003 name=/u02/oradata/orcl/sysaux01.dbf input datafile fno=00002 name=/u02/oradata/orcl/undotbs01.dbf input datafile fno=00005 name=/u02/oradata/orcl/example01.dbf input datafile fno=00004 name=/u02/oradata/orcl/users01.dbf channel ORA_DISK_1: starting piece 1 at 24-SEP-12 channel ORA_DISK_1: finished piece 1 at 24-SEP-12 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_nnndf_TAG20120 924T094450_85zwtmbc_.bkp tag=TAG20120924T094450 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:01:26 channel ORA_DISK_1: starting 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 24-SEP-12 channel ORA_DISK_1: finished piece 1 at 24-SEP-12 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_ncsnf_TAG20120 924T094450_85zwxcs2_.bkp tag=TAG20120924T094450 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 24-SEP-12Когда запускается команда резервного копирования, RMAN всегда выделяет для неё каналы с типом устройства по умолчанию. Например, если сконфигурированы автоматические каналы для диска и ленты (sbt), но тип устройства по умолчанию установлен в диск, при выполнении команды, RMAN выделит для задания резервного копирования только дисковый канал, а не канал sbt. Следующий пример иллюстрирует это:RMAN> configure channel device type 'sbt' parms 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/u01/app/oracle/admin/orcl/backup)'; old RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/u01/app/oracle/admin/orcl/backup)'; new RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/u01/app/oracle/admin/orcl/backup)'; new RMAN configuration parameters are successfully stored released channel: ORA_DISK_1 released channel: ORA_SBT_TAPE_1 RMAN> configure default device type to sbt; old RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO DISK; new RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; new RMAN configuration parameters are successfully stored RMAN> backup archivelog all; Starting backup at 24-SEP-12 current log archived released channel: ORA_DISK_1 allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: sid=145 devtype=SBT_TAPE channel ORA_SBT_TAPE_1: WARNING: Oracle Test Disk API channel ORA_SBT_TAPE_1: starting archive log backupset channel ORA_SBT_TAPE_1: specifying archive log(s) in backup set input archive log thread=1 sequence=30 recid=82 stamp=778071172 input archive log thread=1 sequence=31 recid=83 stamp=794829053 input archive log thread=1 sequence=32 recid=84 stamp=794829212 input archive log thread=1 sequence=33 recid=85 stamp=794829231 input archive log thread=1 sequence=34 recid=86 stamp=794829459 input archive log thread=1 sequence=35 recid=87 stamp=794829688 channel ORA_SBT_TAPE_1: starting piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: finished piece 1 at 24-SEP-12 piece handle=7bnm08ro_1_1 tag=TAG20120924T100128 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:02 Finished backup at 24-SEP-12 RMAN> backup device type disk database; Starting backup at 24-SEP-12 released channel: ORA_SBT_TAPE_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=145 devtype=DISK channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset …Первая команда конфигурирует канал для накопителя на магнитной ленте (sbt). Вторая команда устанавливает тип устройства по умолчанию (sbt). Третья команда резервирует архивные журналы через канал с типом устройства по умолчанию (sbt), который был установлен второй командой. Наконец, последняя команда резервирует базу данных на диск, а не на накопитель на магнитной ленте, который является типом устройства по умолчанию (устанавливается второй командой). Таким образом, последняя команда переопределяет установку типа устройства по умолчанию sbt.Переопределить тип устройства по умолчанию, можно и задавая вручную выделение канала в пределах блока RUN:RMAN> run 2> { 3> allocate channel c1 device type disk maxpiecesize 1G; 4> backup database plus archivelog; 5> } released channel: ORA_DISK_1 released channel: ORA_SBT_TAPE_1 allocated channel: c1 channel c1: sid=145 devtype=DISK Starting backup at 24-SEP-12 current log archived channel c1: starting archive log backupset channel c1: specifying archive log(s) in backup set input archive log thread=1 sequence=30 recid=82 stamp=778071172 input archive log thread=1 sequence=31 recid=83 stamp=794829053 input archive log thread=1 sequence=32 recid=84 stamp=794829212 input archive log thread=1 sequence=33 recid=85 stamp=794829231 input archive log thread=1 sequence=34 recid=86 stamp=794829459 input archive log thread=1 sequence=35 recid=87 stamp=794829688 input archive log thread=1 sequence=36 recid=88 stamp=794830160 channel c1: starting piece 1 at 24-SEP-12 channel c1: finished piece 1 at 24-SEP-12 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_annnn_TAG20120 924T100920_85zy8khd_.bkp tag=TAG20120924T100920 comment=NONE channel c1: backup set complete, elapsed time: 00:00:02 Finished backup at 24-SEP-12 Starting backup at 24-SEP-12 channel c1: starting full datafile backupset channel c1: specifying datafile(s) in backupset input datafile fno=00001 name=/u02/oradata/orcl/system01.dbf input datafile fno=00003 name=/u02/oradata/orcl/sysaux01.dbf input datafile fno=00002 name=/u02/oradata/orcl/undotbs01.dbf input datafile fno=00005 name=/u02/oradata/orcl/example01.dbf input datafile fno=00004 name=/u02/oradata/orcl/users01.dbf channel c1: starting piece 1 at 24-SEP-12 channel c1: finished piece 1 at 24-SEP-12 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_nnndf_TAG20120 924T100922_85zy8lrw_.bkp tag=TAG20120924T100922 comment=NONE channel c1: backup set complete, elapsed time: 00:00:35 channel c1: starting full datafile backupset channel c1: specifying datafile(s) in backupset including current control file in backupset including current SPFILE in backupset channel c1: starting piece 1 at 24-SEP-12 channel c1: finished piece 1 at 24-SEP-12 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_ncsnf_TAG20120 924T100922_85zy9q7s_.bkp tag=TAG20120924T100922 comment=NONE channel c1: backup set complete, elapsed time: 00:00:03 Finished backup at 24-SEP-12 Starting backup at 24-SEP-12 current log archived channel c1: starting archive log backupset channel c1: specifying archive log(s) in backup set input archive log thread=1 sequence=37 recid=89 stamp=794830200 channel c1: starting piece 1 at 24-SEP-12 channel c1: finished piece 1 at 24-SEP-12 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_annnn_TAG20120 924T101000_85zy9sx7_.bkp tag=TAG20120924T101000 comment=NONE channel c1: backup set complete, elapsed time: 00:00:02 Finished backup at 24-SEP-12 released channel: c1В данном примере резервное копирование будет выполнено на диск, несмотря на то, что устройством по умолчанию была определена лента.Переопределение типа устройства по умолчанию может сделать процесс резервного копирование гибче:RMAN> run 2> { 3> backup database plus archivelog; 4> backup device type sbt backupset all; 5> } Starting backup at 24-SEP-12 current log archived released channel: ORA_SBT_TAPE_1 using channel ORA_DISK_1 channel ORA_DISK_1: starting archive log backupset channel ORA_DISK_1: specifying archive log(s) in backup set input archive log thread=1 sequence=30 recid=82 stamp=778071172 input archive log thread=1 sequence=31 recid=83 stamp=794829053 input archive log thread=1 sequence=32 recid=84 stamp=794829212 input archive log thread=1 sequence=33 recid=85 stamp=794829231 input archive log thread=1 sequence=34 recid=86 stamp=794829459 input archive log thread=1 sequence=35 recid=87 stamp=794829688 input archive log thread=1 sequence=36 recid=88 stamp=794830160 input archive log thread=1 sequence=37 recid=89 stamp=794830200 input archive log thread=1 sequence=38 recid=90 stamp=794830462 channel ORA_DISK_1: starting piece 1 at 24-SEP-12 channel ORA_DISK_1: finished piece 1 at 24-SEP-12 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_annnn_TAG20120 924T101422_85zyl069_.bkp tag=TAG20120924T101422 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 24-SEP-12 Starting backup at 24-SEP-12 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backupset channel ORA_DISK_1: specifying datafile(s) in backupset input datafile fno=00001 name=/u02/oradata/orcl/system01.dbf input datafile fno=00003 name=/u02/oradata/orcl/sysaux01.dbf input datafile fno=00002 name=/u02/oradata/orcl/undotbs01.dbf input datafile fno=00005 name=/u02/oradata/orcl/example01.dbf input datafile fno=00004 name=/u02/oradata/orcl/users01.dbf channel ORA_DISK_1: starting piece 1 at 24-SEP-12 channel ORA_DISK_1: finished piece 1 at 24-SEP-12 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_nnndf_TAG20120 924T101425_85zyl1g8_.bkp tag=TAG20120924T101425 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35 channel ORA_DISK_1: starting 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 24-SEP-12 channel ORA_DISK_1: finished piece 1 at 24-SEP-12 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_ncsnf_TAG20120 924T101425_85zym5ph_.bkp tag=TAG20120924T101425 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 24-SEP-12 Starting backup at 24-SEP-12 current log archived using channel ORA_DISK_1 channel ORA_DISK_1: starting archive log backupset channel ORA_DISK_1: specifying archive log(s) in backup set input archive log thread=1 sequence=39 recid=91 stamp=794830502 channel ORA_DISK_1: starting piece 1 at 24-SEP-12 channel ORA_DISK_1: finished piece 1 at 24-SEP-12 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_annnn_TAG20120 924T101502_85zym81s_.bkp tag=TAG20120924T101502 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02 Finished backup at 24-SEP-12 Starting backup at 24-SEP-12 released channel: ORA_DISK_1 allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: sid=145 devtype=SBT_TAPE channel ORA_SBT_TAPE_1: WARNING: Oracle Test Disk API input backupset count=242 stamp=794830463 creation_time=24-SEP-12 channel ORA_SBT_TAPE_1: starting piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_annnn_TAG20120924T101 422_85zyl069_.bkp piece handle=7inm09jv_1_2 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: finished piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:01 input backupset count=243 stamp=794830465 creation_time=24-SEP-12 channel ORA_SBT_TAPE_1: starting piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_nnndf_TAG20120924T101 425_85zyl1g8_.bkp piece handle=7jnm09k1_1_2 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: finished piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:25 input backupset count=244 stamp=794830500 creation_time=24-SEP-12 channel ORA_SBT_TAPE_1: starting piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_ncsnf_TAG20120924T101 425_85zym5ph_.bkp piece handle=7knm09l4_1_2 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: finished piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:01 input backupset count=245 stamp=794830503 creation_time=24-SEP-12 channel ORA_SBT_TAPE_1: starting piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2012_09_24/o1_mf_annnn_TAG20120924T101 502_85zym81s_.bkp piece handle=7lnm09l7_1_2 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: finished piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:01 Finished backup at 24-SEP-12В приведённом примере первая команда выполняется резервное копирование на устройство по умолчанию (диск). Вторая команда выполняет копирование полученных резервных наборов на ленту, для большей сохранности.Стоит отметить, что переопределение типа устройства по умолчанию имеет значение только при выполнении процесса резервного копирования. Команда восстановления выделяет каналы обоих сконфигурированных типов устройств, независимо от того какое из них было определенно по умолчанию. При этом RMAN ищет пути для восстановления файлов как из копий на диске, так и из резервных копий находящихся на ленте.4-9. Конфигурирование типа резервирования по умолчанию
По умолчанию типом резервного копирования в RMAN, в не зависимости от того осуществляется резервное копирование на диск или ленту, является резервный набор. При необходимости можно изменить тип резервирования по умолчанию с резервного набора на копию- отображение с помощью следующей команды:RMAN> configure device type disk backup type to copy; using target database control file instead of recovery catalog old RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; new RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY PARALLELISM 1; new RMAN configuration parameters are successfully storedДля возвращения оригинальной установки типа резервирования по умолчанию RMAN досточно выполнить любую из двух приведённых ниже команд:RMAN> configure device type disk clear; old RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY PARALLELISM 1; RMAN configuration parameters are successfully reset to default valueилиRMAN> configure device type disk backup type to backupset; old RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COPY PARALLELISM 1; new RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM 1; new RMAN configuration parameters are successfully storedСтоит отметить, что если установлен тип резервирования по умолчанию как копия- отображение, а резервирование осуществляется на магнитную ленту, то резервная копия всегда будет получаться только в формате резервного набора:RMAN> configure default device type to sbt; new RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; new RMAN configuration parameters are successfully stored released channel: ORA_DISK_1 RMAN> backup database; Starting backup at 24-SEP-12 allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: sid=141 devtype=SBT_TAPE channel ORA_SBT_TAPE_1: WARNING: Oracle Test Disk API channel ORA_SBT_TAPE_1: starting full datafile backupset channel ORA_SBT_TAPE_1: specifying datafile(s) in backupset input datafile fno=00001 name=/u02/oradata/orcl/system01.dbf input datafile fno=00003 name=/u02/oradata/orcl/sysaux01.dbf input datafile fno=00002 name=/u02/oradata/orcl/undotbs01.dbf input datafile fno=00005 name=/u02/oradata/orcl/example01.dbf input datafile fno=00004 name=/u02/oradata/orcl/users01.dbf channel ORA_SBT_TAPE_1: starting piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: finished piece 1 at 24-SEP-12 piece handle=7vnm0ddd_1_1 tag=TAG20120924T111909 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:35 channel ORA_SBT_TAPE_1: starting full datafile backupset channel ORA_SBT_TAPE_1: specifying datafile(s) in backupset including current control file in backupset including current SPFILE in backupset channel ORA_SBT_TAPE_1: starting piece 1 at 24-SEP-12 channel ORA_SBT_TAPE_1: finished piece 1 at 24-SEP-12 piece handle=80nm0deg_1_1 tag=TAG20120924T111909 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:03 Finished backup at 24-SEP-124-10. Создание сжатых резервных наборов по умолчанию
По умолчанию, все резервные копии RMAN делаются в несжатом формате. Однако можно сконфигурировать RMAN так, что при резервировании будут создаваться сжатые резервные наборы, причём не важно в каком месте, на диске или ленте. Следующая команда RMAN конфигурирует сжатое резервное копирование на диск:RMAN> configure device type disk backup type to compressed backupset; using target database control file instead of recovery catalog new RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1; new RMAN configuration parameters are successfully storedИ на ленту:RMAN> configure device type sbt backup type to compressed backupset; new RMAN configuration parameters: CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1; new RMAN configuration parameters are successfully storedДля того чтобы вернуться к несжатому резервному набору по умолчанию, достаточно в вышеприведённых командах опустить ключевое слово compressed:RMAN> configure device type disk backup type to backupset; old RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1; new RMAN configuration parameters: CONFIGURE DEVICE TYPE DISK BACKUP TYPE TO BACKUPSET PARALLELISM 1; new RMAN configuration parameters are successfully storedRMAN использует бинарное сжатие для резервных сжатых наборов. Это позволяет уменьшить передаваемый трафик по сети в момент резервного копирования. К тому же, когда идёт восстановление из сжатого резервного набора, нет необходимости предварительно распаковывать его, всё происходит на «лету». Это сильно экономит время, в отличии от упаковщиков операционной системы.Для версии Oracle 11G функция сжатия не ограничивается использованием только одного алгоритма. Можно запросить представление V$RMAN_COMPRESSION_ALGORITHM для просмотра доступных алгоритмов сжатия:SQL> select algorithm_name, algorithm_description, is_default from v$rman_compression_algorithm; ALGORITHM_NAME ALGORITHM_DESCRIPTION IS_DEFAULT -------------- ------------------------------------------- ---------- BZIP2 good compression ratio NO BASIC good compression ratio YES LOW maximum possible compression speed NO ZLIB balance between speed and compression ratio NO MEDIUM balance between speed and compression ratio NO HIGH maximum possible compression ratio NOКак видно, алгоритм BZIP2 обеспечивает хорошее сжатие но меньшую скорость. В то же время алгоритм ZLIB обеспечиватет баланс между скоростью и сжатием.Посмотреть используемый текущий алгоритм сжатия можно с помощью следующей команды:RMAN> show compression algorithm; RMAN configuration parameters for database with db_unique_name ORCL are: CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # defaultВ версии 11.2 это базовый алгоритм BASIC не требующий опции Advanced Compression.4-11. Конфигурация множественных резервных копий
В процессе резервного копирования, RMAN создаёт на одном устройстве части резервного набора в единственном экземпляре. Это режим по умолчанию. Однако в RMAN имеется возможность записи частей резервного набора сразу в несколько копий.Следующая команда определяет, что при резервном копировании (архивные журналы, файлы данных, контрольные файлы) на диск должны быть сделаны две копии частей резервного набора: RMAN> configure datafile backup copies for device type disk to 2;new RMAN configuration parameters: CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2; new RMAN configuration parameters are successfully stored RMAN> configure archivelog backup copies for device type disk to 2; new RMAN configuration parameters: CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 2; new RMAN configuration parameters are successfully storedТо же самое можно определить и для резервного копирования на ленту:RMAN> configure datafile backup copies for device type sbt to 2; new RMAN configuration parameters: CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' TO 2; new RMAN configuration parameters are successfully storedЕсли требуется, чтобы копии частей резервного набора писались не на одно физическое устройство, а на несколько (для большей надёжности), то можно сконфигурировать дисковый канал соответствующим образом, указав эти устройства в команде конфигурации. В результате копии резервных частей будут записаны через дисковый канал сразу в несколько мест (устройств). В следующем примере дисковый канал конфигурируется так, что при резервном копировании каждая копия части резервного набора помещается в отдельный каталог:RMAN> configure channel device type disk format '/backup1/%U','/backup2/%U'; new RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup1/%U', '/backup2/%U'; new RMAN configuration parameters are successfully storedВыполним резервное копирование:RMAN> backup database; Starting backup at 06-JAN-13 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=1 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=00001 name=/u02/oradata/orcl/system01.dbf input datafile file number=00002 name=/u02/oradata/orcl/sysaux01.dbf input datafile file number=00005 name=/u02/oradata/orcl/example01.dbf input datafile file number=00003 name=/u02/oradata/orcl/undotbs01.dbf input datafile file number=00004 name=/u02/oradata/orcl/users01.dbf channel ORA_DISK_1: starting piece 1 at 06-JAN-13 channel ORA_DISK_1: finished piece 1 at 06-JAN-13 with 2 copies and tag TAG20130106T210251 piece handle=/backup1/04nuovbr_1_1 comment=NONE piece handle=/backup2/04nuovbr_1_2 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:56 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 06-JAN-13 channel ORA_DISK_1: finished piece 1 at 06-JAN-13 with 2 copies and tag TAG20130106T210251 piece handle=/backup1/05nuovdj_1_1 comment=NONE piece handle=/backup2/05nuovdj_1_2 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 06-JAN-13Как видно, при выполнении команды BACKUP вначале были получены две копии первого резервного набора. Одна копия была помещена в каталог /backup1, вторая в /backup2. Затем были получены две копии второй резервного набора, которые были помещены в те же каталоги.Для ленточного канала, если поддерживается версия 2 SBT API, RMAN автоматически поместит каждую копию на отдельную ленту.В качестве каталога назначения множественных резервных копий нельзя использовать флэш- область восстановления.Множественные резервные копии можно получить только из резервных наборов. Нельзя получить множественные копии сразу для нескольких копий-отображения. Для начала надо создать одну копию-отображение, и только лишь потом из неё можно будет сделать сразу несколько копий.Для проверки конфигурации RMAN на предмет установки множественных резервных копий, можно использовать следующие команды.Для файлов данных:RMAN> show datafile backup copies; RMAN configuration parameters for database with db_unique_name ORCL are: CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2; CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE 'SBT_TAPE' TO 2;Для архивных журнальных файлов:RMAN> show archivelog backup copies; RMAN configuration parameters for database with db_unique_name ORCL are: CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 2; CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE SBT_TAPE TO 1; # default4-12. Пропуск ранее скопированных в файлов
Резервное копирование большой по объёму базы данных может занимать довольно значительное время. Если имеются ранее сделанные резервные копии файлов данных, то этот промежуток времени можно сильно сократить, осуществив пропуск этих файлов в процессе резервного копирования. Реализацию этого механизма в RMAN организует функция оптимизации резервного копирования (backup optimization). По умолчанию она выключена. Её включение осуществляется следующей командой:RMAN> configure backup optimization on; new RMAN configuration parameters: CONFIGURE BACKUP OPTIMIZATION ON; new RMAN configuration parameters are successfully storedОптимизация применяется к трем типам файлов: файлам данных, архивным журналам и резервным наборам. Для того что бы оптимизация заработала, должны быть соблюдены следующие условия:
- Должны выполняться команды BACKUP DATABASE и BACKUP ARCHIVELOG с опциями ALL или LIKE, BACKUP BACKUPSET с опцией ALL, BACKUP RECOVERY AREA, BACKUP RECOVERY FILES и BACKUP DATAFILECOPY.
- Все каналы для команд резервного копирования должны иметь один и тот же тип.
Для примера, выполним резервное копирование архивных журнальных файлов:
RMAN> backup archivelog all; Starting backup at 12-MAR-13 current log archived using channel ORA_DISK_1 channel ORA_DISK_1: starting archived log backup set channel ORA_DISK_1: specifying archived log(s) in backup set input archived log thread=1 sequence=20 RECID=14 STAMP=809884374 input archived log thread=1 sequence=21 RECID=15 STAMP=809884377 input archived log thread=1 sequence=22 RECID=16 STAMP=809884398 channel ORA_DISK_1: starting piece 1 at 12-MAR-13 channel ORA_DISK_1: finished piece 1 at 12-MAR-13 piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_03_12/o1_mf_annnn_TAG201 30312T155318_8my5sgsp_.bkp tag=TAG20130312T155318 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 12-MAR-13
Было скопировано три файла с sequence от 20 до 21. Переключим несколько раз текущий журнал и снова выполним ту же команду:
SQL> alter system archive log current; System altered. SQL> alter system archive log current; System altered. RMAN> backup archivelog all; Starting backup at 12-MAR-13 current log archived using channel ORA_DISK_1 skipping archived logs of thread 1 from sequence 20 to 22; already backed up channel ORA_DISK_1: starting archived log backup set channel ORA_DISK_1: specifying archived log(s) in backup set input archived log thread=1 sequence=23 RECID=17 STAMP=809884497 input archived log thread=1 sequence=24 RECID=18 STAMP=809884501 input archived log thread=1 sequence=25 RECID=19 STAMP=809884569 channel ORA_DISK_1: starting piece 1 at 12-MAR-13 channel ORA_DISK_1: finished piece 1 at 12-MAR-13 piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_03_12/o1_mf_annnn_TAG201 30312T155609_8my5ysxl_.bkp tag=TAG20130312T155609 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 12-MAR-13
Как видно, RMAN пропустил сохранённые ранее в другом наборе архивные журналы с sequence от 20 до 22, и добавил новые с sequence от 23 до 25.
Если пропуск файлов осуществлять не нужно, а оптимизация включена, то на время определённого RMAN сеанса её можно выключить. Для этого в команде резервного копирования необходимо устанавить опцию force. Пропуск файлов при этом осуществляться не будет:
RMAN> backup archivelog all force; Starting backup at 12-MAR-13 current log archived using channel ORA_DISK_1 channel ORA_DISK_1: starting archived log backup set channel ORA_DISK_1: specifying archived log(s) in backup set input archived log thread=1 sequence=20 RECID=14 STAMP=809884374 input archived log thread=1 sequence=21 RECID=15 STAMP=809884377 input archived log thread=1 sequence=22 RECID=16 STAMP=809884398 input archived log thread=1 sequence=23 RECID=17 STAMP=809884497 input archived log thread=1 sequence=24 RECID=18 STAMP=809884501 input archived log thread=1 sequence=25 RECID=19 STAMP=809884569 input archived log thread=1 sequence=26 RECID=20 STAMP=809884861 channel ORA_DISK_1: starting piece 1 at 12-MAR-13 channel ORA_DISK_1: finished piece 1 at 12-MAR-13 piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2013_03_12/o1_mf_annnn_TAG201 30312T160102_8my67y6x_.bkp tag=TAG20130312T160102 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 12-MAR-13
В данном примере RMAN осуществил полное резервное копирование всех журналов с sequence от 20 до 26, несмотря на то, что оптимизация включена в настройках RMAN.
RMAN использует определенные правила для каждого типа пропускаемого файла, чтобы определить, идентичен ли текущий файл ранее скопированной версии. Например, у файла данных должны быть тот же самый DBID и контрольная точка SCN. Точно так же у архивных журналов должны быть равны DBID, номер потока и порядковый номер. У резервного набора должны быть равны ID записи и штамп.
Однако, тот факт, что файлы идентичны, вовсе не означает, что они будут пропущены. Когда RMAN обнаруживает идентичный файл, то он становиться лишь кандидатом на оптимизацию. RMAN должен вначале рассмотреть политику сохранения и множественность резервных копий для того чтобы решить, достаточно ли резервных копий файла содержится на данном устройстве, прежде чем осуществить его пропуск. Этот алгоритм оптимизации может варьироваться в зависимости от типа резервируемого файла или факта копирования резервных комплектов. Ниже привидены общие правила режима оптимизации для разных типов файлов и резервного комплекта.
Файлы данных
- Если используется политика сохранения на основе окна, то тип резервных носителей определяет, пропустит ли RMAN файл данных. Если резервное копирование осуществляется на ленту и последняя резервная копия является более старой чем сконфигурированное окно восстановления, RMAN сделает резервное копирование, даже не смотря на то, что файл будет идентичен. Таким образом, RMAN игнорирует настроенную политику оптимизации. Если резервное копирование будет осуществляться на диск, то если имеется идентичная резервная копия, файл будет пропущен, даже несмотря на то, что последняя копия будет старее окна восстановления. Поясним это на примере. Допустим, имеется копия табличного пространства только для чтения, сделанная две недели назад. По идее оно не должно меняться. Определено окно сохранения длительностью 7 дней. Если делается резервное копирование на ленту, то RMAN сделает копию, несмотря на то, что файлы не изменились. Если резервирование будет осуществляться на диск, то резервирование файлов будет пропущено, даже несмотря на то, что копия явно старее определённого окна сохранения.
- Если будет использоваться политика сохранения, основанная на избыточности (например, избыточность равна r), то RMAN пропустит копирование файла, если n (определённое как r + 1) копий этого файла будут существовать на указанном устройстве.
- Если политики сохранения нет, RMAN пропустит резервное копирование файла, если n число копий это файла существует на указанном устройстве. RMAN определяет значение n в порядке следующего приоритета:
- Число резервных копий при использовании команды BACKUP ... COPIES n
- Число резервных копий при использовании команды SET BACKUP COPIES n
- Число резервных копий при использовании КОМАНДЫ CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE ... TO n
- n=1
Архивные журналы
В случае архивных журналов RMAN определит значение n в порядке следующего приоритета:
- Число резервных копий при использовании команды BACKUP ... COPIES n
- Число резервных копий при использовании команды SET BACKUP COPIES n
- Число резервных копий при использовании команды CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE ... TO n
- n=1
Резервные наборы
Для резервных наборов значение n определяется в порядке следующего приоритета:
- Число резервных копий при использовании команды BACKUP ... COPIES n
- Число резервных копий при использовании команды SET BACKUP COPIES n
- n=1
Чтобы два резервный комплекта в режиме оптимизации считались идентичным, у них должны соответствовать ID записи и штамп.
У медиа менеджеров могут быть свои собственные политики сохранения. Поэтому, RMAN может иногда пропускать файлы согласно своему алгоритму оптимизации, а медиа менеджер, согласно своему алгоритму. Чтобы избежать несоответствия, следует чаще выполнять команду crosscheck, чтобы синхронизировать репозитарий RMAN с метаданными медиа менеджера.
4-13. Определение имен файлов частей резервных копий
По умолчанию RMAN определяет названия файлов резервных частей в одном определённом формате. Если необходимо определить свои имена файлов получаемых копий, то для этого можно воспользоваться опцией format команды резервного копирования, как показано в следующем примере:
RMAN> backup tablespace users format = '/backup/users_%u%p%c'; Starting backup at 30-MAY-13 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=32 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=00004 name=/u02/oradata/orcl/users01.dbf channel ORA_DISK_1: starting piece 1 at 30-MAY-13 channel ORA_DISK_1: finished piece 1 at 30-MAY-13 piece handle=/backup/users_23oauglb11 tag=TAG20130530T144354 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 30-MAY-13 [oracle@ora11g ~]$ cd /backup [oracle@ora11g backup]$ ls users_23oauglb11
В данной опции, кроме указания непосредственного имени файла, можно указывать переменные замены, что позволяет сформировать более понятное имя. Если же опция format использоваться в команде не будет, RMAN автоматически сгенерирует уникальное имя для каждой резервной копии. При этом стоит учитывать, что некоторые из медиа менеджеров могут иметь свои ограничения на формат имени файла, например длину.
В дополнение к опции format, для генерации уникальных имён файлов копий-отображения, можно использовать параметр инициализации db_file_name_convert. Синтаксис значения этого параметра аналогичен синтаксису, задаваемому в опции format.
4-14. Определение имен файлов для копий-отображения
Кроме задания имен файлов резервных частей, в RMAN можно так же изменять и имена файлов копий-отображения. Делается это всё с помощью той же опции format. Синтаксис опции аналогичен синтаксису, задаваемому для резервных частей, но есть небольшие различия, касающиеся переменных замены. Формат по умолчанию %U отображается по разному для копий- отображения файлов данных, архивных журналов и контрольных файлов. Следующая таблица демонстрирует это:
Тип файла | Значение %U |
---|---|
Файл данных | data-D-%d_id-%I_TS-%N_FNO-%f_%u |
Архивные файлы | arch-D_%d-id-%I_S-%e_T-%h_A-%a_%u |
Контрольные файлы | cf-D_%d-id-%I_%u |
В команде можно определить до четырех строк опции формата, но со второго по четвёртое значение они используются, если делаются множественные резервные копии. Таким образом, вторые, третьи, и четвертые значения опций формата используются, когда выполняются команды backup copies, set backup copies или configure ... backup copies.
Как и в случае с частями резервных копий, для копий изображения можно использовать параметр db_file_name_convert, что бы сгенерировать собственные имена файлов. При использовании этой опции следует обеспечить пару префиксов имени файла, для того чтобы изменить названия выходных файлов. Первый префикс ссылается на имена файлов, которые копируются RMAN. Второй префикс ссылается на имена файлов для резервных копий. В следующем примере показано, как используя опцию db_file_name_convert можно определить новое имя файла копии отображения:
RMAN> backup as copy 2> db_file_name_convert=('/u02/oradata/orcl/users','/backup/users_ts') 3> tablespace users; Starting backup at 30-MAY-13 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile copy input datafile file number=00004 name=/u02/oradata/orcl/users01.dbf output file name=/backup/users_ts01.dbf tag=TAG20130530T144953 RECID=5 STAMP=816792594 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 Finished backup at 30-MAY-13
Как видно, при копировании табличного пространства users, из файла /u02/oradata/orcl/users01.dbf, на который ссылался первый префикс опции db_file_name_convert, была получена копия- отображение с именем указанным во втором префиксе.
Опцию db_file_name_convert можно использовать не только для именования файлов резервных копий. Она так же полезна для случаев, когда резервные копии табличных областей необходимо направить в различные места расположения, как показано в следующем примере:
RMAN> backup as copy 2> db_file_name_convert=('/u02/oradata/orcl/users','/backup1/users_ts', 3> '/u02/oradata/orcl/example','/backup2/example_ts') 4> tablespace users, example; Starting backup at 30-MAY-13 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=32 device type=DISK channel ORA_DISK_1: starting datafile copy input datafile file number=00005 name=/u02/oradata/orcl/example01.dbf output file name=/backup2/example_ts01.dbf tag=TAG20130530T151225 RECID=6 STAMP=816793959 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15 channel ORA_DISK_1: starting datafile copy input datafile file number=00004 name=/u02/oradata/orcl/users01.dbf output file name=/backup1/users_ts01.dbf tag=TAG20130530T151225 RECID=7 STAMP=816793960 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 Finished backup at 30-MAY-13
Если опция db_file_name_convert будет использоваться в пределах команды резервного копирования, RMAN вначале использует пару имён из опции, что бы преобразовать имена файлов. Если это не удаётся сделать, будет осуществлена попытка назвать копию-отображения согласно опции формата. Если опция формата не используется, то RMAN будет использовать формат по умолчанию, то есть %U.
4-15. Тегирование копий RMAN
Для наборов резервных копий и копий-отображения можно назначить строку символов, называемую тегом (tag). Тег – это просто символическое имя, которое поможет быстро идентифицировать содержимое файла резервной копии. После того как тег будет связан с резервной копией, его можно использовать в RMAN командах.
Следующие примеры демонстрируют связь тега с резервным набором (обратите внимание на имя файла резервного набора o1_mf_nnndf_EXAMPLE_BKP_9js46syo_.bkp):
RMAN> backup copies 1 datafile 5 tag example_bkp; Starting backup at 25-FEB-14 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=30 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=00005 name=/u02/oradata/orcl/example01.dbf channel ORA_DISK_1: starting piece 1 at 25-FEB-14 channel ORA_DISK_1: finished piece 1 at 25-FEB-14 piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_02_25/o1_mf_nnn df_EXAMPLE_BKP_9js46syo_.bkp tag=EXAMPLE_BKP comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:16 Finished backup at 25-FEB-14
И с копией-отображения:
RMAN> backup as copy tag users_bkp tablespace users; Starting backup at 25-FEB-14 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile copy input datafile file number=00004 name=/u02/oradata/orcl/users01.dbf output file name=/u01/app/oracle/fast_recovery_area/ORCL/datafile/o1_mf_users_9js4mqms_.d bf tag=USERS_BKP RECID=8 STAMP=840473656 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 Finished backup at 25-FEB-14
Теперь, например, для того что бы удалить копию-отображения с определённым тегом, можно использовать следующий формат команды:
RMAN> delete copy tag users_bkp; released channel: ORA_DISK_1 allocated channel: ORA_DISK_1 channel ORA_DISK_1: SID=1 device type=DISK specification does not match any control file copy in the repository List of Datafile Copies ======================= Key File S Completion Time Ckp SCN Ckp Time ------- ---- - --------------- ---------- --------------- 8 4 A 25-FEB-14 1043248 25-FEB-14 Name: /u01/app/oracle/fast_recovery_area/ORCL/datafile/o1_mf_users_9js4mqms_.dbf Tag: USERS_BKP Do you really want to delete the above objects (enter YES or NO)? y deleted datafile copy datafile copy file name=/u01/app/oracle/fast_recovery_area/ORCL/datafile/o1_mf_users_9js4mqms_.d bf RECID=8 STAMP=840473656 Deleted 1 objects
В следующем примере показывается, как можно создать резервные наборы копии-отображения табличного пространства users, у которого есть тег users_bkp, и табличного пространства system, у которого есть тег system_bkp:
RMAN> backup as copy tag users_bkp tablespace users; Starting backup at 26-FEB-14 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile copy input datafile file number=00004 name=/u02/oradata/orcl/users01.dbf output file name=/u01/app/oracle/fast_recovery_area/ORCL/datafile/o1_mf_users_9jv5yt7d_.d bf tag=USERS_BKP RECID=10 STAMP=840540570 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 Finished backup at 26-FEB-14 RMAN> backup as copy tag system_bkp tablespace system; Starting backup at 26-FEB-14 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile copy input datafile file number=00001 name=/u02/oradata/orcl/system01.dbf output file name=/u01/app/oracle/fast_recovery_area/ORCL/datafile/o1_mf_system_9jv5zy4w_. dbf tag=SYSTEM_BKP RECID=11 STAMP=840540643 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:46 channel ORA_DISK_1: starting datafile copy copying current control file output file name=/u01/app/oracle/fast_recovery_area/ORCL/controlfile/o1_mf_SYSTEM_BKP_9jv 61dow_.ctl tag=SYSTEM_BKP RECID=12 STAMP=840540653 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: specifying datafile(s) in backup set including current SPFILE in backup set channel ORA_DISK_1: starting piece 1 at 26-FEB-14 channel ORA_DISK_1: finished piece 1 at 26-FEB-14 piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_02_26/o1_mf_nns nf_SYSTEM_BKP_9jv61g05_.bkp tag=SYSTEM_BKP comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 26-FEB-14 RMAN> backup as backupset tag new_bkp copy of tablespace users from tag users_bkp copy of tablespace system from tag system_bkp; Starting backup at 26-FEB-14 using channel ORA_DISK_1 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: including datafile copy of datafile 00001 in backup set input file name=/u01/app/oracle/fast_recovery_area/ORCL/datafile/o1_mf_system_9jv5zy4w_. dbf channel ORA_DISK_1: starting piece 1 at 26-FEB-14 channel ORA_DISK_1: finished piece 1 at 26-FEB-14 piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_02_26/o1_mf_nnn df_NEW_BKP_9jv67q49_.bkp tag=NEW_BKP comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:35 channel ORA_DISK_1: starting full datafile backup set channel ORA_DISK_1: including datafile copy of datafile 00004 in backup set input file name=/u01/app/oracle/fast_recovery_area/ORCL/datafile/o1_mf_users_9jv5yt7d_.d bf channel ORA_DISK_1: starting piece 1 at 26-FEB-14 channel ORA_DISK_1: finished piece 1 at 26-FEB-14 piece handle=/u01/app/oracle/fast_recovery_area/ORCL/backupset/2014_02_26/o1_mf_nnn df_NEW_BKP_9jv68vpf_.bkp tag=NEW_BKP comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 Finished backup at 26-FEB-14
Последняя команда создала два резервных набора копий-отображения табличных пространств с указанными тегами. При этом стоит отметить, что вновь создаваемым резервным комплектам присваивается один и тот же тег new_bkp.
Тег нечувствителен к регистру и всегда выводится в результатах команд RMAN в верхнем регистре.
Основным преимуществом в использовании тегов для резервных копий является то, что тег может ясно сказать, какова цель данного резервного копирования. Например, имеются две копии с тегами switch_only и for_restore_only. Во время восстановления первая резервная копия используется в команде переключения, вторая при восстановлении файла до актуального состояния. Теги так же можно использовать и для указания копий, сделанных на определённый период времени, например, 2012_year_end.
Даже если тег прямо не указан с помощью ключевого слова, Oracle автоматически присваивает его по умолчанию каждому резервному копированию, за исключением резервных копий контрольного файла. Тег по умолчанию имеет формат TAGYYYYMMDDTHHMMSS, где YYYY означает год, MM месяц, DD день, НН час, MM минуты, SS секунды.
4-16. Конфигурирование автоматических каналов
Кроме ручного выделения каналов при каждом резервном копировании или восстановлении, в RMAN можно сконфигурировать автоматическое выделение каналов. Это позволит использовать данные каналы во всех сеансах RMAN.
Конфигурация автоматических каналов осуществляется с помощью команды CONFIGURE CHANNEL. Если с её помощью сконфигурировать каналы для диска или ленты, то команды резервного копирования и восстановления поддерживающие автоматические каналы при отсутствии каналов, настроенных вручную будут использовать эти каналы.
По умолчанию RMAN уже предоставляет специально сконфигурированный канал DISK. Его можно использовать в операциях резервного копирования.
Для автоматических каналов можно сконфигурировать степень параллелизма, тип и настройки устройства по умолчанию.
Определение типа устройства по умолчанию
Для автоматических каналов можно задать тип устройства по умолчанию. Например, следующая команда задаёт использование ленты в качестве типа устройства по умолчанию:
RMAN> configure default device type to sbt; new RMAN configuration parameters: CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE'; new RMAN configuration parameters are successfully stored released channel: ORA_DISK_1
Определение степени параллелизма для каналов
Степень параллелизма для определенного типа устройства управляет числом серверных сеансов, которые будут использоваться для ввода-вывода определенного типа устройства. Задать степень параллелизма можно с помощью команды CONFIGURE DEVICE TYPE ... PARALLELISM. При её выполнении будет определено число автоматических каналов для обоих типов устройств: диска и ленты. По умолчанию степень параллелизма равна 1. Рекомендуется выделять только один канал для каждого физического устройства на сервере. Отсюда следует, что если в системе имеется только один диск, степень параллелизма устанавливать не надо.
Для просмотра текущей степени параллелизма можно использовать следующую команду:
RMAN> show device type; RMAN configuration parameters for database with db_unique_name ORCL are: CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1; CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
Если, например, требуется производить резервное копирование одновременно на три лентовода, то можно сконфигурировать тип устройства sbt со степенью параллелизма 3:
RMAN> configure device type sbt parallelism 3; old RMAN configuration parameters: CONFIGURE DEVICE TYPE 'SBT_TAPE' BACKUP TYPE TO COMPRESSED BACKUPSET PARALLELISM 1; new RMAN configuration parameters: CONFIGURE DEVICE TYPE 'SBT_TAPE' PARALLELISM 3 BACKUP TYPE TO COMPRESSED BACKUPSET; new RMAN configuration parameters are successfully stored RMAN> backup device type sbt database plus archivelog; Starting backup at 26-FEB-14 current log archived allocated channel: ORA_SBT_TAPE_1 channel ORA_SBT_TAPE_1: SID=1 device type=SBT_TAPE channel ORA_SBT_TAPE_1: WARNING: Oracle Test Disk API allocated channel: ORA_SBT_TAPE_2 channel ORA_SBT_TAPE_2: SID=33 device type=SBT_TAPE channel ORA_SBT_TAPE_2: WARNING: Oracle Test Disk API allocated channel: ORA_SBT_TAPE_3 channel ORA_SBT_TAPE_3: SID=45 device type=SBT_TAPE channel ORA_SBT_TAPE_3: WARNING: Oracle Test Disk API channel ORA_SBT_TAPE_1: starting compressed archived log backup set channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set input archived log thread=1 sequence=28 RECID=22 STAMP=840541855 channel ORA_SBT_TAPE_1: starting piece 1 at 26-FEB-14 channel ORA_SBT_TAPE_1: finished piece 1 at 26-FEB-14 piece handle=2gp1j9l1_1_1 tag=TAG20140226T115057 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:01 Finished backup at 26-FEB-14 Starting backup at 26-FEB-14 using channel ORA_SBT_TAPE_1 using channel ORA_SBT_TAPE_2 using channel ORA_SBT_TAPE_3 channel ORA_SBT_TAPE_1: starting compressed full datafile backup set channel ORA_SBT_TAPE_1: specifying datafile(s) in backup set input datafile file number=00001 name=/u02/oradata/orcl/system01.dbf channel ORA_SBT_TAPE_1: starting piece 1 at 26-FEB-14 channel ORA_SBT_TAPE_2: starting compressed full datafile backup set channel ORA_SBT_TAPE_2: specifying datafile(s) in backup set input datafile file number=00002 name=/u02/oradata/orcl/sysaux01.dbf input datafile file number=00004 name=/u02/oradata/orcl/users01.dbf channel ORA_SBT_TAPE_2: starting piece 1 at 26-FEB-14 channel ORA_SBT_TAPE_3: starting compressed full datafile backup set channel ORA_SBT_TAPE_3: specifying datafile(s) in backup set input datafile file number=00005 name=/u02/oradata/orcl/example01.dbf input datafile file number=00003 name=/u02/oradata/orcl/undotbs01.dbf channel ORA_SBT_TAPE_3: starting piece 1 at 26-FEB-14 channel ORA_SBT_TAPE_3: finished piece 1 at 26-FEB-14 piece handle=2jp1j9l3_1_1 tag=TAG20140226T115059 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_3: backup set complete, elapsed time: 00:01:17 channel ORA_SBT_TAPE_3: starting compressed full datafile backup set channel ORA_SBT_TAPE_3: specifying datafile(s) in backup set including current control file in backup set channel ORA_SBT_TAPE_3: starting piece 1 at 26-FEB-14 channel ORA_SBT_TAPE_3: finished piece 1 at 26-FEB-14 piece handle=2kp1j9ni_1_1 tag=TAG20140226T115059 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_3: backup set complete, elapsed time: 00:00:08 channel ORA_SBT_TAPE_3: starting compressed full datafile backup set channel ORA_SBT_TAPE_3: specifying datafile(s) in backup set including current SPFILE in backup set channel ORA_SBT_TAPE_3: starting piece 1 at 26-FEB-14 channel ORA_SBT_TAPE_3: finished piece 1 at 26-FEB-14 piece handle=2lp1j9nv_1_1 tag=TAG20140226T115059 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_3: backup set complete, elapsed time: 00:00:01 channel ORA_SBT_TAPE_2: finished piece 1 at 26-FEB-14 piece handle=2ip1j9l3_1_1 tag=TAG20140226T115059 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_2: backup set complete, elapsed time: 00:01:48 channel ORA_SBT_TAPE_1: finished piece 1 at 26-FEB-14 piece handle=2hp1j9l3_1_1 tag=TAG20140226T115059 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:02:09 Finished backup at 26-FEB-14 Starting backup at 26-FEB-14 current log archived using channel ORA_SBT_TAPE_1 using channel ORA_SBT_TAPE_2 using channel ORA_SBT_TAPE_3 channel ORA_SBT_TAPE_1: starting compressed archived log backup set channel ORA_SBT_TAPE_1: specifying archived log(s) in backup set input archived log thread=1 sequence=29 RECID=23 STAMP=840541988 channel ORA_SBT_TAPE_1: starting piece 1 at 26-FEB-14 channel ORA_SBT_TAPE_1: finished piece 1 at 26-FEB-14 piece handle=2mp1j9p5_1_1 tag=TAG20140226T115309 comment=API Version 2.0,MMS Version 8.1.3.0 channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:01 Finished backup at 26-FEB-14
В результате выполнения этих команд будет организованно три автоматических канала. При этом, после выполнения резервного копирования, каждый лентовод будет содержать примерно одну третью часть архивных журнальных файлов и файлов данных.
Всего можно сконфигурировать до 255 каналов, каждый из которых способен читать до 64 файлов параллельно.
Определение максимального размера резервной части
В настройках автоматических каналов можно установить максимальный размер получаемой резервной части, определив в команде CONFIGURE опцию maxpiecesize. В следующем примере максимальный размер отдельной резервной части для диска устанавливается равным 1G:
RMAN> configure channel device type disk maxpiecesize 1g; new RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 1 G; new RMAN configuration parameters are successfully stored
Когда выполняется команда BACKUP, выделяется только единственный тип канала диск или sbt. Однако, при выполнении команды RESTORE (или команды DELETE), RMAN выделяет все необходимые каналы включая диск и sbt.
Генерация настроек для автоматических каналов
Если при выделении канала не определяется явно его номер, то RMAN конфигурирует универсальный канал. В этом случае можно с помощью команды configure channel device type сконфигурировать шаблон универсальных настроек для всех автоматических каналов, которые принадлежат типу устройства диск или лента.
Ниже показывается, как можно определить пропускную способность канала и формат резервных частей для всех автоматических каналов, предполагая, что тип устройства по умолчанию будет установлен в диск:
RMAN> configure channel device type disk rate 5m format="?/oradata/%U"; old RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE DISK MAXPIECESIZE 1 G; new RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE DISK RATE 5 M FORMAT "?/oradata/%U"; new RMAN configuration parameters are successfully stored
Или вот другой пример, где все выполняемые резервные копирования, будут использовать ленту с определенными настройками канала:
RMAN> configure channel device type sbt parms='ENV=(NSR_SERVER=bksvr1)'; old RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/u01/app/oracle/admin/orcl/backup)'; new RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'ENV=(NSR_SERVER=bksvr1)'; new RMAN configuration parameters are successfully stored
Если настройки для определенного именованного канала не были сконфигурированы, то в этом случае универсальные настройки будут иметь главенствующую роль. Таким образом, универсальные настройки канала применяются ко всем каналам, которые были явно несконфигурированы. Всякий раз, когда реконфигурируется универсальный канал диска или ленты, любые предыдущие настройки для этого типа устройства затираются. В следующем примере второй командой затирается установка максимального размера для резервных частей, которая была произведена первой командой:
RMAN> configure channel device type sbt maxpiecesize 1G; old RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/u01/app/oracle/admin/orcl/backup)'; new RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' MAXPIECESIZE 1 G; new RMAN configuration parameters are successfully stored RMAN> configure channel device type sbt format 'bkup_%U'; old RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' MAXPIECESIZE 1 G; new RMAN configuration parameters: CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' FORMAT 'bkup_%U'; new RMAN configuration parameters are successfully stored
Генерация специфических каналов для типа устройства
Для того что бы управлять параметрами каждого канала отдельно, а не с помощью универсальных настроек, необходимо присвоить каналу номер. Присваивая номера, можно сконфигурировать определенный канал для каждого типа устройства. При этом стоит упомянуть, что для того, чтобы использовать такой канал, необходимо определить по крайней мере хотя бы одну опцию канала, например, такие, как maxpiecesize или format. В следующем примере показано как конфигурируются три специфических канала, чтобы отправить дисковые резервные копии трём отдельным дискам.
RMAN> configure channel 1 device type disk format '/disk1/%U'; new RMAN configuration parameters: CONFIGURE CHANNEL 1 DEVICE TYPE DISK FORMAT '/disk1/%U'; new RMAN configuration parameters are successfully stored RMAN> configure channel 2 device type disk format '/disk2/%U'; new RMAN configuration parameters: CONFIGURE CHANNEL 2 DEVICE TYPE DISK FORMAT '/disk2/%U'; new RMAN configuration parameters are successfully stored RMAN> configure channel 3 device type disk format '/disk3/%U'; new RMAN configuration parameters: CONFIGURE CHANNEL 3 DEVICE TYPE DISK FORMAT '/disk3/%U'; new RMAN configuration parameters are successfully stored
4-17. Ручное выделение канала
Кроме применения автоматических каналов, можно вручную выделить каналы в блоке run используя для этого команду allocate channel. В следующем примере выделяется единственный канал c1 для резервного копирования на ленту:
RMAN> run 2> { 3> allocate channel с1 device type sbt parms 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/u01/app/oracle/admin/orcl/backup)'; 4> backup database plus archivelog; 5> } allocated channel: с1 channel с1: SID=44 device type=SBT_TAPE channel с1: WARNING: Oracle Test Disk API Starting backup at 28-FEB-14 current log archived channel с1: starting compressed archived log backup set channel с1: specifying archived log(s) in backup set input archived log thread=1 sequence=33 RECID=27 STAMP=840626818 input archived log thread=1 sequence=34 RECID=28 STAMP=840627162 input archived log thread=1 sequence=35 RECID=29 STAMP=840627324 input archived log thread=1 sequence=36 RECID=30 STAMP=840627491 input archived log thread=1 sequence=37 RECID=31 STAMP=840627564 input archived log thread=1 sequence=38 RECID=32 STAMP=840627604 input archived log thread=1 sequence=39 RECID=33 STAMP=840629245 input archived log thread=1 sequence=40 RECID=34 STAMP=840629418 input archived log thread=1 sequence=41 RECID=35 STAMP=840629459 input archived log thread=1 sequence=42 RECID=36 STAMP=840629818 input archived log thread=1 sequence=43 RECID=37 STAMP=840714027 channel с1: starting piece 1 at 28-FEB-14 channel с1: finished piece 1 at 28-FEB-14 piece handle=3bp1ohpb_1_1 tag=TAG20140228T184027 comment=API Version 2.0,MMS Version 8.1.3.0 channel с1: backup set complete, elapsed time: 00:00:01 Finished backup at 28-FEB-14 Starting backup at 28-FEB-14 channel с1: starting compressed full datafile backup set channel с1: specifying datafile(s) in backup set input datafile file number=00001 name=/u02/oradata/orcl/system01.dbf input datafile file number=00002 name=/u02/oradata/orcl/sysaux01.dbf input datafile file number=00005 name=/u02/oradata/orcl/example01.dbf input datafile file number=00003 name=/u02/oradata/orcl/undotbs01.dbf input datafile file number=00004 name=/u02/oradata/orcl/users01.dbf channel с1: starting piece 1 at 28-FEB-14 channel с1: finished piece 1 at 28-FEB-14 piece handle=3cp1ohpe_1_1 tag=TAG20140228T184029 comment=API Version 2.0,MMS Version 8.1.3.0 channel с1: backup set complete, elapsed time: 00:02:46 channel с1: starting compressed full datafile backup set channel с1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel с1: starting piece 1 at 28-FEB-14 channel с1: finished piece 1 at 28-FEB-14 piece handle=3dp1ohul_1_1 tag=TAG20140228T184029 comment=API Version 2.0,MMS Version 8.1.3.0 channel с1: backup set complete, elapsed time: 00:00:08 Finished backup at 28-FEB-14 Starting backup at 28-FEB-14 current log archived channel с1: starting compressed archived log backup set channel с1: specifying archived log(s) in backup set input archived log thread=1 sequence=44 RECID=38 STAMP=840714209 channel с1: starting piece 1 at 28-FEB-14 channel с1: finished piece 1 at 28-FEB-14 piece handle=3ep1ohv1_1_1 tag=TAG20140228T184329 comment=API Version 2.0,MMS Version 8.1.3.0 channel с1: backup set complete, elapsed time: 00:00:01 Finished backup at 28-FEB-14 released channel: с1
Использование идентификатора канала (c1 в примере) на является обязательным. Oracle будет использовать этот идентификатор при составлении отчётов о входных или выходных ошибках во время выполнения задания RMAN.
В следующем примере показано как можно использовать несколько вручную выделенных каналов для резервного копирования на несколько дисков.
Запустим на выполнение следующий скрипт:
RMAN> run { allocate channel disk1 device type disk format '/disk1/%U'; allocate channel disk2 device type disk format '/disk2/%U'; allocate channel disk3 device type disk format '/disk3/%U'; backup database plus archivelog; } 2> 3> 4> 5> 6> 7> allocated channel: disk1 channel disk1: SID=37 device type=DISK allocated channel: disk2 channel disk2: SID=46 device type=DISK allocated channel: disk3 channel disk3: SID=42 device type=DISK
В результатах выполнения видно, что каждая команда allocate channel, выделяет отдельный дисковый канал для диска указанного в опции format. При этом сразу же задаётся маска имени файла резервного набора, который будет располагаться на этом диске.
После выделения каналов, выполняется резервное копирование архивных журналов:
Starting backup at 12-MAR-14 current log archived channel disk1: starting archived log backup set channel disk1: specifying archived log(s) in backup set input archived log thread=1 sequence=33 RECID=27 STAMP=840626818 input archived log thread=1 sequence=34 RECID=28 STAMP=840627162 input archived log thread=1 sequence=35 RECID=29 STAMP=840627324 input archived log thread=1 sequence=36 RECID=30 STAMP=840627491 input archived log thread=1 sequence=37 RECID=31 STAMP=840627564 channel disk1: starting piece 1 at 12-MAR-14 channel disk2: starting archived log backup set channel disk2: specifying archived log(s) in backup set input archived log thread=1 sequence=38 RECID=32 STAMP=840627604 input archived log thread=1 sequence=39 RECID=33 STAMP=840629245 input archived log thread=1 sequence=40 RECID=34 STAMP=840629418 input archived log thread=1 sequence=41 RECID=35 STAMP=840629459 input archived log thread=1 sequence=42 RECID=36 STAMP=840629818 channel disk2: starting piece 1 at 12-MAR-14 channel disk3: starting archived log backup set channel disk3: specifying archived log(s) in backup set input archived log thread=1 sequence=43 RECID=37 STAMP=840714027 input archived log thread=1 sequence=44 RECID=38 STAMP=840714209 input archived log thread=1 sequence=45 RECID=39 STAMP=842020329 channel disk3: starting piece 1 at 12-MAR-14 channel disk1: finished piece 1 at 12-MAR-14 piece handle=/disk1/3tp30dul_1_1 tag=TAG20140312T184021 comment=NONE channel disk1: backup set complete, elapsed time: 00:00:02 channel disk1: starting archived log backup set channel disk1: specifying archived log(s) in backup set input archived log thread=1 sequence=46 RECID=40 STAMP=842020820 channel disk1: starting piece 1 at 12-MAR-14 channel disk2: finished piece 1 at 12-MAR-14 piece handle=/disk2/3up30dul_1_1 tag=TAG20140312T184021 comment=NONE channel disk2: backup set complete, elapsed time: 00:00:03 channel disk1: finished piece 1 at 12-MAR-14 piece handle=/disk1/40p30duo_1_1 tag=TAG20140312T184021 comment=NONE channel disk1: backup set complete, elapsed time: 00:00:01 channel disk3: finished piece 1 at 12-MAR-14 piece handle=/disk3/3vp30dum_1_1 tag=TAG20140312T184021 comment=NONE channel disk3: backup set complete, elapsed time: 00:00:03 Finished backup at 12-MAR-14
Копии архивных журналов распределились по трём резервным наборам. Причем каждый резервный набор расположился на отдельном диске. Тоже самое произойдёт дальше и с резервными копиями файлов данных:
Starting backup at 12-MAR-14 channel disk1: starting full datafile backup set channel disk1: specifying datafile(s) in backup set input datafile file number=00001 name=/u02/oradata/orcl/system01.dbf channel disk1: starting piece 1 at 12-MAR-14 channel disk2: starting full datafile backup set channel disk2: specifying datafile(s) in backup set input datafile file number=00002 name=/u02/oradata/orcl/sysaux01.dbf input datafile file number=00004 name=/u02/oradata/orcl/users01.dbf channel disk2: starting piece 1 at 12-MAR-14 channel disk3: starting full datafile backup set channel disk3: specifying datafile(s) in backup set input datafile file number=00005 name=/u02/oradata/orcl/example01.dbf input datafile file number=00003 name=/u02/oradata/orcl/undotbs01.dbf channel disk3: starting piece 1 at 12-MAR-14 channel disk3: finished piece 1 at 12-MAR-14 piece handle=/disk3/43p30dur_1_1 tag=TAG20140312T184026 comment=NONE channel disk3: backup set complete, elapsed time: 00:01:30 channel disk3: starting full datafile backup set channel disk3: specifying datafile(s) in backup set including current control file in backup set channel disk3: starting piece 1 at 12-MAR-14 channel disk3: finished piece 1 at 12-MAR-14 piece handle=/disk3/44p30e1s_1_1 tag=TAG20140312T184026 comment=NONE channel disk3: backup set complete, elapsed time: 00:00:16 channel disk3: starting full datafile backup set channel disk3: specifying datafile(s) in backup set including current SPFILE in backup set channel disk3: starting piece 1 at 12-MAR-14 channel disk3: finished piece 1 at 12-MAR-14 piece handle=/disk3/45p30e2n_1_1 tag=TAG20140312T184026 comment=NONE channel disk3: backup set complete, elapsed time: 00:00:03 channel disk2: finished piece 1 at 12-MAR-14 piece handle=/disk2/42p30dur_1_1 tag=TAG20140312T184026 comment=NONE channel disk2: backup set complete, elapsed time: 00:03:00 channel disk1: finished piece 1 at 12-MAR-14 piece handle=/disk1/41p30dur_1_1 tag=TAG20140312T184026 comment=NONE channel disk1: backup set complete, elapsed time: 00:03:20 Finished backup at 12-MAR-14 Starting backup at 12-MAR-14 current log archived channel disk1: starting archived log backup set channel disk1: specifying archived log(s) in backup set input archived log thread=1 sequence=47 RECID=41 STAMP=842021029 channel disk1: starting piece 1 at 12-MAR-14 channel disk1: finished piece 1 at 12-MAR-14 piece handle=/disk1/46p30e56_1_1 tag=TAG20140312T184349 comment=NONE channel disk1: backup set complete, elapsed time: 00:00:01 Finished backup at 12-MAR-14
В результате мы получим резервные копии архивных журналов и файлов данных, как бы распределённых по трём дискам.
В конце выполнения скрипта, каналы, выделенные вручную освобождаются:
released channel: disk1 released channel: disk2 released channel: disk3
Можно использовать все опции команды configure channel, когда используется allocate channel для ручного выделения каналов RMAN. При этом стоит учитывать, что команда allocate channel применяется только в блоке run. Следовательно, вручную выделенный канал живёт только в пределах блока, в котором он выделяется. Если каналы не были выделены вручную, то будут применены автоматические каналы, но вручную выделенный канал всегда переопределяет автоматический.
Как только определяются ручные каналы, невозможно определить тип устройства резервного копирования или восстановления для использования автоматическими каналами.
После того как блок run заканчивается, RMAN автоматически освобождает вручную выделенные каналы. Однако можно заранее освобождать каналы используя идентификатор канала, заданный при выделении. В следующем примере показано как можно вручную освобождать каналы, чтобы сконфигурировать различные опции (format и maxpiecesize) для резервного копирования на ленту:
RMAN> run { 2> allocate channel c1 device type sbt format 'bkup_%U' parms 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/backup)'; 3> allocate channel c2 device type sbt maxpiecesize = 10M parms 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/backup)'; 4> backup channel c1 datafile 1,2,3; 5> release channel c1; 6> backup datafile 4,5; 7> } allocated channel: c1 channel c1: SID=40 device type=SBT_TAPE channel c1: WARNING: Oracle Test Disk API allocated channel: c2 channel c2: SID=47 device type=SBT_TAPE channel c2: WARNING: Oracle Test Disk API Starting backup at 28-FEB-14 channel c1: starting compressed full datafile backup set channel c1: specifying datafile(s) in backup set input datafile file number=00001 name=/u02/oradata/orcl/system01.dbf input datafile file number=00002 name=/u02/oradata/orcl/sysaux01.dbf input datafile file number=00003 name=/u02/oradata/orcl/undotbs01.dbf channel c1: starting piece 1 at 28-FEB-14 channel c1: finished piece 1 at 28-FEB-14 piece handle=bkup_3np1ol4c_1_1 tag=TAG20140228T183732 comment=API Version 2.0,MMS Version 8.1.3.0 channel c1: backup set complete, elapsed time: 00:02:15 channel c1: starting compressed full datafile backup set channel c1: specifying datafile(s) in backup set including current control file in backup set including current SPFILE in backup set channel c1: starting piece 1 at 28-FEB-14 channel c1: finished piece 1 at 28-FEB-14 piece handle=bkup_3op1ol8k_1_1 tag=TAG20140228T183732 comment=API Version 2.0,MMS Version 8.1.3.0 channel c1: backup set complete, elapsed time: 00:00:03 Finished backup at 28-FEB-14 released channel: c1 Starting backup at 28-FEB-14 channel c2: starting compressed full datafile backup set channel c2: specifying datafile(s) in backup set input datafile file number=00005 name=/u02/oradata/orcl/example01.dbf input datafile file number=00004 name=/u02/oradata/orcl/users01.dbf channel c2: starting piece 1 at 28-FEB-14 channel c2: finished piece 1 at 28-FEB-14 piece handle=3pp1ol8q_1_1 tag=TAG20140228T183953 comment=API Version 2.0,MMS Version 8.1.3.0 channel c2: starting piece 2 at 28-FEB-14 channel c2: finished piece 2 at 28-FEB-14 piece handle=3pp1ol8q_2_1 tag=TAG20140228T183953 comment=API Version 2.0,MMS Version 8.1.3.0 channel c2: starting piece 3 at 28-FEB-14 channel c2: finished piece 3 at 28-FEB-14 piece handle=3pp1ol8q_3_1 tag=TAG20140228T183953 comment=API Version 2.0,MMS Version 8.1.3.0 channel c2: starting piece 4 at 28-FEB-14 channel c2: finished piece 4 at 28-FEB-14 piece handle=3pp1ol8q_4_1 tag=TAG20140228T183953 comment=API Version 2.0,MMS Version 8.1.3.0 channel c2: backup set complete, elapsed time: 00:00:33 Finished backup at 28-FEB-14 released channel: c2
Первая команда backup осуществляет резервное копирование файлов данных 1, 2, и 3 на ленту используя канал c1 с определённым форматом файла резервного набора. Как только файлы скопированы, канал c1 освобождается, и вторая команда backup будет использовать единственный остающийся открытый канал c2, чтобы скопировать файлы данных 4 и 5 в резервный набор разбитый на части по 10 Мб.
4-18. Выделение канала обслуживания RMAN
Для команд RMAN осуществляющих операции обслуживания, например, удаление устаревших копий, желательно выделить свой, отдельный канал, называемый ещё каналом обслуживания. Выделение такого канала с помощью команды allocate channel for maintenance следует начинать до выполнения команд change, delete или crosscheck. Например, ранее были сделаны резервные копии на ленту. Затем тип устройства по умолчанию был установлен в диск. Потребовалось очистить старые копии на ленте, что бы повторно использовать пространство для будущих копий. Так как тип устройства по умолчанию установлен в диск, можно выделить отдельный канал обслуживания указывающий на ленту, а затем уже произвести удаление устаревших копий. В следующем примере первая команда выделяет специальный канал обслуживания, указывающий на лентовод:
RMAN> allocate channel for maintenance device type sbt parms 'SBT_LIBRARY=oracle.disksbt ENV=(BACKUP_DIR=/backup)'; allocated channel: ORA_MAINT_SBT_TAPE_1 channel ORA_MAINT_SBT_TAPE_1: SID=44 device type=SBT_TAPE channel ORA_MAINT_SBT_TAPE_1: WARNING: Oracle Test Disk API RMAN> delete backup of database completed before 'sysdate'; List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name ------- ------- --- --- ----------- ----------- ---------- 109 88 1 1 AVAILABLE SBT_TAPE bkup_3np1ol4c_1_1 111 90 1 1 AVAILABLE SBT_TAPE 3pp1ol8q_1_1 112 90 2 1 AVAILABLE SBT_TAPE 3pp1ol8q_2_1 113 90 3 1 AVAILABLE SBT_TAPE 3pp1ol8q_3_1 114 90 4 1 AVAILABLE SBT_TAPE 3pp1ol8q_4_1 Do you really want to delete the above objects (enter YES or NO)? y deleted backup piece backup piece handle=bkup_3np1ol4c_1_1 RECID=109 STAMP=840717452 deleted backup piece backup piece handle=3pp1ol8q_1_1 RECID=111 STAMP=840717594 deleted backup piece backup piece handle=3pp1ol8q_2_1 RECID=112 STAMP=840717601 deleted backup piece backup piece handle=3pp1ol8q_3_1 RECID=113 STAMP=840717608 deleted backup piece backup piece handle=3pp1ol8q_4_1 RECID=114 STAMP=840717623 Deleted 5 objects
Команда allocate channel for maintenance, выделяющая канал обслуживания, предназначается только для задач обслуживания, таких как change, delete или crosscheck. Данный канал можно использовать только в командной строке подсказки RMAN, то есть его нельзя применить в блоке run. Кроме ручного выделения, канал обслуживания может выделяться автоматически. Но не зависимо от метода выделения его нельзя применять для операций резервного копирования и восстановления. Кроме того, не имеет смысла выделение канала обслуживания для команд change, delete или crosscheck выполняющих действие с файлом на диске (например, архивный журнальный файл), потому что RMAN предварительно конфигурирует автоматический дисковый канал для таких операций.
RMAN рекомендует предварительно конфигурировать каналы ленты и диска вместо того, чтобы использовать команду выделения канала обслуживания.
Например, стратегия резервного копирования предполагает использовать только диск для резервных копий. Но имеются несколько старых резервных копий, размещённых ещё на ленте. Лентовод недоступен. Как удалить эти старые резервные копии из RMAN? Для начала надо выделить канал обслуживания указывающий на фиктивный sbt API. Затем можно использовать команду delete obsolete для удаления из RMAN устаревших резервных копий ленты:
RMAN> allocate channel for maintenance device type sbt parms 'SBT_LIBRARY=oracle.disksbt, ENV=(BACKUP_DIR=/tmp)'; allocated channel: ORA_MAINT_SBT_TAPE_1 channel ORA_MAINT_SBT_TAPE_1: SID=1 device type=SBT_TAPE channel ORA_MAINT_SBT_TAPE_1: WARNING: Oracle Test Disk API RMAN> delete obsolete;
Хотя лентовод больше не доступен, RMAN симулирует вызов к уровню управления ленточным носителем (MML) и успешно инициирует команду обслуживания, чтобы удалить старые резервные копии с магнитной ленты.
Комментариев нет:
Отправить комментарий