12 вариант 2 (954078), страница 18
Текст из файла (страница 18)
• Настройка ввода/вывода
• Настройка конкуренции
Каждое из этих направлений распадается на ряд областей, которые обязан рассматривать администратор базы данных. Настройка памяти — это проблема оптимизации многочисленных кэшей, буферов и совместно используемых пулов, которые находятся в памяти и составляют основные структуры памяти RDBMS Oracle. Настройка ввода/вывода сводится к максимальному повышению быстродействия и эффективности доступа RDBMS к физическим файлам данных, из которых состоят эти основные модули памяти. Настройка конкуренции предназначена для решения таких проблем, когда база данных борется сама с собой за ресурсы базы данных.
Настройка базы данных сводится к четырем основным этапам, которые применимы ко всем трем типам настройки:
1. Накопление информации.
2. Определение оптимальных изменений.
3. Проведение изменений.
4. Проверка базы данных.
Настройка операционной системы
Тема, связанная с настройкой на уровне операционной системы, выходит за рамки настоящей работы. Эта задача возлагается на системного администратора и только в редких случаях — на DBA. Однако зачастую DBA может внести некоторые предложения. Необходимо проанализировать и разобраться в следующих вопросах:
• На уровне операционной системы страничный обмен и подкачка — это эффективные средства обеспечения совместного использования памяти и ресурсов системы многочисленными процессами. Страничный обмен представляет собой перемещение страниц (виртуальных областей хранения кода и/ или данных программы) одной или нескольких программ из оперативной памяти в специальную область диска. Подкачкой называется выполняемая диспетчером памяти выгрузка целых программ из оперативной памяти на диск. DBA часто приходится сталкиваться со страничным обменом и подкачкой в своей системе.
• Администраторы базы данных и системные администраторы не должны оставаться равнодушными, если в системе возникает излишний страничный обмен и подкачка. Эта проблема известна как пробуксовка. Пробуксовкой называется замедление работы системы, в связи с тем что демоны управления памятью операционной системы тратят слишком много времени на перемещение страниц процесса в оперативную память и обратно вместо выполнения продуктивной работы. Это может резко ухудшить производительность системы. Администратор может легко определить, находится ли его система в состоянии пробуксовки, контролируя активность системы по команде sar(l). (UNIX.) Можно устранить пробуксовку, увеличив объем оперативной памяти системы.
• Страничный обмен и подкачка позволяют системе выполнить более значительный объем работы. При эффективном управлении доступом многочисленных программ к ресурсам памяти (а также к другим системным ресурсам) у пользователей создается впечатление, что компьютер выполняет только их задание. DBA и системный администратор должны совместно работать над оптимизацией памяти для сокращения или устранения страничного обмена и подкачки.
• В последние годы быстрое снижение стоимости дискового пространства не сопровождалось столь же быстрым повышением производительности или надежности. Это привело к тому, что дисковое пространство стало относительно недорогим, но не слишком надежным. Стало очевидно, что снижение стоимости дискового пространства приведет к тому, что на компьютерах будет установлено больше дисков, но возрастет и вероятность отказа аппаратных средств. Не произошло также резкого повышения скорости выборки и скорости передачи информации дисков. Быстродействие процессоров значительно увеличилось, но это только переводит в критическую область дисковый доступ, уменьшая среднее время наработки на отказ. Повышение объема дискового пространства и быстродействия процессора привело к ситуации, когда значимость производительности и надежности еще больше возросла.
Одним из подходов к решению проблем повышения производительности и доступности данных является применение RAID-массивов (Redundant Array of Inexpensive/Independent Disks — избыточный массив недорогих/независимых дисков). Распределение данные по массиву недорогих и избыточных дисков позволяет повысить производительность чтения/записи и доступность данных. Производительность чтения/записи повышается за счет одновременного использования нескольких головок чтения/записи нескольких дисков. Это приводит к увеличению пропускной способности. Доступность данных повышается за счет хранения избыточных данных. При отказе одного диска данные не становятся недоступными, поскольку они либо хранятся избыточно, либо могут быть воссозданы. Обратите внимание, что RAID-массивы не повышают надежность самих дисков. Однако при отказе дисков данные будут оставаться доступными. Таков основной замысел RAID. В настоящее время технология RAID подразделяется как минимум на десять разных уровней (от RAID-0 до RAID-S), в которых используются различные комбинации зеркального отображения дисков, полосовой организации и контроля четности:
Зеркальное отображение дисков, которое иногда называют затенением, является методом RAID хранения идентичных копий данных на двух отдельных дисках массива. Эта двойная избыточность обеспечивает очень высокую доступность данных. При отказе одного диска полная копия всей информации остается доступной для непосредственного использования. При отказе одного диска с зеркальным отображением второй диск используется обычным образом, т.е. так, как если бы он находился не в среде RAID, а в ограниченном режиме. Этот ограниченный режим применяется на то время, когда данные рабочего диска копируются на резервный диск либо в режиме оперативного разделения, либо на основе оперативной выборочной выгрузки вручную. Эта операция ресинхронизации происходит с уменьшенным быстродействием, но данные все еще остаются доступными. Если в период ресинхронизации возникнет отказ оставшегося диска, данные могут быть потеряны, но это маловероятно. Если сразу же возникнет второй отказ, значит, источником проблемы, скорее всего, является не сам диск, а какая-то другая область системы (например, дисковый контроллер). Самым большим преимуществом зеркального отображения дисков является доступность данных. Недостатками являются возрастание издержек в связи с применением избыточных дисков и увеличение времени в связи с необходимостью выполнять чтение/запись на двух дисках, а не только на одном диске.
Полосовая организация — это метод RAID распределения данных по нескольким дискам. Он позволяет использовать все диски массива, не сосредоточиваясь на одном диске. Это приводит к значительному повышению производительности, в связи с тем что появляется возможность обращаться ко всем дискам с максимальной скоростью. В отличие от избыточного полного чтения/записи на двух дисках по принципу зеркального отображения дисков, данные считываются/записываются на отдельных дисках по частям. Самым большим недостатком является взаимозависимость данных между дисками в массиве. При отказе только одного диска данные становятся недоступными, поскольку они распределены по нескольким дискам и не являются избыточными. Полосовая организация без применения избыточности или средств воссоздания данных в той или иной форме обычно не используется,
Контроль четности в терминах RAID представляет собой метод полосового распределения данных по нескольким дискам, при котором предусматривается также заполнение отдельного диска или участков всех дисков информацией четности, позволяющей воссоздать данные при возникновении отказа. Это позволяет обеспечить доступность данных после отказа диска, но не за такую высокую цену, которая связана с зеркальным отображением полного диска. При отказе одного из дисков данные воссоздаются на резервном диске на основе данных всех оставшихся дисков и информации четности. В зависимости от используемого уровня RAID система может продолжать работать после отказа одного диска (RAID-5) или двух (RAID-6). Самая большая проблема связана с производительностью, поскольку поддержание информации четности в массиве связано с увеличением объема операций чтения/записи. Необходимость поддерживать информацию четности может стать критическим фактором. Ниже приведено краткое описание общепринятых уровней RAID:
• RAID-OFF: Не используется
• в RAID-0: Используется полосовая организация без избыточных данных и информации четности. Отказы недопустимы. Проблемой является избыточность.
• RAID-1: Используется зеркальное отображение без полосовой организации и информации четности. Допустим отказ одного диска. Проблемой является стоимость.
• RAID-1+0: Используется зеркальное отображение и полосовая организация без информации четности. Это высокоскоростной и дорогой метод.
• RAID-2: He нашел широкого распространения в связи с отсутствием гибкости и сложностью. Допустим отказ одного диска.
• RAID-3: Используется полосовая организация с информацией четности и без зеркального отображения. Допустим отказ одного диска.
• RAID-4: Используется полосовая организация с информацией четности и без зеркального отображения. Допустим отказ одного диска.
• RAID-5: Используется полосовая организация с информацией четности и без зеркального отображения. Допустим отказ одного диска.
• RAID-6: Используется полосовая организация с двумя дисками с информацией четности и без зеркального отображения. Допустим отказ двух дисков.
• RAID-7: Разновидность RAID-5.
• RAID-S: Разновидность RAID-5.
В технологии RAID массивы недорогих дисков используются для максимального повышения производительности диска и доступности данных. Хотя методы зеркального отображения дисков, полосовой организации и контроля четности не новы, технология RAID объединяет эти элементы для ^создания улучшенного метода хранения данных. В различных уровнях RAID, которые определены официально или сформулированы поставщиком, используется комбинация этих трех элементов для поиска оптимального сочетания избыточности хранения данных и производительности дисков. Учитывая современные тенденции развития дисковой памяти, можно предположить, что поиск в этом направлении будет продолжаться. DBA должен учитывать, что решение о применении RAID-массивов обычно принимает персонал по эксплуатации системы, и он может быть вынужден работать на массиве с уровнем RAID, не являющимся оптимальным для его базы данных. |
• Семафоры и разделяемая память используются для управления доступом к разделяемым ресурсам и для организации связи между процессами. Параметры семафоров и разделяемой памяти настраиваются в операционной системе. Минимальные значения этих параметров для RDBMS Oracle приведены в руководстве Oracle Installation and Configuration Guide. Эти значения представляют собой минимум, необходимый для работы RDBMS. На практике обычно следует принимать более высокие значения. DBA может просмотреть текущую конфигурацию этих параметров связи между процессами (IPC — interprocess communication), выдав команду UNIX ipcs(l).
• Одним из недостатков Oracle (или любой другой RDBMS) является определенный объем непроизводительных затрат системы, на которой она работает. К области непроизводительных затрат Oracle относятся, в частности, процессы. Такие фоновые процессы, как PMON, SMON, LGWR, DBWR, составляют сам экземпляр базы данных, а каждый пользователь, подключенный к базе данных, создает дополнительные процессы. Хотя их число можно ограничить на уровне базы данных, задав параметр PROCESSES в файле параметров INIT.ORA, необходимо убедиться в том, что операционная система поддерживает необходимое число процессов. Важно также учитывать, что в операционной системе есть настраиваемый параметр "maximum processes per user" (максимальное число процессов в расчете на одного пользователя) или "maxuprc", который ограничивает максимальное число одновременно работающих процессов конкретного пользователя (UID — user identifier) на уровне системы. Проведите работу с системным администратором, чтобы установить значения соответствующих параметров операционной системы, приемлемые для вашей среды.
в Особую проблему в RDBMS Oracle составляет максимальное число открытых файлов, которые могут находиться в распоряжении отдельного процесса. Это число файлов определено на уровне операционной системы и RDBMS. В RDBMS это ограничение устанавливается параметром MAXDATAFILES оператора create database. Существует также ограничение операционной системы, устанавливаемое на основе квот или настраиваемых параметров операционной системы. DBA должен вместе с системным администратором следить за тем, чтобы его база данных могла работать в текущей конфигурации операционной системы.