Страницы

пятница, 3 апреля 2015 г.

RMAN _глава 4

Для большинства задач резервного копирования, настроек по умолчанию, таких как тип резервного копирования (диск или лента), количество каналов и степень параллелизма, вполне достаточно. Но для более сложных задач, может понадобиться дополнительно, настроить окружение 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 может восстановить базу данных, даже если текущий файл управления, каталог восстановления, и файл параметра сервера будут недоступны.
Следующие шаги демонстрируют этапы этого восстановления:
  1. Вначале RMAN восстановит серверный файл параметров из местоположения, где он был сохранён автоматически.
  2. Затем RMAN запустит экземпляр базы данных, используя этот файл параметров.
  3. Потом восстанавливается контрольный файл из того же местоположения, где и файл параметров.
  4. Как только контрольный файл смонтировался, RMAN будет соединяться с целевой базой данных в nocatalog режиме и использовать репозитарий RMAN из контрольного файла, чтобы восстановить файлы данных и базу данных.
  5. Здесь можно создать новый каталог восстановления и зарегистрировать в нём целевые базы данных.
  6. 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          2         

4-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-12




4-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 stored
RMAN использует бинарное сжатие для резервных сжатых наборов. Это позволяет уменьшить передаваемый трафик по сети в момент резервного копирования. К тому же, когда идёт восстановление из сжатого резервного набора, нет необходимости предварительно распаковывать его, всё происходит на «лету». Это сильно экономит время, в отличии от упаковщиков операционной системы.
Для версии 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; # default

4-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 в порядке следующего приоритета:
    1. Число резервных копий при использовании команды BACKUP ... COPIES n
    2. Число резервных копий при использовании команды SET BACKUP COPIES n
    3. Число резервных копий при использовании КОМАНДЫ CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE ... TO n
    4. n=1

Архивные журналы

В случае архивных журналов RMAN определит значение n в порядке следующего приоритета:
  1. Число резервных копий при использовании команды BACKUP ... COPIES n
  2. Число резервных копий при использовании команды SET BACKUP COPIES n
  3. Число резервных копий при использовании команды CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE ... TO n
  4. n=1

Резервные наборы

Для резервных наборов значение n определяется в порядке следующего приоритета:
  1. Число резервных копий при использовании команды BACKUP ... COPIES n
  2. Число резервных копий при использовании команды SET BACKUP COPIES n
  3. 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) и успешно инициирует команду обслуживания, чтобы удалить старые резервные копии с магнитной ленты.

Комментариев нет:

Отправить комментарий