Как сделать..

На главную
1. Посмотреть режим
   архивирования БД

2. Перевести БД
   в ARCHIVELOG

3. Параметры в 9i
   (отказ от initSID.ora)

4. "Холодный" бэкап
5. "Горячий" бэкап




1. Как посмотреть режим архивирования БД
По умолчанию Oracle сервер устанавливается в режиме NOARCHIVELOG.
Команда* ARCHIVE LOG LIST показывает режим работы сервера.

2. Как перевести БД в ARCHIVELOG
Безусловно, это только один из возможных вариантов.
Чтобы восстановить БД в случае падения сервера, разумным было бы выделить отдельный каталог - лучше расположенном на другом физическом диске - в котором будут храниться журналы транзакций, архивные журналы, копии контрольного файла, файла паролей, файла параметров ( < Oracle9i ) и файла сетевых настроек. Предположим, он находится на диске E:, назовем его ARCFOLDER

Посмотрим конфигурацию журналов транзакций командой*
SELECT group#, member FROM V_$LOGFILE;
Увидим что-то типа:
GROUP#      MEMBER
------------------------------------------
   3      D:\ORACLE\ORADATA\ORCL\REDO03.LOG
   2      D:\ORACLE\ORADATA\ORCL\REDO02.LOG
   1      D:\ORACLE\ORADATA\ORCL\REDO01.LOG

Закроем БД командой*
SHUTDOWN IMMEDIATE;

Добавим еще один контрольный файл
Поправим initSID.ora (вручную - для версии Oracle, меньшей 9i. О том, как менять параметры работы сервера в версии 9i, читайте Параметры в 9i (отказ от initSID.ora)).

  • Найдем параметр control_files - что-то типа:
    control_files=("D:\oracle\oradata\ORCL\CONTROL01.CTL", "D:\oracle\oradata\ORCL\CONTROL02.CTL", "D:\oracle\oradata\ORCL\CONTROL03.CTL")
  • Добавим в конец упоминание на еще один файлик
    control_files=("D:\oracle\oradata\ORCL\CONTROL01.CTL", "D:\oracle\oradata\ORCL\CONTROL02.CTL", "D:\oracle\oradata\ORCL\CONTROL03.CTL", "E:\ARCFOLDER\CONTROL04.CTL")
  • Скопируем D:\oracle\oradata\ORCL\CONTROL01.CTL в E:\ARCFOLDER\CONTROL04.CTL
Включим автоматическое архивирование
Поправим initSID.ora (вручную - для версии Oracle, меньшей 9i. О том, как менять параметры работы сервера в версии 9i, читайте Параметры в 9i (отказ от initSID.ora)).
  • Найдем и раскомментарим - или добавим
    log_archive_start = true
  • Найдем и раскомментарим - или добавим
    log_archive_dest_1 = E:\ARCFOLDER\
Добавим файлы журналов транзакций
Здесь сами файлы копировать не надо - это сделает сервер.

Откроем БД командой*
ALTER DATABASE OPEN;

Закроем БД командой*
SHUTDOWN IMMEDIATE;

Смонтируем БД командой*
STARTUP MOUNT;

Изменим режим работы БД командой*
ALTER DATABASE ARCHIVELOG;

