Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Работа > Архитектура > Файловая подсистема

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 05.03.2010, 11:45
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Управляющие файлы (CONTROL_FILES)

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

Управляющие файлы отслеживают все файлы, которые нужны Oracle, и их местонахождение на хост-машине. Управляющие файлы также содержат информацию об именах элементов журнала базы данных и их местонахождении в файлах система. Без управляющих файлов сервер базы данных Oracle не смог бы найти свои физические компоненты. Имена управляющих файлов задаются в файле init.ora для каждого экземпляра Oracle.


=======================================


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

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

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


================================================== ====

Основное представление, доступное в словаре данных Oracle для использования управляющего файла и управления, - это представление V$CONTROLFILE. В этом представлении тольк два столбца: STATUS и NAME.

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

Код:
select * from V$CONTROLFILE





Код:
select name, value from v$spparameter where name = 'control_files';


-----------------------------------------------------------------


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

CONTROLFILE_TYPE - тип раздела в файле управления.
CONTROLFILE_CREATED указывает, когда был создан текущий файл управления.
CONTROLFILE_SEQUENCE# - текущий порядковый номер для базы данных, зарегистрированной в файле управления.
CONTROLFILE_CHANGE# - текущий системно изменяемый номер для базы данных, зарегистрированной в файле управления.
CONTROLFILE_TIME указывает, когда файл управления изменялся в последний раз.

---------------------

V$CONTROLFILE_RECORD_SECTION показывает информацию, хранимую в различных разделах управляющего файла.

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

Последний раз редактировалось Marley; 21.09.2015 в 07:55.
Ответить с цитированием
  #2  
Старый 05.03.2010, 11:46
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Использование управляющих файлов

Использование управляющих файлов

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

При создании новых физических дисковых ресурсов (например, табличных пространства)
При изменении определенным образом существующего дискового ресурса (например, при добавлении файла данных к табличному пространству)
Когда LGWR прекращает записывать в одни оперативный журнал базы данных и начинает другой ( переключение журналов)
__________________
Телеграм чат
Ответить с цитированием
  #3  
Старый 05.03.2010, 11:46
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Параметр CONTROL_FILES

Параметр CONTROL_FILES

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

По умолчанию в окружении Windows и UNIX Database Configuration Assistant (DBCA) создаст три файла управления и поместит их в каталог /oradata/database_name под домашним каталогом ПО Oracle. DBCA назовет их controlnn.dbf, где nn число от 01 до 03. При определении своих собственных управляющих файлов, можно соблюдать любые соглашения об именовании, которые вам нравятся.
__________________
Телеграм чат
Ответить с цитированием
  #4  
Старый 05.03.2010, 11:48
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Исследование содержимого управляющего файла

Исследование содержимого управляющего файла

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

Содержание управляющего файла:

Информация об имени базы данных и идентификаторе, указанная вами при создании базы данных.
Информация о дате и времени создания базы данных, указанная вами при создании базы данных.
Местонахождение файлов данных и журнала базы данных в файловой системе, указанное вами при создании базы данных и при добавлении файлов данных или журнала базы данных.
Имена табличных пространств и связи между табличными пространствами и файлами данных, указанные вами при создании табличных пространств или позднее, при добавлении дополнительных файлов данных к существующему табличному пространству.
Информация о том, когда были приняты архивные журналы. Как правило, эта информация генерируется Oracle автоматически.
Информация о том, когда были приняты резервные копии. Это информация генерируется при создании резервных копий.
Порядковый номер текущего оперативного фала журнала базы данных. Как правило, эта информация генерируется Oracle автоматически.
Информация о текущей контрольной точке. И эта информация, как правило, генерируется Oracle автоматически.
__________________
Телеграм чат
Ответить с цитированием
  #5  
Старый 05.03.2010, 11:50
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Восстановление управляющего файла

Восстановление управляющего файла

Иногда требуется восстановление управляющих файлов для различных целей. Например, если нужно переименовать базу данных, потому что вы создаете ее копию на той же машине, которая является хостом первоначальной базы данных. Или если потребуется изменить настройки базы данных, например maxlogfiles, которые задаются при создании базы данных. Возможно, вы даже утратили управляющий файл. Какова бы ни была причина, метод восстановления один и тот же .Введите команду alter database backup controlfile to trace. Ключевое слово trace в этой команде указывает, что Oracle сгенерирует сценарий, содержащий команду create controlfile, и сохранит ее в каталоге trace, указанном в параметре USER_DUMP_DEST в файле init.ora.

