Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Clustering | High Ability > Oracle > ASM

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 13.11.2009, 15:20
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию ASM (Automatic Storage Management)

ASM (Automatic Storage Management)

ASM (Automatic Storage Management) - повышает производительность путем автоматического рассредоточения объектов базы данных по большому количеству устройств, увеличивает доступность базы данных, так как позволяет добавлять в базу данных новые дисковые устройства, не останавливая ее; ASM автоматически, с минимальным вмешательством в работу производит выравнивание распределения файлов но устройствам.


3 способа задания избыточности:
  • External: нет избыточности (предполагается аппаратная избыточность дискового массива).
  • Normal: двойное зеркалирование
  • High: тройное зеркалирование
__________________
Телеграм чат

Последний раз редактировалось Marley; 26.05.2011 в 10:21.
Ответить с цитированием
  #2  
Старый 13.11.2009, 15:23
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Архитектура ASM

Архитектура ASM

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

Автоматическая регулировка нагрузки является еще одной ключевой характеристикой ASM. Когда требуется увеличение объема дискового пространства, к дисковой группе могут быть добавлены новые дисковые устройства, a ASM перенесет пропорциональное количество файлов с одного или с нескольких имевшихся ранее дисков на новые диски для поддержания общего баланса ввода/вывода для всех имеющихся дисков. Если влияние, оказываемое во время выполнения операций по перенастройке на подсистему ввода /вывода, велико, скорость перенастройки может быть уменьшена за счет применения параметров инициализации.

Для ASM необходим особый экземпляр Oracle, который предназначается для поддержки взаимодействия между традиционным экземпляром Oracle и файловой системой. Компоненты программного обеспечения ASM поставляются вместе с программным обеспечением базы данных Oracle и всегда доступны в тех случаях, когда при создании базы данных для табличных пространств SYSTEM, SYSAUX и для других табличных пространств был выбран тип хранения ASM.

Однако использование ASM не избавляет от необходимости смешивать дисковые группы ASM с «ручными» методами управления файлами данных, описанными выше. Тем не менее, простота использования и высокая производительность ASM становятся веским доводом в пользу применения ASM для всех потребностей хранения.

Для поддержки экземпляров ASM появились два новых фоновых процесса Oracle: RBAL и ORBn. Процесс RBAL координирует всю дисковую активность для дисковых групп, в то время как ORBn, где n может быть числом от 0 до 9, выполняет фактическое перемещение экстентов между дисками, входящими в дисковую группу.

Для баз данных, использующих ASM, также появились два новых фоновых процесса: OSMB и RBAL. Процесс OSMB осуществляет взаимодействие между базой данных и экземпляром ASM, в то время как RBAL от имени базы данных выполняет открытие и закрытие дисков в составе дисковой группы.
__________________
Телеграм чат
Ответить с цитированием
  #3  
Старый 16.11.2009, 09:31
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Создание экземпляра ASM

Для ASM требуется выделенный экземпляр Oracle для управления дисковыми группами. Обычно экземпляр ASM требует очень немного места в оперативной памяти в диапазоне от 60 до 120 Мбайт. При специфицировании ASM как способа хранения файлов данных во время инсталляции программного обеспечения Oracle этот экземпляр конфигурируется автоматически, если к этому моменту экземпляра ASM еще не существовало.

После создания базы данных будут запущены и обычный экземпляр, и экземпляр ASM.

У экземпляра ASM есть несколько других уникальных характеристик. Хотя у него имеется файл параметров инициализации и файл паролей, у пего нет словаря данных, и, следовательно, все подключения к экземпляру ASM должны проводиться только через пользователей SYSTEM и SYS с использованием аутентификации операционной системы. Команды дисковой группы типа create diskgroup, alter diskgroup и drop diskgroup разрешены только для экземпляра ASM. И, наконец, экземпляр ASM может функционировать только в режимах NOMOUNT или MOUNT; он никогда не может быть в режиме OPEN.
__________________
Телеграм чат
Ответить с цитированием
  #4  
Старый 16.11.2009, 09:51
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Получение доступа к экземпляру ASM

У экземпляра ASM нет словаря данных, так что доступ к экземпляру ограничен и возможен только для пользователей которые могут подключаться как SYSDBA или SYSOPER.

Пользователи, подключившиеся к экземпляру ASM как SYSDBA, могут выполнять все операции ASM, например, создание и удаление дисковых групп, а также добавление и удаление дисков из дисковых групп.

У пользователя SYSOPER есть значительно более ограниченный набор команд, доступных для использования с экземпляром ASM. Команды, доступные для пользователя SYSOPER, дают достаточно привилегий для выполнения рутинных операций для уже сконфигурированного и стабильного экземпляра ASM.
__________________
Телеграм чат
Ответить с цитированием
  #5  
