|
|
|||||||||||||||||||||||||||||
|
Урок 3: Создание базы данных Oracle. АрхитектураИсточник: all-oracle
Это уже третий урок, как и обещано, он посвящен созданию базы данных. Занятие разбито на две части, первая - теоретическая, вы познакомитесь с основными понятиями и компонентами базы данных, архитектурой и т.д. Вторая часть практическая, с помощью утилиты dbca мы создадим нашу первую базу данных. Архитектура базы данныхБаза данных Oracle содержит следующие виды файлов.
Существуют другие файлы, которые формально не входят в базу данных, но важны для успешной работы БД.
Остановимся на каждом типе файлов подробнее Управляющие файлы Управляющий файл читается при старте экземпляра в ходе монтирования базы данных. В записях этого файла хранятся описания физических файлов, образующие базу данных. Когда файлы добавляются к базе данных, в управляющий файл автоматически вносятся изменения. Местоположение управляющих файлов задается в параметре инициализации. Для защиты от отказов базы данных, вызванных потерей управляющего файла, следует мультиплексировать управляющий файл и использовать для них, по крайней мере, три различные физические устройства. Сервер базы данных Oracle сопровождает копии управляющего файла, заданные в параметре инициализации. Оперативные журналы В оперативные журнальные файлы повторного выполнения (redo log files) пишутся записи об изменениях, выполняемых в базе данных транзакциями и внутренними операциями сервера Oracle. Они позволяют восстановить целостность базы данных после системных сбоев, вызванных прекращением подачи электроэнергии, дисковых сбоев и т.п. Оперативные журнальные файлы необходимо мультиплексировать, чтобы гарантировать сохранность хранимой в них информации в случае дисковых сбоев. Журнальные файлы входят в группы журналов. Группа содержит журнальный файл и его мультиплексируемые копии. Каждая такая копия - член журнальной группы, и каждая группа однозначно определяется ее номером. Процесс записи данных повторного выполнения (log writer - LGWR) пишет информацию из журнального буфера в журнальную группу. После заполнения файлов журнальной группы или выполнения операции перехода из одной группы в другую процесс LGWR начинает писать в следующую группу. Журнальные группы используются "по кругу". Табличные пространства и файлы данных База данных разделена на логические структурные единицы, называемые табличными пространствами. Они используются для объединения хранимых в них логически связанных структур. Каждая база данных содержит одно или несколько табличных пространств. Для хранения информации, содержащейся в логических структурах табличного пространства, создается один или несколько файлов данных. Сегменты, экстенты и блоки Такие объекты БД, как таблицы и индексы, хранятся в табличных пространствах в виде сегментов. Каждый сегмент состоит из одного или более экстентов. Экстент состоит из смежных блоков данных. Поэтому каждый экстент может находиться только в одном файле данных. Блоки данных - наименьшие единицы ввода/вывода в базе данных. Когда база данных запрашивает у операционной системы набор блоков данных, ОС отображает их в свои реальные блоки на устройстве хранения. Пользователю не надо знать физический адрес информации в базе данных.Файл данных может быть также расщеплен и храниться на нескольких дисках с применением зеркалирования. Размер блока данных устанавливается в момент создания БД. Стандартный размер 8K подходит для многих баз данных. Если БД используется для хранилища данных с большими таблицами и индексами, тогда использование блоков большего размера может дать выигрыш в производительности. Если БД используется для транзакционного приложения, в котором чтения и записи производятся в случайном порядке, тогда лучше задать меньший размера блока. Максимальный размер блока зависит от ОС. Минимальный размер - 2K (почти во всех случаях его не рекомендуется использовать). Экземпляр OracleСервер Oracle включает базу данных Oracle и экземпляр. Экземпляр состоит из буферов памяти, образующих системную глобальную область (System Global Area - SGA), и фоновых процессов, которые контролируют и выполняют большую часть невидимой работы при выполнении экземпляра. Экземпляр простаивает (idle) до момента его старта. При запуске читается файл параметров инициализации и на его основе конфигурируется экземпляр. Пользователи могут соединяться с базой данных после того, как экземпляр запустится и база данных будет открыта. Структуры памяти OracleОсновные структуры памяти, связанные с экземпляром Oracle:
SGA содержит следующие структуры данных:
При запуске экземпляра с помощью Enterprise Manager или SQL*Plus выводится информация о памяти, выделенной для SGA. В рамках динамической инфраструктуры SGA можно без остановки экземпляра менять размеры кэша буферов БД, разделяемого пула, большого пула, Java-пула и пула потоков. Преконфигурированная база данных уже настроена и использует подходящие параметры распределение оперативной памяти. Однако по мере роста базы данных может возникнуть необходимость внести изменения в эти параметры. Oracle позволяет выдавать сигнальные сообщения (alerts) для своевременного определения проблем, связанных с размером структур памяти, и содержит советчики (advisors), которые помогают установить подходящие значения для параметров. Программная глобальная область (PGA) - это область памяти, выделяемая для каждого серверного процесса, содержащая данные и управляющую информацию этого процесса. Серверный процесс - это процесс, который обрабатывает запросы клиента. Каждый серверный процесс имеет свою приватную область PGA, которая создается при старте серверного процесса. Доступ к этой области имеет только этот серверные процесс, чтения и запись в эту область выполнятся через код Oracle, вызываемый из этого серверного процесса. Совокупный размер памяти, выделяемый под области PGA и их содержимое, зависит от того, сконфигурирован ли в экземпляре режим разделяемого сервера. Обычно PGA содержит:
Процессы OracleКогда вызывается прикладная программа или инструментальное средство, например, Enterprise Manager, Oracle создает серверный процесс для выполнения команд, порождаемых приложением. Кроме того, Oracle создает набор фоновых процессов для экземпляра. Эти процессы взаимодействуют друг с другом и с операционной системой. Они управляют структурами памяти, записывают информацию на диск в асинхронном режиме ввода/вывода и выполняют общесистемные служебные действия. Состав работающих в текущий момент фоновых процессов зависит от используемых функциональных возможностей базы данных. Наиболее общие процессы следующие:
Словарь данныхСловарь данных - централизованный набор таблиц и представлений, используемых в режиме "только чтение" для получения данных о БД. В словаре хранится, например:
Словарь создается, когда создается база данных, и автоматически изменяется при изменении структур базы данных. Enterprise Manager получает информацию об объектах БД из словаря. Вы можете только выполнять запросы информации из таблиц словаря данных. Enterprise Manager делает тоже самое для вас и представляет информацию в удобном для использования виде. Представление DICTIONARY содержит описание таблиц и представлений словаря данных. В именах представлений обычно имеется один из трех префиксов:
Сейчас вы познакомились с основными понятиями, которыми придется оперировать во время работы с Oracle. Подробнее о структуре памяти Oracle, процессах и т.д. будет рассказано в следующих выпусках. Ссылки по теме
|
|