В Oracle Database 10g появилась технология flashback, и в частности новая возможность – flashback database. При активации этой опции, ведутся дополнительные журналы операций над базой данных. Эти журналы называются flashback logs, и они создаются во время ведения обычных архивных журналов.
Как узнать включена опция flashback или нет?
SQL> SELECT FLASHBACK_ON FROM V$DATABASE;
FLASHBACK_ON
------------------
YES
Если вернется значение YES, то база данных находится в режиме flashback, если NO, то база данных в обычном режиме.
Перевод базы данных в режим flashback
Для включения режима flashback, база данных должна быть запущена в режиме ARCHIVELOG. Во время работы в режиме flashback, база данных создает журналы, хранящиеся во FRA (Flash Recovery Area). Т.е. FRA должна быть настроена, прежде чем включать режим flashback. Для включения потребуется выполнить ряд шагов.
Убедитесь, что FRA настроена для базы данных и определена. Чтобы узнать определена ли FRA, выполните следующее sql предложение, через SQL*Plus, под пользователем, с привилегией sysdba. Например, под пользователем SYS:
SQL> show parameter db_recovery_file_dest
Если значение параметра db_recovery_file_dest возвращено, то FRA определена именно туда. Пример вывода:
NAME TYPE VALUE
--------------------------- ----------- ------------------------------
db_recovery_file_dest STRING \u01\flash_recovery_area\
db_recovery_file_dest_size big INTEGER 2G
Как видно, значение параметра db_recovery_file_dest равно \u01\flash_recovery_area, и второй параметр db_recovery_file_dest_size, указывает какой размер FRA определен. В нашем примере он равен 2 Gb.
Убедитесь, что база данных находится в архивном режиме:
SQL> SELECT LOG_MODE FROM V$DATABASE;
LOG_MODE
------------
ARCHIVELOG
Если, база данных не в архивном режиме, то переводим базу данных в режим ARCHIVELOG.
Настройка flashback.
Прежде, чем приступить к настройке, требуется узнать, в каком режиме запущена база данных. Выполняем:
SQL> SELECT OPEN_MODE FROM V$DATABASE;
OPEN_MODE
----------
MOUNTED
Если база данных в каком либо другом режиме, то требуется ее погасить и запустить в режиме MOUNT:
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 289406976 bytes
Fixed Size 1248576 bytes
Variable Size 83886784 bytes
Database Buffers 197132288 bytes
Redo Buffers 7139328 bytes
Database mounted.
Последняя строка подтверждает, что база данных смонтирована, и открыта в нужном нам режиме. Далее, разрешаем flashback, выполнив следующее SQL предложение:
SQL> ALTER DATABASE FLASHBACK ON;
Database altered.
Открываем базу данных, выполнив:
SQL> alter database open;
Database altered.
Все, база данных находится в режиме flashback.
Отключение режима flashback
Предположим, что по некоторой причине нам требуется отключить режим flashback. Для этого потребуется выполнить SQL команду:
SQL> alter database flashback off;
Database altered.
Теперь режим flashback отключен. Чтобы в этом убедится, можно выполнить:
SQL> SELECT FLASHBACK_ON FROM V$DATABASE;
FLASHBACK_ON
------------------
NO
Теперь, база данных не создает дополнительных журнальных файлов требуемых для восстановления с использованием технологии flashback.
Комментариев нет:
Отправить комментарий