Пример сценария создания управляющего файла, сгенерированного этой командой, приводится в следующем блоке кода:

Код:
#  Следующие команды создадут новый управляющий файл и используют его для открытия базы данных.
#  Данные, используемые Recovery Manager, будут утеряны. Могут потребоваться дополнительные журналы для восстановления носителей автономны файлов данных. Используются только, если доступна текущая версия всех оперативных журналов.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE ORGDB01 NORESETLOGS
NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 2
MAXDATAFILES 240
MAXINSTANCES 1
MAXLOGHISTORY 113
LOGFILE
GROUP 1 (/ORACLE/disk_01/logla.dbf , /ORACLE/disk_02/loglb.dbf) SIZE 30M,
GROUP 2 (/ORACLE/disk_03/log2a.dbf , /ORACLE/disk_04/log2b.dbf) SIZE 30M
DATAFILE
/oracle/disk_05/system01.dbf,
/oracle/disk_05/system02.dbf
;

# Требуется восстановление, если какие-либо файлы данных являются восстановленными  резервными копиями, или если последнее выключение не было normal или immediate.
RECOVER DATABASE
# Теперь возможно нормальное открытие базы данных.
ALTER DATABASE OPEN;
__________________
Телеграм чат
Ответить с цитированием
  #6  
Старый 05.03.2010, 11:51
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Мультиплексирование управляющих файлов

Мультиплексирование управляющих файлов

Следует сохранять копии управляющих файлов на разных дисках для минимизации риска утраты этих важных физических дисковых ресурсов. Oracle рекомендует перенести эти управляющие файлы на разные дисковые ресурсы и задать параметр CONTROL_FILES, чтобы Oracle знала, что существует несколько копий управляющего файла, которые требуется сопровождать. Это называется мультиплексированием (multiplexing) или зеркальным отображением (mirroring) управляющего файла. Мультиплексирование управляющего файла снижает зависимость Oracle от доступности какого-либо из дисков на хост-машине. В случае сбоя базу данных легче восстановить, так как поддерживалось несколько копий управляющего файла. Ни в коем случае не следует использовать для базы данных Oracle только один управляющий файл, поскольку в случае его утраты трудно восстановить базу данных.

Мультиплексирование управляющих файлов


Код:
alter system

set control_files = '/u01/oracle/wnse2/ctriwhsel.ctl', 
                         '/u01/oracle/wnse2/ctrlwhse2.ctl',
                         '/u03/oracle/whse2/ctrlwhse3.ctl',
scope = spfile;
-- команда вносит изменения в spfile, для применения обновлений, требуется перезапуск БД

- Остановите базу данных.
- Скопируйти управляющие файлы.
- Перезапустите базу данных


================================================== ===========

Windows

*.bat

Код:
spool on;
shutdown immediate;
startup nomount;
alter system set control_files = 'C:\ORACLEXE\ORADATA\XE\CONTROL.dbf', 'd:\backup\cf\control.dbf' scope=spfile;
host "xcopy C:\ORACLEXE\ORADATA\XE\CONTROL.dbf d:\backup\cf\";
startup;
select name from v$controlfile;
exit
Вместо C:\ORACLEXE\ORADATA\XE\CONTROL.dbf необходимо указать текущий control file
Вместо d:\backup\cf\control.dbf указать где будет храниться резервный control file.


----------------------------------

Linux/Unix

Код:
SQL> ALTER SYSTEM SET contol_files = $HOME/ORADATA/u01/ctrl01.ctl, $HOME/ORADATA/u02/ctrl02.ctl SCOPE=SPFILE;
SQL> shutdown
$ cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORADATA/u02/ctrl02.ctl
SQL> startup
__________________
Телеграм чат

Последний раз редактировалось Marley; 05.03.2010 в 14:46.
Ответить с цитированием
Ответ

Метки
control file, управляющие файлы

Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 13:53. Часовой пояс GMT +3.


Powered by vBulletin®