Старый 16.11.2009, 10:01
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Параметры инициализации ASM

Параметры инициализации ASM

Для экземпляров ASM настоятельно рекомендуется применять SPFILE.


INSTANCE_TYPE

Для экземпляра ASM параметр INSTANCE_TYPE принимает значение ASM. Значением по умолчанию, используемым для традиционных экземпляров Oracle, является RDBMS.


DB_UNIQUE_NAME

Значение по умолчанию параметра DB_UNIQUE_NAME равно +ASM и является уникальным именем группы экземпляров ASM для кластера или одиночного узла; значение по умолчанию должно быть модифицировано, только если делается попытка эксплуатировать на одном узле несколько экземпляров ASM.


ASM_POWER_LIMIT

Чтобы гарантировать, что операции по перенастройке не оказывают влияния на текущие действия пользователя по вводу /выводу, параметр .ASM. POWER._LIMIT управляет тем, как быстро происходят операции но перенастройке.

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


ASM_DISKSTRING

Параметр ASM_DISKSTRING специфицирует одну или несколько строк (в зависимости от операционной системы) для ограничения количества дисковых устройств, которые могут быть использованы для создания дисковых групп. Если это значение есть NULL, потенциальными кандидатами на включение в состав создаваемой дисковой группы являются все видимые ASM дисковые устройства.

Select name, type, value 
from v$parameter
Where name=asm_diskstring;


ASM_DISKGROUPS

Параметр ASM_DISKGROUPS специфицирует список, содержащий имена дисковых групп, которые должны быть автоматически смонтированы экземпляром ASM при запуске или командой alter diskgroup all mount. Даже если в момент запуска экземпляра этот список пуст, любые имеющиеся в наличии дисковые группы могут быть смонтированы вручную.

LARGE_POOL_SIZE

Параметр LARGE POOL_SIZE полезен как для обычных экземпляров, так и для экземпляров ASM: однако для экземпляров ASM этот пул используется по-другому. Из этого пула выполняются внутренние пакеты ASM, так что этот параметр должен быть равен, по меньшей мере, 8 Мбайт.
__________________
Телеграм чат
Ответить с цитированием
  #6  
Старый 16.11.2009, 10:05
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Запуск и остановка экземпляра ASM

Запуск и остановка экземпляра ASM

Запуск экземпляра ASM во многом похож на запуск обычного экземпляра, за тем исключением, что значением по умолчанию для команды startup является startup mount. Поскольку для этого экземпляра отсутствуют управляющий файл, база данных или словарь данных, которые можно было бы смонтировать, вместо базы данных монтируются группы дисков ASM. Команда startup nomount запускает экземпляр, но при этом не монтирует никаких дисков ASM. Помимо этого можно указать startup restrict, чтобы временно запретить экземплярам базы данных подключаться к экземпляру ASM для монтирования дисковых групп.

При выполнении команды shutdown для экземпляра ASM, та же самая команда выполняется и для всех экземпляров баз данных, использующих экземпляр ASM; прежде чем экземпляр ASM закончит операцию остановки, он будет ожидать, пока не окажутся остановленными все зависимые базы данных. Единственным исключением из этого правила является использование для экземпляра ASM команды shutdown abort, которая, в конечном счете, вынуждает все зависимые базы данных также выполнить команду shutdown abort.
__________________
Телеграм чат
Ответить с цитированием
  #7  
Старый 16.11.2009, 10:13
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Динамические представления производительности ASM

Динамические представления производительности ASM

V$ASM_ DISK - По одной строке для каждого диска, обнаруженного экземпляром ASM, вне зависимости от того, используется ли он в дисковой группе или нет. Для экземпляра базы данных одна строка для каждой дисковой группы, используемой экземпляром.

V$ASM_DISKGROUP -

Для экземпляра ASM одна строка для каждой дисковой группы, содержащая общие характеристики этой группы.

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


$ASM_FILE - Одна строка для каждого файла в каждой смонтированной дисковой группе.


V$ASM_OPERATI0N - Одна строка для каждой выполняющейся длительное время операции в экземпляре ASM.

V$ASM_TEMPLATE -

Одна строка для каждого шаблона в каждой смонтированной дисковой группе для экземпляра ASM.

Для экземпляра базы данных одна строка для каждого шаблона для каждой смонтированной дисковой группы.

V$ASM_CLIENT - Одна строка для каждой базы данных, использующей дисковые группы, управляемые экземпляром ASM. Для экземпляра базы данных одна строка для экземпляра ASM. если имеются отрытые экземпляры.

V$ASM_ALIAS - Одна строка для каждого псевдонима в каждой смонтированной дисковой группе.
__________________
Телеграм чат
Ответить с цитированием
  #8  
Старый 16.11.2009, 11:34
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Администрирование дисковых групп ASM

