Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Журнал Повторений




Пример работы Oracle.

Глобальная область системы (SGA)

Структуры памяти

ORACLE создает и использует свои структуры памяти для выполнения некоторых задач. Например, память используется для размещения исполняемого программного кода и данных, разделяемых между пользователями. С ORACLE ассоциируются несколько базовых структур памяти: глобальная область системы (которая включает буфера базы данных и журнала повторения, а также разделяемый пул) и глобальные области программ. Следующие секции подробно объясняют каждую из этих видов областей.

ГЛОБАЛЬНАЯ ОБЛАСТЬ СИСТЕМЫ (SGA) - это область памяти разделяемой между процессами. Область SGA и фоновые процессы ORACLE составляют инстанцию ORACLE. SGA распределяется при запуске инстанции и освобождается при закрытии инстанции. Для оптимальной производительности SGA должна быть максимально большой (пока позволяет реальная память), чтобы держать как можно больше данных в памяти и минимизировать дисковые операции. Информация, хранящаяся в SGA, подразделяется на несколько типов структур памяти, включая: буфера базы данных, буфера журнала повторения и разделяемый пул. Эти области имеют фиксированные размеры и создаются при запуске инстанции. Буферный кэш базы данных БУФЕРА БАЗЫ ДАННЫХ в SGA хранят наиболее недавно использовавшиеся блоки данных из базы данных; все множество буферов базы данных в инстанции составляет БУФЕРНЫЙ КЭШ БАЗЫ ДАННЫХ.

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

  1. ЭКЗЕМПЛЯР - работает на том компьютере, на котором выполняется ORACLE (часто называемом ХОСТОМ или СЕРВЕРОМ БАЗЫ ДАННЫХ, информацию о текущем состоянии сервера БД, экземпляре, можно получить по V$INSTANCE)

ЭКЗЕМПЛЯР (INSTANCE она же инстанция) СУБД Oracle √ это набор серверных процессов, объединенных единой глобальной системной областью и связанных с общим набором совместно используемых файлов данных. К примеру если на сервере работает две независимые базы данных, и каждая обладает своей глобальной системной областью и независимым набором сервисных процессов то у нас будет два экземпляра базы данных Oracle; каждому из экземпляров присваевается системный идентификатор SID (system identifier)

  1. Компьютер, используемый для приложений (ЛОКАЛЬНАЯ МАШИНА или РАБОЧАЯ СТАНЦИЯ КЛИЕНТА) выполняет приложение в рамках пользовательского процесса. Приложение-клиент пытается установить соединение с сервером, используя подходящий драйвер SQL*Net.
  2. Сервер также выполняет соответствующий драйвер SQL*Net. Сервер обнаруживает запрос на соединение от приложения и создает (выделенный) процесс сервера от имени пользовательского процесса.
  3. Пользователь выполняет предложение SQL и подтверждает свою транзакцию. Например, пользователь изменяет данные в строке таблицы.
  4. Процесс сервера принимает это предложение и проверяет разделяемый пул, чтобы отыскать в нем разделяемую область SQL, содержащую идентичное предложение SQL. Если такая разделяемая область SQL найдена, процесс сервера проверяет пользовательские привилегии доступа к запрашиваемым данным и использует существующую разделяемую область SQL для обработки предложения; если нет, то для предложения распределяется новая разделяемая область SQL, в которой осуществляется разбор и исполнение предложения.
  5. Процесс сервера извлекает все необходимые значения данных из файла данных (таблицы) или получает их из SGA.
  6. Процесс сервера модифицирует данные в SGA. Процесс DBWR записывает модифицированные данные на диск для постоянного хранения, если сочтет это необходимым. Поскольку транзакция подтверждена, процесс LGWR немедленно регистрирует транзакцию в онлайновом файле журнала повторения.
  7. Если транзакция успешна, процесс сервера посылает сообщение через сеть приложению. В противном случае передается соответствующее сообщение об ошибке.
  8. Во время всей описанной процедуры работают другие фоновые процессы, наблюдая за условиями, которые могут потребовать вмешательства. Кроме того, сервер базы данных управляет транзакциями других пользователей и предотвращает соперничество между транзакциями, запрашивающими одни и те же данные.

