Вас какие пользователи интересуют?


Вас какие пользователи интересуют?



"Пользователь пользователю рознь" — я всегда это говорю, когда меня спрашивают:

"Как посмотреть список пользователей?"


Собственно, вас какие именно пользователи интересуют?

Есть те, которые работают — так сказать, трудятся в поле лица. А есть "мёртвые души" — те, кто просто числится.

Давайте разбираться.

Начнём с тружеников.

Если речь идёт о получении списка работающих пользователей, то надо смотреть список текущих подключений к базе. Делается это под администратором:

 select sid
      , serial#
      , username
      , status
      , type
      , to_char( logon_time, 'dd.mm hh24:mi') logon_time
      , osuser
      , machine
      , program
   from v$session ;

Запрос выводит список текущих сессий. Имена работающих пользователей будут выведены в колонке "USERNAME", время подключения в "LOGON_TIME".

Следует заметить, что:

  1. Не все подключения инициированы пользователями.

    Есть, так называемые, серверные процессы, которые тоже могут инициировать коннект к базе. Чтобы отличить пользовательские сессии от служебных, следует смотреть на значение в колонке "TYPE".

  2. Наличие подключения не говорит о том, что пользователь именно сейчас работает с базой.

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

Колонка "STATUS" показывает, кто работает именно в данный момент. Значение для таких сессий будет 'ACTIVE'. И надо понимать, что выполнение обычного запроса происходит быстро, как мимолётное мгновение. Хорошо видны только долгоиграющие запросы. Выполните запрос подряд несколько раз — может, что и заметите.

Иногда, смотря на список сессий, у вас может появиться сильное и непреодолимое желание кое-что сделать — не сдерживайте себя. Вот команда для отключения:

ALTER SYSTEM KILL SESSION 'a, b';

Значение "а" берём из колонки "SID", значение для "b" из "SERIAL#".

Конечно, команду надо выполнять с правами администратора.

Внимание! Удаляйте только пользовательские сессии.

Теперь разберёмся со списочным составом пользователей в базе.

Делается это тоже просто. Вводим следующий запрос:

  select username
       , account_status
       , lock_date
       , default_tablespace
       , temporary_tablespace
    from dba_users
order by username;

Как пополнить этот список новыми членами и как удалить неугодных пользователей, я рассказывал в этом посте —

Как пользователи делают других пользователей

Практикуйтесь.


Алексей.


P.S. И не забывайте про команду desc в SQL*Plus. В v$session и dba_users есть много интересных колонок.





Опубликован: 15 сентября 2010, 21:30


Похожие статьи:

  1. Как пользователи делают других пользователей

    Знаете что? Никуда не годится под пользователем SYSTEM выполнять упражнения из моего курса. Честно говоря, работать под ним тоже надо поменьше. Лучше создайте в базе ещё одного пользователя. Для этого проделайте следующее: Подключитесь к базе под пользователем SYSTEM.

  2. Научим SQL*Plus говорить по-русски

    Долго не мог понять, почему люди не любят пользоваться SQL*Plus. Оказывается: интерфейс убогий и бестолковый. Словом, не графический – мышкой ткнуть не куда (значит интуитивно не понятный). Мда.... ..редко встретишь кодера, умеющего мышкой воять SELECT’ы.

  3. Сколько стоит сделать резервную копию оракловой базы?

    Умеете делать резервную копию оракловой базы? Вопрос далеко-далеко не праздный (если вы уже знаете, как делать копию, то, наверное, догадываетесь, о чём пойдёт речь, правильно — о времени). Тема резервного копирования для администраторов оракла — одна из ключевых.


Прыг: 01 02
  • # 4

    Спасибо за письма.Они нам очень помогают в работе. Хотелось бы еще получать Ваши советы.

  • # 6

    Спасибо! Очень хорошие статьи - все просто и понятно :)

Прыг: 01 02
Комментарии к этой заметке больше не принимаются.