Включение и отключение архивирования логических логов (ARCHIVELOG) в Oracle

baltun

Администратор
Сообщения
10.901
Реакции
2.596
Баллы
2.003
Определение текущего режима архивирования логических логов
Код:
[oracle@ora1 ~]$ sqlplus / as sysdba

Для того чтобы узнать состояние архивирования логических логов СУБД, необходимо выполнить следующий запрос.
Код:
SQL> SELECT LOG_MODE FROM SYS.V$DATABASE;
LOG_MODE
------------
NOARCHIVELOG

NOARCHIVELOG — означает, что СУБД не архивирует логические логи.
ARCHIVELOG — означает, что СУБД находится в режим архивирования логических логов.
Так же можно воспользоватся другой командой, которая дополнительно покажет установленный ранее путь к архивным логам и их количество.
Код:
SQL> ARCHIVE LOG LIST;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            /u01/oradata/MYSID/archive/
Oldest online log sequence     26
Next log sequence to archive   28
Current log sequence           28

Включение архивирования логических логов в Oracle.
Для того чтобы перевести СУБД в состояние архивирования логических логов необходимо выполнить следующую последовательность команд.
Код:
SQL> ALTER SYSTEM SET log_archive_dest_1='location=/u01/oradata/тут должен быть SID вашей базы/archive/' SCOPE=spfile;
SQL> ALTER SYSTEM SET log_archive_format='%t_%s_%r.arc' SCOPE=spfile;

SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;

Проверяем состояние архивирования логов.
Код:
SQL> SELECT LOG_MODE FROM SYS.V$DATABASE;
LOG_MODE
------------
ARCHIVELOG
 
SQL> archive log list;
Database log mode             Archive Mode
Automatic archival            Enabled
Archive destination           /u01/oradata/MYSID/archive
Oldest online log sequence    25
Next log sequence to archive  27
Current log sequence          27
Теперь мы видим, что режим архивирования логических логов включен. Автоматическая архивация так же включена.

Так же вы можете переключится на новый файл логического лога и убедится что он действительно записан в файловой системе.
Код:
SQL> alter system switch logfile;
System altered.
SQL> host
[oracle@ora1 ~]$ ls /u01/oradata/MYSID/archive
1_27_711369564.arc
[oracle@ora1 ~]$ exit
exit
SQL>

Отключение архивирования логических логов в Oracle
Прежде чем отключить режим архивирования логических логов в Oracle необходимо убедится, что он включен.
Далее выполняем ниже приведенную последовательность команд.
Код:
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP MOUNT;
ORACLE instance started.
 
Total System Global Area  849530880 bytes
Fixed Size                  1339824 bytes
Variable Size             511708752 bytes
Database Buffers          331350016 bytes
Redo Buffers                5132288 bytes
Database mounted.

Далее переводим в режим работы СУБД без архивирования логических логов и открываем экземпляр СУБД.
Код:
SQL> ALTER DATABASE NOARCHIVELOG;
SQL> ALTER DATABASE OPEN;

Смотрим состояние.
Код:
SQL> ARCHIVE LOG LIST;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            /u01/oradata/MYSID/archive
Oldest online log sequence     26
Current log sequence           28
Как видно режим архивирования логических логов отключен.
 
Назад
Верх Низ