Администрирование дисковых групп ASM

Использование дисковых групп ASM оказывается выгодным по нескольким причинам: повышается производительность ввода/вывода, увеличивается доступность, а простота, с которой можно добавить диск в дисковую группу или добавить абсолютно новую дисковую группу, позволяет за то же самое время справляться с управлением большим числом баз данных. Понимание компонент дисковой группы, а также ее соответствующее конфигурирование являются весьма важными задачами для успешного АБД.


Архитектура дисковых групп

Дисковой группой называется совокупность (collection) физических дисков, управляемая как единый элемент. У каждого диска ASM как у части дисковой группы имеется имя диска ASM, которое либо назначается АБД, либо присваивается ему автоматически при включении в дисковую группу.

Файлы в дисковой группе рассредоточены по дискам с применением либо крупноблочного, либо мелкоблочного расщепления. При крупноблочном расщеплении (coarse striping) файлы рассредоточиваются но всем доступным дискам блоками по 1 Мбайт. Такое расщепление оказывается подходящим для системы с высокой степенью одновременно выполняющихся небольших по объему запросов на ввод/вывод, например для сред OLTP.

При мелкоблочном расщеплении файлы разбиваются па блоки размером 128 Кбайт. Такое расщепление более всего подходит для традиционных сред хранилищ данных или для систем OLTP с не слишком высоким конкурентным доступом, так как при этом минимизируется время отклика на индивидуальные запросы ввода/вывода.

Зеркалирование дисковых групп и групп отказа

Прежде чем определить тип зеркалирования в дисковой группе, необходимо сгруппировать диски в так называемые группы отказа. Группой отказа называется один или несколько входящих в состав дисковой группы дисков, разделяющих некоторый общий ресурс, например контроллер дисков, выход которого из строя делает недоступным для дисковой группы весь этот набор дисков. В большинстве случаев экземпляр ASM не знает об аппаратных и программных зависимостях для данного диска. Следовательно, если только специально не приписать диск к группе отказа, каждому диску будет назначена собственная труппа отказа.

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

Внешняя избыточность

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

Обычная избыточность

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

Высокая избыточность

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

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

Динамическая перенастройка дисковой группы

Всякий раз, когда конфигурация дисковой группы изменяется если вы добавляете в нее или удаляете из нее труппу отказа или диск, в составе группы отказа автоматически производится динамическая перенастройка для пропорционального перераспределения данных с других дисков, являющихся членами дисковой группы, па новый ее член. Перенастройка происходит в то время, когда база данных находится в оперативном состоянии и доступна для пользователей; любое влияние на непрекращающиеся операции ввода/вывода пользователей может быть взято под контроль посредством настройки значения параметра инициализации ASM POWER LIMIT в сторону более низких значений.

Динамическая перенастройка не только освобождает от утомительной и зачастую подверженной ошибкам процедуры определения «горячих точек» для дисковой группы, но и предлагает способ автоматического переноса всей базы данных с набора более медленных дисков иа набор более высокоскоростных дисков без остановки базы данных. Более высокоскоростные диски добавляются как новая группа отказа в существующую дисковую группу наряду с имеющимися «медленными» дисками, после чего происходит автоматическая перенастройка. После завершения этой перенастройки группы отказа, в которые входят медленные диски, удаляются, так что будут оставлены только труппы отказа, состоящие из высокоскоростных дисков. Чтобы сделать эту операцию еще более быстрой, обе операции add (добавить) и drop (удалить) могут быть инициированы внутри одной команды alter diskgroup (изменить дисковую группу).

Предположим, что требуется создать новую ДИСКОВУЮ группу с высокой избыточностью, где будут храниться табличные пространства Сданными для нового приложения по авторизации кредитных карт. С помощью представления V$ASM_DISK можно, применив параметр инициализации V$ASM_DISKSTRING и статус диска, просмотреть все обнаруженные диски (другими словами, выяснить, был ли этот диск назначен существующей дисковой группе или остался нераспределенным):

select group_number, disk_number, name, failgroup, create_date, path
from v$asm_disk;

Из шести доступных для ASM дисков только два назначены для одиночной дисковой группы, причем каждый из них образует собственную группу отказа. Имя дисковой группы может быть получено из представления V$ASM_DISKGROUP:

select group_number, name, type, totaljnb, free_mb
from v$asm_diskgroup; .


Если есть некоторое количество дисков и дисковых групп ASM, можно объединить эти два представления по столбцу GROUP_NUMBER и отфильтровать результаты запроса по этому же столбцу. Кроме того, из V$ASM_DISKCROUP можно видеть, что дисковая группа DATA1 является состоящей из двух дисков группой с обычной избыточностью (NORMAL REDUNDANCY).


Па первом шаге создадим дисковую группу:

