Roman Krasavtsev

четверг, 24 мая 2012 г.

Oracle RMAN


Для проверки установки режима архивации можно сделать следующий запрос к представлению V$DATABASE:
#sqlplus / as sysdba
 
SQL> select log_mode from v$database;
 
LOG_MODE
------------
ARCHIVELOG
Команда archive log так же показывает состояние режима архивирования. В дополнение она выводит информацию о режиме архивирования, состоянии флага автоматического архивирования, месте назначения архивных журнальных файлов и значениях последовательностей журналов.
#sqlplus / as sysdba
 
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/admin/orcl/arch
Oldest online log sequence     4
Next log sequence to archive   6
Current log sequence           6

Включение режима архивации базы данных
oracle@uc-oracle06:~> sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Thu Feb 17 09:51:21 2011

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount;
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  1261372 bytes
Variable Size             125829316 bytes
Database Buffers          155189248 bytes
Redo Buffers                2932736 bytes
Database mounted.

SQL> alter database archivelog;

Database altered.

SQL> alter database open;

Database altered.

SQL> ARCHIVE LOG START;



Начиная с первого релиза 10g в Oracle можно определить специальную область на диске, называемую флэш-областью восстановления (FRA), которая используется базой данных как резервное местоположение. По умолчанию, RMAN создает в FRA резервные копии всех типов - регулярных резервных копий, образов копий, журнальных архивных файлов. Так как RMAN знает о существовании этой области, это позволяет ему автоматически удалять ненужные избыточные или устаревшие резервные копии, чтобы освободить место для новых копий. Для автоматического удаления необходимо правильно настроить политику удержания.
Retention Policy (политика удержания)
Настройка политики 
Существуют две политики удержания Recovery window и Redundancy, которые являются взаимозаменяемыми. В один момент работает только одна политика.
  1. Recovery window (SYSDATE – checkpoint_time <= recovery_window):
Устанавливает количество дней (срок годности бэкапа).
#rman target /
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
  1. Redundancy
Устанавливается фиксированное число бекапов, которые необходимо иметь.
#rman target /
RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY 1;


Просмотр настоек конфигурации базы данных
Два параметра, которые определяют работу FRA:
  1. Устанавливает месторасположение FRA
DB_RECOVERY_FILE_DEST
  1. Устанавливает размер FRA
DB_RECOVERY_FILE_DEST_SIZE

Пример изменения параметра:
#sqlplus / as sysdba
ALTER SYSTEM DB_RECOVERY_FILE_DEST_SIZE = /oracle/FRA

Просмотр всех настроек:
oracle@uc-oracle06:~> rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Tue Dec 13 16:39:51 2011

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: LEARN06 (DBID=640305899)

RMAN> show all;

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name LEARN06 are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/product/11.2/db/dbs/snapcf_learn06.f'; # default

RMAN>

Если  в значении параметра CONTROLFILE AUTOBACKUP стоит ON , то RMAN автоматически выполняет резервирование управляющих файлов и текущего файла первоначальной инициализации  после выполнения команды BACKUP.
#rman target /
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

Полный бекап со сжатием
#rman target /
RMAN> CROSSCHECK BACKUP;
RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG DELETE ALL INPUT;
RMAN> DELETE NOPROMPT OBSOLETE;

Проверка свободного места во FRA(1)
#sqlplus / as sysdba
SELECT ROUND((SPACE_USED)/1024/1024/1024) "USED GB", ROUND((SPACE_LIMIT)/1024/1024/1024) "MAX GB", ROUND(((SPACE_LIMIT)-(SPACE_USED))/1024/1024/1024) "FREE GB" FROM V$RECOVERY_FILE_DEST;

Проверка свободного места во FRA(2):
#sqlplus / as sysdba
SELECT * FROM V$FLASH_RECOVERY_AREA_USAGE;

CROSSCHECK ARCHIVELOG
Use the CROSSCHECK command to synchronize the physical reality of backups and copies with their logical records in the RMAN repository.
#rman target /

CROSSCHECK ARCHIVELOG ALL;

CROSSCHECK BACKUP;
Удаление архивных журналов (системная дата – 30 дней):
#rman target /
DELETE NOPROMPT FORCE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-30’;


Удаление всех архивных журналов:
#rman target /
DELETE NOPROMPT ARCHIVELOG ALL;

Восстановление
  1. Перенести на резервный сервер FRA, положить в тот же каталог, что и на исходном.
  2. Создать структуру папок базы данных также, как и на исходном.
  3. Создать экземпляр с помощью oradim, коннектимся к нему при помощи RMAN (rman target / nocatalog)
  4. Потом set dbid (циферки) (SELECT DBID FROM V$database;)
  5. startup force nomount;
  6. restore controlfile from ' /oracle/flash_recovery_area/LEARN06/autobackup/2012_01_12/o1_mf_s_772393200_7jxw60np_.bkp';
  7. restore spfile to pfile '/oracle/11.2/db/dbs/ initlearn06.ora' from '/opt/oracle/flash_recovery_area/LEARN06/autobackup/2011_12_22/o1_mf_s_770575072_7h6dojmn_.bkp';
  8. startup force mount pfile='/oracle/11.2/db/dbs/initlearn06.ora';
  9. restore database;
  10.  recover database;
    Потом ALTER DATABASE OPEN RESETLOGS;

Всякие примеры:



RMAN> set dbid xxxxxxxx;
executing command: SET DBID
run {
startup nomount
restore controlfile from autobackup;
alter database mount;
restore database;
recover database;
alter database open resetlogs;
}
поскольку не указано UNTIL, Скрипт выполняется c остановкой :
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 05/16/2008 16:55:53
RMAN-06054: media recovery requesting unknown log: thread 1 seq 305 lowscn 6889283

RMAN> alter database open resetlogs;

--

connect target sys/sys ;
configure controlfile autobackup on;
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
delete obsolete;
RUN {                                                                                                        
  BACKUP  AS COMPRESSED BACKUPSET DATABASE
 PLUS ARCHIVELOG DELETE ALL INPUT ;
}
exit



Дополнительные команды:
startup force nomount;

restore controlfile from '/oracle/flash_recovery_area/LEARN06/autobackup/2011_12_22/o1_mf_s_770575072_7h6dojmn_.bkp';

restore spfile to pfile '/oracle/11.2/db/dbs/initlearn06.ora' from '/oracle/flash_recovery_area/LEARN06/autobackup/2011_12_22/o1_mf_s_770575072_7h6dojmn_.bkp';





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

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