Автоматическое управление памятью в Oracle 11g

ОГЛАВЛЕНИЕ

Роль SYSASM

Появившееся в Oracle Database 11g автоматическое управление памятью (Automatic Storage Management - ASM) несколько размыло границу между администраторами баз данных (АБД) и системными администраторами в части их функций распределения памяти. Администраторы БД управляют экземплярами ASM, так же как они выполняют обычные свои работы, требующие присоединения в роли SYSDBA. Но по прошествии времени роли стали более четкими, и произошло элементарное разделение труда. В результате некоторые операции ASM вернулись  к  системным администраторам. В некоторых случаях образовался отдельный класс «администраторов ASM», которые занимались только администрированием ASM, а не базы данных.

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

В Oracle Database 11g этот конфликт изжит. Теперь существует новая роль SYSASM, предназначенная только для управления экземпляром ASM. Для экземпляра ASM она подобна роли SYSDBA. К экземпляру ASM теперь нужно присоединяться так:

$ sqlplus / as sysasm
 
SQL*Plus: Release 11.1.0.6.0 - Production on Fri Sep 28 20:37:39 2007
 
Copyright (c) 1982, 2007, Oracle.  All rights reserved.
 
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining
and Real Application Testing options
 
SQL>

Обратите внимание на предложение соединения "as sysasm". В Oracle Database 11g R1, роль SYSASM дается группе операционной системы, имеющей также привилегию SYSDBA (в большинстве случаев она называется "dba"). Иначе говоря, пользователь, принадлежащий группе dba в Unix, может также присоединиться как SYSASM. (Этот механизм изменится в более поздних версиях; роли sysdba и sysasm будут разделены в группах операционной системы.)

Присоединившись как sys к экземпляру ASM, можно изменить пароль SYS, который изменится в файле паролей:

SQL> alter user sys identified by oracle
  2  /
User altered.
Хотя экземпляр ASM обходится без базы данных, тем не менее, есть возможность создавать пользователей:
SQL> create user asmoper identified by dumboper
  2  /
User created.
Теперь можно дать роль SYSASM пользователю:
SQL> grant sysasm to asmoper;
Grant succeeded.
После этого пользователь asmoper может выполнять все функции управления ASM вместо пользователя SYS. Пользователь может присоединиться с предложением as sysasm, подобно предложению  "as sysdba" в обычной базе данных.
$ sqlplus asmoper/dumboper as sysasm
Эта возможность вынуждает к необходимому разграничению ответственности ASM и DBA.