create diskgroup data2 high redundancy
failgroup fg1 disk '/dev/raw/raw3' name d2a
failgroup fg2 disk '/dev/raw/raw4' name d2b
failgroup fg3 disk '/dev/raw/raw5' name d2c

Взглянув на динамические представления производительности, из представления V$ASM_DISKGROUP можно увидеть ставшую доступной новую дисковую группу, а из представления V$ASM_DISK ознакомиться с группами отказа:

select group_number, name, type, total_mb, free_mb
from v$asm_diskgroup;

SQL> select group_number, disk_number, name, 2 failgroup, create_date, path from v$asm_disk;


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

drop diskgroup data2;
Diskgroup dropped.
Если в дисковой группе есть какие-либо объекты базы данных, кроме метаданных дисковой группы, необходимо специфицировать в команде drop diskgroup фразу including contents. Это является дополнительной мерой предосторожности, позволяющей убедиться, что дисковые группы с объектами базы данных не будут случайно удалены:


create diskgroup data2 high redundancy
failgroup fg1 disk 'dev/raw/raw3' name d2a
failgroup fg2 disk 'dev/raw/raw4' name d2b
failgroup fg3 disk 'dev/raw/raw5' name d2c;
Diskgroup created.


select group_number, disk_number, name, 2 failgroup, create_date, path
from v$asm_disk;


select group_number, dlsk_number, name, failgroup, create_date, path from
v$asm_disk;


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


create tablespace users3 datafile '+DATA2';
lablespace created.

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



Изменение дисковых групп

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

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

Продолжая пример, предположим, что принято решение улучшить характеристики ввода/вывода дисковой группы DATA1, добавив в нее последний из оставшихся в наличии «чистых» дисков:

alter diskgroup data1
add failgroup d1fg3 disk '/dev/raw/raw6' name d1сe;
Diskgroup altered.

Немедленно осуществляется выход из команды, а форматирование и перенастройка продолжаются в фоновом режиме. После этого можно проверить статус операции перенастройки, проверив представление V$ASM_OPERATION:

select group_number, operation, state, power, actual, sofar, est_work, est_rate, est_minutes
from v$asm_operation;


Поскольку оценочное время завершения операции перенастройки составляет 10 мин, принимается решение выделить для этой операции больше ресурсов и изменить предельную «мощность» этой конкретной операции перенастройки:

alter diskgroup data1 rebalance power 8;
Diskgroup altered

Проверка статуса операции перенастройки подтверждает, что оценочное время до завершения операции сократилось с 16 до 4 минут:

select group_number, operation, state, power, actual, sofar, estwork, est_rate, est_ninutes
from v$asm_operation;


Спустя четыре минуты проверим статус задания еще раз:

/
no rows seLected.


И, наконец, подтвердим конфшурацию нового диска из представлений V$ASM _DISK и V$ASM DISKGROUP:


select group_number, disk_number, name, failgroup, create_date, path
from v$asm_disk;

select group_number, name, type, tota_mb, free_mb
from v$asm_diskgroup;


Избыточность дисковой группы остается нормальной, несмотря па то, что в ней есть три группы отказа. Однако производительность ввода/вывода оператора select относительно объектов из этой дисковой группы возрастает благодаря наличию дополнительных копий экстентов, ставших доступными для дисковой группы.



Другие команды alter для дисковых групп

alter diskgroup ... drop disk - Удаляет диск из группы отказа в составе дисковой группы и выполняет автоматическую перенастройку
alter diskgroup ... drop... add - Удаляет диск из группы отказа и добавляет (в той же команде) вместо него другой диск
alter diskgroup ... mount - Делает дисковую группу доступной для всех экземпляров
alter diskgroup ... dismount - Делает дисковую группу недоступной для всех экземпляров
alter diskgroup ... check all - Проверяет вну!реннюю согласованность дисковой группы
__________________
Телеграм чат

Последний раз редактировалось Marley; 16.11.2009 в 11:37.
Ответить с цитированием
  #9  
Старый 16.11.2009, 11:41
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Миграция базы данных в среду ASM

Миграция базы данных в среду ASM

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


Код:
STARTUP N0M0UNT;
RESTORE CONFROUTL.t. PROM ' <место..размещения_управляющего_.файла>';
ALTER DATABASE MOUNT;
BACKUP AS COPY DATABASE FORMAT
' +<место_нахождения_дисковой группы>; 
SWITCH DATABASE TO COPY;
SQL "ALTER DATABASE RENAME <файл_журнала_базы_данных_1>
TO ' +<месго__нахождения .дисковой группы>' «; 
# повторить для всех членов журнала ALTER DATABASE OPEN RESFTLOGS;
__________________
Телеграм чат
Ответить с цитированием
Ответ

Метки
asm, automatic storage management

Опции темы
Опции просмотра

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

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

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


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


Powered by vBulletin®