Системная архитектура и структура oracle реферат

Обновлено: 05.07.2024

Основные элементы архитектуры Oracle. БД и экземпляр Oracle.

Архитектура Oracle состоит из:

  • Файлы БД
  • Процессы
  • Области оперативной памяти

Файлы журналов повтора (журналы транзакций)

  • содержат сведения о выполнении транзакций;
  • используются для восстановления транзакций базы данных в надлежащем порядке в случае сбоя БД;
  • сохранение информации журналов повтора является внешним по отношению к файлам данным;
  • предоставляют Oracle способ записи данных на диск.

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

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

База данных будет создавать и поддерживать управляющие файлы, заданные при ее создании.

Трассировочные файлы

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

Процессы Oracle:
— Системные:
PMON — процесс, который осуществляет слежение (монитор процессов)
SMON — системный монитор
DBWR — процесс записи данных в базу
LGWR — процесс, обеспечивающий запись информации в журнал транзакции или журнал повторов (LogWriter)
— Пользовательские (для подключения к базе данных):
код сервера + инструментальная часть
Инструментальная часть — код какого-либо программного средства (утилита с помощью которой пользователь подключается к базе данных, например, SQL * Plus, SQL Navigator).
Процессы Oracle используют файлы, совокупность которых является физическим представлением базы данных:

  • файлы данных
  • управляющие файлы
  • журнальные файлы

Управляющие файлы и журнальные файлы поддерживают функционирование сервера. Должны присутствовать в БД, быть открытым и доступными серверу.

Память, используемая Oracle
Системная память для всей базы данных — SGA (system global area) — глобальная системная область (ГСО).
Используется совместно разными процессами.
Последняя запрошенная информация сохраняется в определенных частях ГСО. Части ГСО:

  • Кэш-буфер данных
  • Разделяемый пул SQL
  • Большой пул
  • Пул Java

Эти части в сумме могут составлять до 95% ГСО.

Для процесса (пользовательского или системного) в памяти сервера выделяется PGA (process global area — глобальная область процесса):

  • содержит данные и управляющую информацию одного процесса;
  • между процессами не разделяется.

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

Файл конфигурации — обычный текстовый файл, может быть изменен администратором БД с целью настроек сервера.
Параметры файла определяют объем ресурсов, ассоциированных с конкретной базой данных.
Запущенный экземпляр получает уникальный идентификатор — SID (Server Identifier)
Параметры, определяющие размер и состав экземпляра:

  • файл параметров инициализации (init.ora)
  • файл параметров сервера (spfile.ora)

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

Словарь данных
Логически база данных — это множество схем, каждая из которых идентифицируется своим именем, уникальным в данной БД. Информация о структуре объектов базы данных, их расположении, правах доступа и т.п. хранится в словаре данных (базе метаданных).
Информация словаря данных хранится в виде таблиц, над которыми созданы многочисленные представления.

Представления словаря данных: (префиксы)
DBA — сведения обо всех объектах базы данных
ALL — сведения только о тех объектах, которые доступны пользователю
USER — сведения обо всех объектах базы данных, принадлежащих пользователю

Например, USER_TABLES — сведения о таблицах, которые находятся в схеме текущего пользователя.

Просмотр текущей активности сервера — обеспечивают специальные представления с префиксом V$
Например, V$SESSION — сведения о текущих сеансах.
После создания базы данных и ее запуска требуется, используя системные учетные записи SYS или SYSTEM, войти в СУБД для создания учетных записей других пользователей.

Учетная запись пользователя — не является физической структурой, но связана важными взаимоотношениями с объектами базы данных, поскольку пользователям принадлежат объекты.
Пользователь SYS — владеет таблицами словаря данных, содержащими информацию об остальных структурах базы данных
Пользователю SYSTEM принадлежат представления, обращающиеся к этим таблицам словаря данных.

Схема — набор объектов, принадлежащих учетной записи пользователя.

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

