Файлы базы данных Oracle


Oracle Instance


Предполагается, что вы инсталлировали базу данных, согласно документа.


Обязательные файлы:



Необязательные файлы:


Файлы данных (Data Files)

Все данные в базе данных Oracle сохраняются в файлах данных. Все таблицы, индексы, триггеры, последовательности, программы на PL/SQL, представления - все это находится в файлах данных. И хотя эти и другие объекты базы данных логически содержатся в табличных пространствах, в действительности они сохраняются в файлах на жестком диске компьютера.

В каждой базе данных Oracle имеется по крайней мере один файл данных (но обычно их бывает больше). Если вы создаете в Oracle таблицу и заполняете ее строками, Oracle помещает эту таблицу и строки в файл данных. Каждый файл данных может быть связан только с одной базой данных.

У каждого файла данных имеется специальный формат, внутренний для программного обеспечения Oracle. Важно отдавать себе отчет в том, что файл данных состоит из заголовка и совокупности блоков. Заголовок файла данных Oracle содержит несколько структур, в том числе и идентификатор базы данных, номер и имя файла, тип файла, SCN создания и состояния файла.

Данные в файлы вносятся исключительно средствами Oracle.

Следующий запрос, покажет, где находятся файлы данных.


SQL> set linesize 200;
SQL> set pagesize 0;
SQL> col  name format a40;
SQL> select file#, name, status from v$datafile;


1 /u02/oradata/ora112/system01.dbf         SYSTEM
2 /u02/oradata/ora112/sysaux01.dbf         ONLINE
3 /u02/oradata/ora112/undotbs01.dbf        ONLINE
4 /u02/oradata/ora112/users01.dbf          ONLINE
5 /u02/oradata/ora112/my_indexes01.dbf     ONLINE
6 /u02/oradata/ora112/my_data01.dbf        ONLINE


Оперативные файлы журналов повтора (Online Redo Log Files)

Оперативные файлы журналов повтора - предназначены для записи всех изменений, выполненных над данными базы данных Oracle. Используется для хранения на диске информации для повторного выполнения операций.

Для компьютера выполнить задачи повторно - означает выполнить ее точно так, как она выполнялась в предыдущий раз. Поэтому назначение оперативного файла журнала повтора заключается в сохранении информации об изменениях в базе данных таким, образом, чтобы позже их можно было повторить.

Каждая база данных должна иметь не менее двух оперативных файлов журналов повтора. Текущий файл постепенно заполняется, после его заполнения (или переключения некоторыми командами), база данных приступает к записи в следующий файл. Эта операция называется переключением журналов.

Поскольку файлы повтора необходимы для выполнения восстановления базы данных и являются критичными, их объединяют в группы. Запись происходит одновременно в файлы одной группы.


SQL> set linesize 200;
SQL> set pagesize 0;
SQL> col  member format a50;
SQL> select group#, member from v$logfile order by group#;


1 /u02/oradata/ora112/redo01.log
1 /u01/app/oracle/fast_recovery_area/redo01.log
2 /u01/app/oracle/fast_recovery_area/redo02.log
2 /u02/oradata/ora112/redo02.log
3 /u01/app/oracle/fast_recovery_area/redo03.log
3 /u02/oradata/ora112/redo03.log


Управляющие файлы (Control Files)


Поскольку база данных Oracle является физическим набором связанных файлов данных, то для их синхронизации и контроля требуется особые методы. Для этих целей используются управляющие файлы.

База данных Oracle может иметь один или несколько управляющих файлов. Если имеется несколько управляющих файлов, все они должны быть абсолютно идентичными. При каждом запуске базы данных Oracle читает информацию управляющего файла, а при каждом изменении размещения или добавления новых файлов данных и журналов базы данных обновляет управляющий файл.


SQL> set linesize 200;
SQL> set pagesize 0;
SQL> col  name format a100;
SQL> select name from v$controlfile;


/u02/oradata/ora112/control01.ctl
/u02/oradata/ora112/control03.ctl
/u01/app/oracle/fast_recovery_area/ora112/control02.ctl


Файлы параметров pfile, spfie (Parameter Files)


Файлы параметров используются для конфигурирования действий Oracle предже всего при старте. Для того, чтобы запустить экземпляр базы данных, Oracle должен прочесть файл параметров и определить, какие параметры инициализации установлены для этого экземпляра. В файле параметров содержатся многочисленные параметры и их установленные значения. Oracle считывает файл параметров при запуске базы данных. Можно создать несколько файлов параметров, каждый будет соответствовать различным конфигурациям экземпляра.

  • spfile - бинарный файл, который используется сервером Oracle при старте.
  • pfile - текстовый файл с параметрами, будет использоваться при старте, если не будет найден spfile.


