Раньше для создания административного пользователя достаточно было выдать любому права dba.
Но в 12c, создав пользователя:
grant dba to c##dbax container=all;
Подключившись с cdb$root и запросив gv$session получим отображение только сессий работающих в root'овом контейнере.
Пользователь может видеть сессии работающие в других контейнерах только перейдя в соответствующий контейнер.
alter session set container=axpdb1;
В то же время, при подключении "sys as sysdba" запрос к gv$session возвращает сессии по всей базе.
Хочется администрировать всю инфраструктуру, но не подключаться без нужды под sys'ом.
Решение следующее.
Но в 12c, создав пользователя:
grant dba to c##dbax container=all;
Подключившись с cdb$root и запросив gv$session получим отображение только сессий работающих в root'овом контейнере.
Пользователь может видеть сессии работающие в других контейнерах только перейдя в соответствующий контейнер.
alter session set container=axpdb1;
В то же время, при подключении "sys as sysdba" запрос к gv$session возвращает сессии по всей базе.
Хочется администрировать всю инфраструктуру, но не подключаться без нужды под sys'ом.
Решение следующее.
connect system@root -- под sys’ом не получилось.
ALTER USER c##dbax SET CONTAINER_DATA = (CDB$ROOT,AXPDB1) FOR GV$SESSION
CONTAINER=CURRENT;
Тут мы разрешаем пользователю c##dbax во время нахождения в контейнере root просматривать информацию из gv$session касающуюся контейнеров CDB$ROOT и AXPDB1.
Комментарии
Отправить комментарий