3. Как изменить параметры БД - новая технология обработки файла параметров
(Подробнее об этом читайте Oracle9i Database Administrator's Guide, Part Number A96521-01, Managing Initialization Parameters Using a Server Parameter File)

SPFILE - серверный файл параметров - может рассматриваться как репозиторий для хранения параметров, который находится на том же компьютере, что и сервер Oracle. В ранних версиях, для того, чтобы поменять значения параметров, необходимо было отредактировать вручную файл initSID.ora и перезапустить экземпляр. Теперь те же самые действия могут быть произведены с помощью команды ALTER SYSTEM. Новые значения сохранятся в spfile и будут действительны после перезапуска экземпляра.

Модифицировать SPFILE можно, сначала экпортировав его в текстовый файл командой*
CREATE PFILE='MySPFile.ora' FROM SPFILE;

Созданный таким образом текстовый файл можно отредактировать вручную, а затем
пересоздать SPFILE с помощью команды*
CREATE SPFILE FROM PFILE 'MyPFile.ora';

Команда*
ALTER SYSTEM ... SCOPE=BOTH
фактически делает то же самое, то есть обновляет параметры SPFILE.

4. Как сделать "холодный" бэкап
(Подробнее об этом читайте Oracle9i Database Administrator's Guide, Part Number A96572-01, Making User-Managed Backups)

Холодный бэкап - копирование всех необходимых для работы базы данных файлов, выполненные при выключенной базе данных.

В случае нескольких работающих экземпляров (instance) на одной базе данных эти действия должны быть произведены для каждого экземпляра!

Сначала необходимо получить список всех файлов, которые должны быть заархивированы Запустите SQL*Plus и подключитесь пользователем SYS (as sysdba) к обрабатываемому экземпляру, сохранив для будущей обработки следующую информацию
  • Список файлов данных:
    SELECT NAME FROM V$DATAFILE;
  • Список журналов транзакций:
    SELECT MEMBER FROM V$LOGFILE;
  • Список контрольных файлов:
    SELECT NAME FROM V$CONTROLFILE;
  • Список всех файлов с расширением .ora, располагающихся в каталоге ORACLE_HOME и всех его подкаталогах. Это рекомендуется делать средствами операционной системыю.
Остановите Oracle сервер одной из следующих команд* :
SHUTDOWN NORMAL;
SHUTDOWN IMMEDIATE;
SHUTDOWN TRANSACTIONAL;

НЕ ОСУЩЕСТВЛЯЙТЕ холодый бэкап, если сервер не был корректно остановлен с этими опциями!

Скопируйте в резервный каталог все файлы из списков, пользуясь средствами операционной системы

Запустите сервер Oracle командой*
STARTUP OPEN;

5. Как сделать "горячий" бэкап

Горячий бэкап - копирование всех необходимых для работы базы данных файлов, выполненные при включенной базе данных.

1. Сначала необходимо получить список всех файлов данных, принадлежащих всем табличным пространствам командой*

SELECT TABLESPACE_NAME, FILE_NAME FROM SYS.DBA_DATA_FILES

2. Затем для каждого табличного пространства необходимо сделать следующее:

- перевести табличное пространство в режим BACKUP командой*
ALTER TABLESPACE _tablespace_name_ BEGIN BACKUP;
- средствами операционной системы скопировать все файлы данных, принадлежащие этому табличному пространству, в каталог для резервного копирования;
- вернуть табличное пространство в обычный режим командой*
ALTER TABLESPACE _tablespace_name_ END BACKUP;

3. И в завершение всего заархивировать неархивированные журналы транзакций командой*
ALTER SYSTEM ARCHIVE LOG CURRENT;

* Под словом "команда" имеется в виду следующее
Вы должны запустить одну из утилит Оракла для управления сервером Оракл - Server Manager или SQL*Plus. Эти утилиты находятся в каталоге ORACLE_HOME\BIN.
Запуск Server Manager
для версии 8.0 - svrmgr30.exe.
для версии 8.i - svrmgrl.exe.
в версии 9 отсутствует.
Запуск SQL*Plus
для версии 8.0 - plus80w.exe
для версий 8i и 9i - sqlplusw.exe

Сразу после запуска Вы должны подсоединиться к серверу командой connect USER/PASSWORD.
Здесь USER может быть internal (с умолчательным паролем oracle, этот пользователь отсутствует в 9i), SYS или другой пользователь, имеющий роль SYSDBA.
В версии 9i требуется режим подключения как SYSDBA. Синтаксис вызова из командной строки sqlplusw "sys/PASSWORD as SYSDBA". Здесь подразумевается, что Вы запускаете эти утилиты на том же компьютере, где установлен сервер Oracle, и подключаетесь к единственному или умолчательному инстансу. Если у Вас несколько инстансов, то необходимо указать так в строке подключения название инстанса (см. файл ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora) sqlplusw "sys/PASSWORD@SERVER_NAME as SYSDBA".

Hosted by uCoz