Автоматическое управление памятью в Oracle 11g - Атрибуты дисковой группы

ОГЛАВЛЕНИЕ

Атрибуты дисковой группы

ASM – это платформа хранения для баз данных Oracle начиная с 10g до текущей версии. Поэтому экземпляр ASM может хранить базы данных 10g Release 1, 10g Release 2, 11g Release 1 (и далее). Пока версия ASM та же или выше, чем версия СУБД, есть возможность создавать базу данных на этом экземпляре ASM. Итак, как взаимодействует ASM с экземпляром СУБД, если они разных версий? Просто: ASM преобразует сообщения, чтобы соответствовать версии СУБД.

По умолчанию экземпляр ASM поддерживает базы данных 10g. Но что произойдеть, если необходимо разместить только  СУБД версии 11g в этом экземпляре ASM? Тогда отпадает необходимость преобразования сообщений для поддержки разницы версий. Вот если бы был способ сказать экземпляру ASM, что все поддерживаемые базы данных имеют версию 11g Release 1. Это устранило бы или, по крайней мере, уменьшило преобразование сообщений. В Oracle Database 11g это возможно, благодаря атрибутам дисковой группы ASM Compatibility и RDBMS Compatibility.

Во-первых, давайте проверим текущие атрибуты дисковой группы:

SQL> select compatibility, database_compatibility
  2  from  v$asm_diskgroup
  3  where name = 'DG1'
  4  /
 
COMPATIBILITY          DATABASE_COMPATIBILITY
---------------------- ----------------------
10.1.0.0.0             10.1.0.0.0

Как можно видеть, атрибут ASM Compatibility (показывается как COMPATIBILITY) имеет значение 10.1.0.0.0, что означает, что дисковая группа поддерживает структуру 10.1 ASM.
Следовательно, эта дисковая группа может включать СУБД любой структуры. Другой столбец, DATABASE_COMPATIBILITY, показывает, что совместимость с СУБД установлена в значение 10.1. Это значит, что дисковая группа DG1 может быть использована любой СУБД, начиная с версии  10.1.

Если необходимо создавать только структуры 11g ASM и СУБД, то нет необходимости иметь элементы 10g. Чтобы установить атрибут ASM Compatibility этой дисковой группы в значение 11.1, нужно выполнить следующий оператор (в экземпляре ASM):

SQL> alter diskgroup dg1 set attribute 'compatible.asm'='11.1';
Проверим теперь атрибуты этой дисковой группы:
 
COMPATIBILITY          DATABASE_COMPATIBILITY
---------------------- ----------------------
11.1.0.0.0             10.1.0.0.0

ASM Compatibility установлена в значение 11.1; но RDBMS Compatibility все еще имеет значение 10.1. Чтобы изменить его на 11.1, используется следующий оператор:

SQL> alter diskgroup dg1 set attribute 'compatible.rdbms'='11.1';

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