$ ls /u01/app/oracle/product/11.2/dbs/*.ora
/u01/app/oracle/product/11.2/dbs/init.ora
/u01/app/oracle/product/11.2/dbs/spfileora112.ora


При старте, Oracle считает файл spfileora112.ora. (файл серверных параметров). Преимущество spfile заключается в том, что при работе с базой данных, любые изменения в базе касающиеся изменения параметра системы, автоматически записываются в данный файл.

Если используется pfile, для сохранения изменений, необходимо либо “руками вносить эти изменения” в текстовый файл, либо в консоли выполнять команды для создания данных файлов Ораклом.


// создание pfile из памяти (в 11 версии Oracle)
SQL> create pfile from memory;


// создать pfile из spfile
SQL> Create pfile from spfile;


Как я могу узнать, что моя база данных использует PFILE или SPFILE?

Выполните следующий запрос, чтобы увидеть какой файл параметров был использован:

SELECT DECODE(value, NULL, 'PFILE', 'SPFILE') "Init File Type"
FROM sys.v_$parameter WHERE name = 'spfile';


Init F
------
SPFILE


SQL> show parameter spfile;



NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/11.2/d
                                                    bs/spfileora112.ora


Архивные файлы журналов повтора (Archive Log Files)

Как только оперативный файл журнала повтора (Redolog) оказывается заполнен, программное обеспечение сервера Oracle начинает запись в следующий файл. Эта операция повторяется, как следствие информация в оперативных файлах журнала (Redolog) многократно перезаписывается.

Если необходимо сохранить историю изменений, нужно, чтобы после переключения журналов сохранялась их копия. Для этого достаточно перевести работу базы данных в режим работы ARCHIVELOG.

Архивные файлы журналов повтора жизненно важны при восстановлении. Если часть базы данных потеряна или повреждена, то для устранения повреждений обычно требуется несколько архивных журналов или туева хуча этих журналов. Файлы журналов повтора должны применяться к базе данных последовательно. Если один из архивных файлов журналов повтора пропущен, то остальные архивные файлы журналов не могут использоваться. Храните все свои архивные файлы журналов повтора с момента выполнения последней резервной копии. Файлы журналов постепенно накапливаются и разрастаются. Иногда необходимо их удалять. Все операции с данными файлами по применению их к базе выполняются исключительно средствами базы данных. А копировать и переносить их при желании можно как угодно. Бездумно удалять их руками не рекомендуется.


SQL> set linesize 200;
SQL> set pagesize 0;
SQL> col  name format a100;
SQL> select name from v$archived_log;


...
/u01/app/oracle/fast_recovery_area/ORA112/archivelog/2011_11_22/o1_mf_1_11_7dq050f1_.arc
/u01/app/oracle/fast_recovery_area/ORA112/archivelog/2011_11_23/o1_mf_1_12_7dsykrjd_.arc
/u01/app/oracle/fast_recovery_area/ORA112/archivelog/2011_11_24/o1_mf_1_13_7dw3fy96_.arc
/u01/app/oracle/fast_recovery_area/ORA112/archivelog/2011_11_24/o1_mf_1_14_7dw3ys4f_.arc
/u01/app/oracle/fast_recovery_area/ORA112/archivelog/2011_11_26/o1_mf_1_15_7f04bqyq_.arc
...


Alert log и трассировочные файлы (trace file)

При работе базы данных события и ошибки регистрируются в текстовых файлах на сервере базы данных. Файл журнала предупреждений (alert log) нужен администратору базы данных для отслеживания важнейших действий с базой данных - наподобие открытия и закрытия базы данных, установления параметров загрузки базы данных и переключения оперативных журналов повтора. Также в эти файлы записываются многие ошибки базы данных для последующего расследования их причин. Любые структурные изменения базы данных также регистрируются в файле журнала предупреждений.


// в 11 версии базы данных по умолчанию:
$ ls /u01/app/oracle/diag/rdbms/rdb115/RDB115/trace
alert_${SID_NAME}.log


// в 11 версии появилась XML версия. По умолчанию:
$ ls /u01/app/oracle/diag/rdbms/ora112/ora112/alertlog.xml


Когда возникает ошибка базы данных, может генерироваться файл трассировки (trace file). Они содержит подробную информацию о возникновении ошибки.


// в 11 версии базы данных по умолчанию трассировочные файлы хранятся
/u01/app/oracle/diag/rdbms/ora112/ora112/trace


// Следующая команда выведет информацию по расположению трассировочных файлов
SQL> show parameter dump_dest


Файлы паролей (Password File)

Необязательный файл, используется для защиты информации о подключениях привилегированных пользователей. Если отсутствует, то вы можете выполнять администрирование своей базы данных, только локально. Кроме того, с его помощью контролируется количество привилегированных подключений для управления в одно и то же время.


$ ls /u01/app/oracle/product/11.2/dbs/orapw*
/u01/app/oracle/product/11.2/dbs/orapwora112