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