На мировом рынке корпоративных систем управления базами данных (СУБД) доминирующее положение занимает традиционная тройка продуктов: IBM DB2, Microsoft SQL Server и Oracle. Более 80% рынка СУБД в течение долгих лет контролируется тремя компаниями производителями: IBM, Oracle и Microsoft.
По статистическим данным на рынке России лидирующее положение занимает Oracle, так как по статистическим данным за 2010 год, данная СУБД занимает более 60% всего рынка, среди других СУБД и около 30% мирового рынка СУБД.
СУБД Oracle имеет большое количество различных версии и типов. Данная СУБД выпускается одноименной компанией Oracle.

Прикрепленные файлы: 1 файл

сам реферат.docx

На мировом рынке корпоративных систем управления базами данных (СУБД) доминирующее положение занимает традиционная тройка продуктов: IBM DB2, Microsoft SQL Server и Oracle. Более 80% рынка СУБД в течение долгих лет контролируется тремя компаниями производителями: IBM, Oracle и Microsoft.

По статистическим данным на рынке России лидирующее положение занимает Oracle, так как по статистическим данным за 2010 год, данная СУБД занимает более 60% всего рынка, среди других СУБД и около 30% мирового рынка СУБД.

СУБД Oracle имеет большое количество различных версии и типов. Данная СУБД выпускается одноименной компанией Oracle.

Компания Oracle была основана нынешним президентом компаний Лэрри Элисоном и Роберттом Майнором в 1977 году, в Рэдвуде, штат калифорния. Первая реляционная СУБД фирмы базировалась на модели IBM System/R и была первой системой, в которой использовался язык SQL, разработанный фирмой IBM.

На сегодняшний день СУБД Oracle поддерживают свыше 80 вариантов операционной среды в широком диапазоне, включая мэйнфреймы IBM, мини-компьютеры DEC VAX, UNIX, Windows и множество других платформ.

Для примера возьмем Oracle9i. Ядром СУБД является сервер базы данных, который поставляется в одной из четырех редакций в зависимости от масштаба информационной системы, в рамках которой предполагается его применение.

Для интернет-систем (public) и систем масштаба крупной организации (enterprise) предлагается продукт Oracle9i Database Enterprise Edition (корпоративная редакция), для которого имеется целый набор опций, архитектурно и функционально расширяющих возможности сервера. Продукт Oracle9i Database Standard Edition (стандартная редакция) ориентирован на организации среднего масштаба или подразделения в составе крупной организации (workgroup). Для персонального использования предлагается "персональный Oracle" (Oracle9i Database Personal Edition) , и для систем мобильной связи и небольших офисов — Oracle9i Database Lite. В стандартной, персональной и мобильной редакциях основной акцент сделан на невысокую стоимость, простоту установки и сопровождения. При этом все варианты сервера Oracle имеют в своей основе один и тот же исходный код и функционально идентичны , за исключением некоторых дополнительных опций, которые необходимы для специфических конфигураций (например, для поддержки кластерных архитектур необходима опция Oracle9i Real Application Clusters).

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

Одной из основных характеристик СУБД Oracle является функционирование системы на большинстве платформ. В том числе на больших ЭВМ, UNIX-серверах, персональных компьютерах и т. д.

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

Механизмы ORACLE работают через использование структур памяти и процессов. Все структуры памяти располагаются в основной памяти (иногда называемой виртуальной памятью или памятью произвольного доступа) компьютеров, составляющих систему базы данных. ПРОЦЕССЫ - это задания или задачи, работающие в памяти этих компьютеров.

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

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

БУФЕРА БАЗЫ ДАННЫХ в SGA хранят наиболее недавно использовавшиеся блоки данных из базы данных; все множество буферов базы данных в инстанции составляет БУФЕРНЫЙ КЭШ БАЗЫДАННЫХ. Эти буфера могут содержать модифицированные данные, которые еще не записаны на диск для постоянного хранения.

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

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

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

ГЛОБАЛЬНАЯ ОБЛАСТЬ ПРОГРАММЫ (PGA) - это буфер памяти, содержащий данные и управляющую информацию для процесса сервера.PGA создается ORACLE при запуске процесса сервера. Информация вобласти PGA зависит от конфигурации ORACLE.