Эти шаги описывают лишь самый основной уровень операций, которые осуществляет ORACLE.

Каждая база данных ORACLE имеет набор из двух или более ФАЙЛОВ ЖУРНАЛА ПОВТОРЕНИЯ РАБОТЫ. Комплект файлов журнала повторения работы для одной базы данных совместно называется ЖУРНАЛОМ ПОВТОРЕНИЯ (redo log).

В базе данных Oracle имеется файлы двух типов:

  • Файлы данных, сгруппированные в табличные пространства.
  • Файлы данных, относящиеся к классу журнала повтора.

В базе данных как минимум должно быть не менее двух оперативных журналов повтора.

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

Файлы журнала повторения критичны в вопросе защиты базы данных от сбоев. Чтобы защититься от таких сбоев, которые затрагивают сам журнал повторения, ORACLE допускает ЗЕРКАЛЬНЫЙ ЖУРНАЛ ПОВТОРЕНИЯ, так что две или более копий журнала повторения можно поддерживать одновременно на разных дисках.

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

Процесс применения журнала повторения в процессе операции восстановления базы данных называется ПРОКРУТКОЙ ВПЕРЕД. База данных может работать в двух режимах. В режиме ARCHIVELOG и в режиме NOARCHIVELOG, соответственно либо, создается архивная копия всех журналов транзакций, либо содержимое транзакций не сохраняется. Для определения текущего режима работы экземпляра выдают команду archive log list, из под Server* Manager. Многие аспекты процесса архивирования указаны параметрами файла INIT.ORA Восстановление после сбоя экземпляра, с использование только журнала обновления, называется - оперативным восстановлением.

Чтобы добавить новые члены в существующую группу журнала, используйте либо диалог Add Online Redo Log Member в SQL*DBA, либо команду SQL ALTER DATABASE с параметром ADD LOGFILE MEMBER. Для удаления группы онлайнового журнала повторения вы должны иметь системную привилегию ALTER DATABASE.

Число онлайновых файлов журнала базы данных ограничивается тремя параметрами:

  • Параметр MAXLOGFILES, который использовался в предложении CREATE DATABASE при создании базы данных, определяет максимальное число групп онлайнового журнала на базу данных; номера групп могут изменяться от 1 до MAXLOGFILES. Единственный способ перекрыть эту верхнюю границу - заново создать базу данных или ее управляющий файл; поэтому важно рассмотреть это значение перед созданием базы данных. Если в предложении CREATE DATABASE не указан параметр MAXLOGFILES, то ORACLE использует умалчиваемое значение, зависящее от операционной системы.
  • Параметр LOG_FILES в файле параметров может временно уменьшить максимальное число групп файлов журнала на время исполнения текущего экземпляра. Значение этого параметра не может превышать значение MAXLOGFILES. Если в файле параметров не указан параметр LOG_FILES, то ORACLE использует умалчиваемое значение, зависящее от операционной системы.
  • Параметр MAXLOGMEMBERS, который использовался в предложении CREATE DATABASE при создании базы данных, определяет максимальное число членов в группе. Как и для MAXLOGFILES, единственный способ перекрыть эту верхнюю границу - заново создать базу данных или ее управляющий файл; поэтому важно рассмотреть это значение перед созданием базы данных. Если в предложении CREATE DATABASE не указан параметр MAXLOGMEMBERS, то ORACLE использует умалчиваемое значение, зависящее от операционной системы.

Журнал повтора можно разделить на две категории: оперативные и архивные. Оперативные журналы повтора √ это два и более журналов, записываемые во время работы базы данных;При работе в режиме ARCHIVELOG перед началом перезаписи Oracle копирует содержимое очередного оперативного журнала повтора в соответствующее место на диске, где хранятся архивные журналы повтора. В момент переключения оперативных журналов повтора, каждому создаваемому журналу присваивается определенный порядковый номер, в соответствие с коим происходит процесс переключения журналов повтора.

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

Номер цикла Порядковый номер архивного журнала Группа журнала повтора Состояние
Подключение Й1     Активна
  Не активна
  Архивируется
Подключение Й2     Архивируется
  Активна
  Не активна
Подключение Й3     Не активна
  Архивируется
  Активна
Подключение Й4     Активна
  Не активна
  Архивируется



Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 534; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.