1-1. Режим архивации
При попытке осуществить резервное копирование вашей базы данных с помощью RMAN у вас выдаётся ошибка:
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 02/17/2011 09:43:56 ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
Сообщение говорит о том, что прежде чем начинать резервное копирование с помощью RMAN, нужно перевести базу данных в режим архивации.
Включение режима архивации базы данных
[oracle@alfa /]$ 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.
Проверка установки режима архивации
Для проверки установки режима архивации можно сделать следующий запрос к представлению V$DATABASE:
SQL> select log_mode from v$database; LOG_MODE ------------ ARCHIVELOG
Команда archive log утилиты SQL*Plus так же показывает состояние режима архивирования. В дополнение она выводит информацию о режиме архивирования, состоянии флага автоматического архивирования, месте назначения архивных журнальных файлов и значениях последовательностей журналов.
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
1-2. Подключение к RMAN
Локальное подключение
Подключение подразумевает, что вы вошли в операционную систему, используя учётную запись oracle.
[oracle@alfa /]$ rman target / Recovery Manager: Release 10.2.0.3.0 - Production on Fri Feb 18 08:30:47 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database: ORCL (DBID=1265664822)
Локальное подключение с использованием имени и пароля
При подключении используется файл паролей.
[oracle@alfa /]$ rman target sys/***** Recovery Manager: Release 10.2.0.3.0 - Production on Fri Feb 18 08:32:55 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database: ORCL (DBID=1265664822)
Удалённое подключение
Подключение возможно только для пользователей с sysdba привилегией или пользователей использующих файл паролей.
[oracle@alfa ~]$ rman target sys/*****@alfa.alldba.ru Recovery Manager: Release 10.2.0.3.0 - Production on Fri Feb 18 08:45:55 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database: ORCL (DBID=1265664822)
1-3. Копирование базы
Простое копирование базы данных.
Копирование всей базы
Выполнение копирования всей базы данных с помощью команды backup:
RMAN> backup database; Starting backup at 18-FEB-11 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=149 devtype=DISK 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=00005 name=/u02/oradata/orcl/example01.dbf input datafile fno=00002 name=/u02/oradata/orcl/undotbs01.dbf input datafile fno=00004 name=/u02/oradata/orcl/users01.dbf channel ORA_DISK_1: starting piece 1 at 18-FEB-11 channel ORA_DISK_1: finished piece 1 at 18-FEB-11 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_02_18/o1_mf_nnndf_TAG20110 218T085045_6ow25qd1_.bkp tag=TAG20110218T085045 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:46 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 18-FEB-11 channel ORA_DISK_1: finished piece 1 at 18-FEB-11 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_02_18/o1_mf_ncsnf_TAG20110 218T085045_6ow2755o_.bkp tag=TAG20110218T085045 comment=NONE channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03 Finished backup at 18-FEB-11
Просмотр информации об копии
RMAN> list backup; List of Backup Sets =================== BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 3 Full 587.55M DISK 00:00:41 18-FEB-11 BP Key: 3 Status: AVAILABLE Compressed: NO Tag: TAG20110218T085045 Piece Name: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_02_18/o1_mf_nnndf_TAG20110218T085 045_6ow25qd1_.bkp List of Datafiles in backup set 3 File LV Type Ckp SCN Ckp Time Name ---- -- ---- ---------- --------- ---- 1 Full 514698 18-FEB-11 /u02/oradata/orcl/system01.dbf 2 Full 514698 18-FEB-11 /u02/oradata/orcl/undotbs01.dbf 3 Full 514698 18-FEB-11 /u02/oradata/orcl/sysaux01.dbf 4 Full 514698 18-FEB-11 /u02/oradata/orcl/users01.dbf 5 Full 514698 18-FEB-11 /u02/oradata/orcl/example01.dbf BS Key Type LV Size Device Type Elapsed Time Completion Time ------- ---- -- ---------- ----------- ------------ --------------- 4 Full 6.80M DISK 00:00:02 18-FEB-11 BP Key: 4 Status: AVAILABLE Compressed: NO Tag: TAG20110218T085045 Piece Name: /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_02_18/o1_mf_ncsnf_TAG20110218T085 045_6ow2755o_.bkp Control File Included: Ckp SCN: 514735 Ckp time: 18-FEB-11 SPFILE Included: Modification time: 18-FEB-11
Если в выводимой информации требуется отображать время, можно определить формат даты, используя переменную среды NLS_DATE_FORMAT:
[oracle@alfa ~]$ export NLS_DATE_FORMAT='DD-MON-RRRR HH24:MI:SS'
1-4. Симуляция отказа
Следующий пример демонстрирует симуляцию отказа базы данных, путём переименования одного из файлов базы данных, и последующее восстановление базы данных из резервной копии.
Просмотр расположения файлов базы данных
Для начала определим местоположение будущего переименованного файла (example01.dbf). Это можно сделать с помощью команды RMAN report schema:
RMAN> report schema; Report of database schema List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 480 SYSTEM *** /u02/oradata/orcl/system01.dbf 2 25 UNDOTBS1 *** /u02/oradata/orcl/undotbs01.dbf 3 240 SYSAUX *** /u02/oradata/orcl/sysaux01.dbf 4 5 USERS *** /u02/oradata/orcl/users01.dbf 5 100 EXAMPLE *** /u02/oradata/orcl/example01.dbf List of Temporary Files ======================= File Size(MB) Tablespace Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1 20 TEMP 32767 /u02/oradata/orcl/temp01.dbf
Остановка базы данных
Остановим базу данных:
RMAN> shutdown immediate; database closed database dismounted Oracle instance shut down Recovery Manager complete.
Переименование файла базы данных
Для симуляции отказа базы данных переименуем файл example01.dbf:
[oracle@alfa /]$ cd /u02/oradata/orcl [oracle@alfa orcl]$ mv example01.dbf example01.bk
Запуск базы данных
Стартуем повреждённую базу данных:
[oracle@alfa orcl]$ rman target / Recovery Manager: Release 10.2.0.3.0 - Production on Mon Feb 21 08:03:59 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database (not started) RMAN> startup; Oracle instance started database mounted RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of startup command at 02/21/2011 08:04:35 ORA-01157: cannot identify/lock data file 5 - see DBWR trace file ORA-01110: data file 5: '/u02/oradata/orcl/example01.dbf'
База данных не сможет быть открыта пока файл данных example01.dbf не будет восстановлен.
1-5. Восстановление базы данных
Требуется восстановить базу данных после произошедшего сбоя. Учитываем, что имеется не повреждённая резервная копия, а так же имеются все контрольные файлы, архивные и оперативные журналы.
Восстановление всех файлов базы данных из копии
Для восстановления базы данных необходимо смонтировать экземпляр и запустить команду restore database:
RMAN> startup mount; connected to target database (not started) Oracle instance started database mounted RMAN> restore database; Starting restore at 21-FEB-11 allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=157 devtype=DISK channel ORA_DISK_1: starting datafile backupset restore channel ORA_DISK_1: specifying datafile(s) to restore from backup set restoring datafile 00001 to /u02/oradata/orcl/system01.dbf restoring datafile 00002 to /u02/oradata/orcl/undotbs01.dbf restoring datafile 00003 to /u02/oradata/orcl/sysaux01.dbf restoring datafile 00004 to /u02/oradata/orcl/users01.dbf restoring datafile 00005 to /u02/oradata/orcl/example01.dbf channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_02_18/o1_mf_nnndf_TAG20110218T085 045_6ow25qd1_.bkp channel ORA_DISK_1: restored backup piece 1 piece handle=/u01/app/oracle/flash_recovery_area/ORCL/backupset/2011_02_18/o1_mf_nnndf_TAG20110 218T085045_6ow25qd1_.bkp tag=TAG20110218T085045 channel ORA_DISK_1: restore complete, elapsed time: 00:00:36 Finished restore at 21-FEB-11
Команда восстановила файлы данных из резервной копии.
Применение изменений к файлам базы данных
Следующим шагом осуществляется применение изменений в базе данных произошедших в интервал времени с момента создания резервной копии и до времени сбоя:
RMAN> recover database; Starting recover at 21-FEB-11 using channel ORA_DISK_1 starting media recovery media recovery complete, elapsed time: 00:00:03 Finished recover at 21-FEB-11
Открытие базы
База данных восстановлена. Теперь её можно открыть для использования:
RMAN> alter database open; database opened
Комментариев нет:
Отправить комментарий