ORACLE можно конфигурировать на различное число пользовательских процессов на один процесс сервера. В КОНФИГУРАЦИИ ВЫДЕЛЕННОГОСЕРВЕРА каждый процесс сервера обрабатывает запросы для одного пользовательского процесса. КОНФИГУРАЦИЯ МНОГОКАНАЛЬНОГОСЕРВЕРА позволяет многим пользовательским процессам совместно использовать небольшое число процессов сервера, минимизируя количество процессов сервера и максимизируя утилизацию доступных системных ресурсов.

ORACLE создает множество ФОНОВЫХ ПРОЦЕССОВ для каждой инстанции. В фоновых процессах сосредоточены те функции, которые иначе пришлось бы выполнять множеством программ ORACLE, запускаемых для каждого пользовательского процесса. Фоновые процессы асинхронно выполняют операции ввода-вывода и отслеживают другие процессы ORACLE, обеспечивая лучший параллелизм и улучшая производительность и надежность.

ПИСАТЕЛЬ БАЗЫ ДАННЫХ записывает модифицированные блоки из буферного кэша базы данных в файлы данных. Благодаря способу, которым ORACLE осуществляет журнализацию, процессу DBWR не требуется записывать эти блоки при завершении транзакции Вместо этого DBWR оптимизирован так, чтобы минимизировать обращения к диску. В общем случае, DBWR выполняет запись лишь тогда, когда в SGA требуется прочитать очередную порцию данных, а в буферном кэше недостает свободных буферов. Первыми записываются те данные, к которым было самое давнее обращение.

ПИСАТЕЛЬ ЖУРНАЛА записывает на диск записи журнала повторения. Эти записи генерируются в буфере журнала повторения в SGA. Когда транзакция завершается и буфер журнала заполняется, LGWR переписывает записи журнала повторения в файл журнала повторения.

МОНИТОР СИСТЕМЫ осуществляет восстановление инстанции во время запуска инстанции. В системе с несколькими инстанциями (при использовании Параллельного сервера), процесс SMON одной инстанции может также осуществлять восстановление других сбившихся инстанций. SMON также очищает временные сегменты, которые больше не используются, и восстанавливает мертвые транзакции, пропущенные после сбоя и восстановления инстанции в результате сбоев файлов или офлайновых ошибок.

МОНИТОР ПРОЦЕССОВ осуществляет восстановление процесса после сбоя пользовательского процесса. PMON отвечает за очистку КЭШа и освобождение ресурсов, использовавшихся процессом. PMON также контролирует диспетчерские и серверные процессы, и рестартует их, если они сбиваются.

АРХИВАТОР копирует онлайновые файлы журнала повторения в архивную память, когда они переполняются. ARCH активен лишь тогда, когда журнал повторения используется в режиме ARCHIVELOG.

ДИСПЕТЧЕРЫ - это необязательные фоновые процессы, существующие лишь в конфигурации многоканального сервера. По меньшей мере один диспетчерский процесс создается для каждого используемого коммуникационного протокола (D000, . Dnnn).

ПРОГРАММНЫЙ ИНТЕРФЕЙС - это механизм, посредством которого пользовательский процесс общается с процессом сервера. Он выступает как метод стандартной коммуникации между любым инструментом или приложением клиента (таким как SQL*Forms) и программным обеспечением ORACLE.

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

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

Архитектура Oracle состоит из:

  • Файлы БД
  • Процессы
  • Области оперативной памяти

Файлы журналов повтора (журналы транзакций)

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

База данных будет создавать и поддерживать управляющие файлы, заданные при ее создании.

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

Стас Белков

Система управления базами данных (СУБД) Oracle предназначена для одновременного доступа к большим объемам хранимой информации и манипуляции с ними. В СУБД есть два основных понятия, которые необходимо усвоить для понимания некоторых последующих моментов с точки зрения безопасности и защиты СУБД, – это база данных и экземпляр. Если в двух словах, то база данных – это набор файлов в ОС, а экземпляр – процессы и память, причем одна база данных может быть доступна в нескольких экземплярах, а экземпляр единовременно обеспечивает доступ только к одной базе данных. Теперь рассмотрим эти понятия подробнее.

База данных Oracle

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

Физический уровень базы данных

База данных и экземпляр на физическом уровне представлены шестью типами файлов. К экземпляру относятся файлы параметров, в которых прописываются его характеристики. Основной файл – это файл init.ora, отвечающий за параметры инициализации экземпляра, такие как имя базы данных, ссылку на управляющие файлы и пр. Пример файла инициализации представлен на рис. 1

файла инициализации Oracle init.ora

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

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

  • Файлы данных. В этих файлах хранятся собственно сами данные в виде таблиц, индексов, триггеров и прочих объектов. Файлы данных являются наиболее важными во всей базе данных. В стандартной базе должно присутствовать минимум два файла данных: для системных данных (табличное пространство SYSTEM) и для пользовательских данных (табличное пространство USER). В табличном пространстве SYSTEM хранятся пароли всех пользователей в зашифрованном виде.
  • Файлы журнала повторного выполнения (redo logs). Файлы журнала повторного выполнения очень важны для базы данных Oracle. В них записываются все транзакции базы данных. Они используются только для восстановления данных в самой базе при сбое экземпляра. В журналах повторного выполнения можно обнаружить множество критичной информации, о существовании которой рядовой администратор мог и не задуматься, в том числе и пароли пользователей.
  • Управляющие файлы. В этих файлах определено местонахождение файлов данных и другая информация о состоянии базы данных. Управляющие файлы должны быть хорошо защищены. Наиболее важным является файл параметров инициализации экземпляра, потому что без него не удастся запустить экземпляр. Остальные файлы, такие как LISTENER.ORA, SQLNET.ORA, PROTOCOL.ORA, NAMES.ORA и пр., связаны с поддержкой сети и так же очень важны. В этих файлах можно обнаружить множество полезной информации для проникновения в СУБД.
  • Временные файлы. Временные файлы используются для хранения промежуточных результатов действий над большим объемом данных в случае, если в оперативной памяти для этого не хватает места. Во временных файлах можно обнаружить содержимое временных таблиц и построенных по ним индексов. Временные файлы могут оказаться полезными в процессе расследования инцидентов или при восстановлении важной информации, удаленной из базы данных.
  • Файлы паролей. Используются для аутентификации пользователей, выполняющих удаленное администрирование СУБД по сети. Более детально о них мы будем говорить позже.

Как видно, с точки зрения безопасности каждый приведенный выше тип файлов имеет большое значение.

Логический уровень базы данных

На логическом уровне находятся табличные пространства и схема БД, состоящая из таблиц, индексов, представлений, хранимых процедур и пр.

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

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

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

Содержание


Базы данных и управление информацией. 2
Структура базы данных и управление пространством. 4
Реляционные СУБД. 4
Открытые и закрытые базы данных. 5
Структура базы данных. 5
Логические структуры. 5
Табличные пространства. 5
Схемы и объекты схем. 6
Блоки данных, экстенты и сегменты. 11
Физические структуры. 12
Файлы данных. 12
Файлы журнала повторения. 12
Управляющие файлы. 13
Словарь данных. 14
Системная архитектура ORACLE. 14
Структуры памяти и процессы. 14
Структуры памяти. 15
Глобальная область системы (SGA). 15
Глобальная область программы (PGA). 16
Процессы. 16
Пользовательские процессы (клиенты). 17
Процессы ORACLE. 17
Программный интерфейс. 19
Коммуникационное программное обеспечение и
SQL*Net. 19
Инстанция ORACLE. 20
Параллельный сервер ORACLE: системы с несколькими
инстанциями. 20






























Базы данных и управление информацией

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

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

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

много одновременных
пользователей базы данных

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

высокая производительность
обработки транзакций

ORACLE поддерживает все описанные выше средства, сохраняя
высокую степень суммарной производительности системы.
Пользователи базы данных не страдают от низкой
производительности обработки.

высокая степень готовности

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

управляемая доступность

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

промышленные стандарты

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

Сервер ORACLE7 был сертифицирован Национальным институтом
стандартов и технологий США как 100%-совместимый со стандартом
ANSI/ISO SQL89. ORACLE7 полностью удовлетворяет требованиям
правительственного стандарта США FIPS127-1 и имеет "маркировщик"
для подчеркивания нестандартных применений SQL.

Читайте также: