В этом учебном материале вы узнаете, как найти всех пользователей, которые в настоящее время вошли в базу данных Oracle.
Описание
Вы можете найти всех пользователей, которые в настоящее время вошли в Oracle, выполнив запрос из командной строки. В Oracle/PLSQL, есть представление под названием V$SESSION, которое показывает информацию о сеансе связи для каждой текущей сессии в базе данных. Вы можете запустить запрос к системному представлению, чтобы вернуть всех пользователей, которые в настоящее время имеют работающие соединения в базе данных Oracle/PLSQL.
Синтаксис
Синтаксис для получения информации о пользователях, которые вошли в Oracle:
Это предложение SELECT будет возвращать имя пользователя, который вошел в систему.
Представление V$SESSION содержит следующие столбцы:
Столбец | Описание |
---|---|
SADDR | Адрес сессии |
SID | Идентификатор сессии |
SERIAL# | Серийный номер сессии |
AUDSID | Аудиторский идентификатор сеанса |
PADDR | Адрес процесса, которому принадлежит сеанс |
USER# | Идентификатор пользователя |
USERNAME | Имя пользователя (например: root, admin и т.д.) |
COMMAND | Разбор последнего предложения |
OWNERID | Идентификатор пользователя, которому принадлежит сеанс переноса |
TADDR | Адрес объекта состояния транзакции |
LOCKWAIT | Адрес ожидания блокировки |
STATUS | Статус сессии. Это может быть одно из: ACTIVE, INACTIVE, KILLED, CACHED, or SNIPED. |
SERVER | Тип сервера. Это может быть одно из: DEDICATED, SHARED, PSEUDO, or NONE. |
SCHEMA# | Идентификатор пользователя схемы |
SCHEMANAME | Имя пользователя схемы |
OSUSER | Клиентская операционная система |
PROCESS | Клиентский ID процесса пользователя |
MACHINE | Имя машины пользователя |
TERMINAL | Имя терминала пользователя |
PROGRAM | Имя программы пользователя |
TYPE | Тип сессии пользователя |
SQL_ADDRESS | Идентификатор текущего выполнения SQL оператора (используется с SQL_HASH_VALUE) |
SQL_HASH_VALUE | Идентификатор текущего выполнения SQL оператора (используется с SQL_ADDRESS) |
SQL_ID | SQL идентификатор текущего выполнения SQL оператора |
SQL_CHILD_NUMBER | Дочерний номер SQL оператора текущего выполнения |
PREV_SQL_ADDR | Идентификатор последнего выполненного SQL оператора (используется с PREV_HASH_VALUE) |
PREV_HASH_VALUE | Идентификатор последнего выполненного SQL оператора (используется с PREV_SQL_ADDR) |
PREV_SQL_ID | SQL идентификатор последнего выполненного SQL оператора |
PREV_CHILD_NUMBER | Дочерний номер последнего выполненного SQL оператора |
MODULE | Название модуля текущего выполнения (согласно DBMS_APPLICATION_INFO.SET_MODULE) |
MODULE_HASH | Хэш-значение текущего модуля выполнения |
ACTION | Название текущего выполняемого действия (согласно DBMS_APPLICATION_INFO.SET_ACTION) |
ACTION_HASH | Хэш-значение текущего выполняемого действия |
CLIENT_INFO | Информация клиента (согласно DBMS_APPLICATION_INFO.SET_CLIENT_INFO) |
FIXED_TABLE_SEQUENCE | Номер последовательности увеличивающийся каждый раз, когда была выборка из динамической таблицы производительности |
ROW_WAIT_OBJ# | Идентификатор объекта для таблицы задается ROW_WAIT_ROW# |
ROW_WAIT_FILE# | Идентификатор файла данных, указанных в ROW_WAIT_ROW# |
ROW_WAIT_BLOCK# | Идентификатор блока, указанного в ROW_WAIT_ROW# |
ROW_WAIT_ROW# | Строка, которая в настоящее время заблокирована |
LOGON_TIME | Время в которое пользователь залогинился |
LAST_CALL_ET | Если значение столбца STATUS - ACTIVE, то LAST_CALL_ET это прошедшее время (в секундах) поскольку сессия стала активна. Значение столбца STATUS - INACTIVE, LAST_CALL_ET это прошедшее время (в секундах), как сеанс стал неактивным. |
PDML_ENABLED | Заменено PDML_STATUS |
FAILOVER_TYPE | Какой тип сбоя прозрачного приложения включен для сессии. Это может быть одно из следующих действий: NONE, SESSION, или SELECT. |
FAILOVER_METHOD | Метод сбоя прозрачного приложения для сессии. Это может быть одно из следующих действий: NONE, BASIC, или PRECONNECT. |
FAILED_OVER | YES или NO показывает произошел ли сбой |
RESOURCE_CONSUMER_GROUP | Ресурс группы клиентов для сессии |
PDML_STATUS | ENABLED или DISABLED |
PDDL_STATUS | ENABLED или DISABLED |
PQ_STATUS | ENABLED или DISABLED |
CURRENT_QUEUE_DURATION | Время, в течение которого сессии были поставлены в очередь |
CLIENT_IDENTIFIER | Идентификатор клиента для сессии |
BLOCKING_SESSION_STATUS | Это может быть одно из следующих значений: VALID, NO HOLDER, GLOBAL, NOT IN WAIT, or UNKNOWN |
BLOCKING_INSTANCE | Идентификатор экземпляра блокировки сессии |
BLOCK_SESSION | Идентификатор сессии блокируемой сессии |
SEQ# | Номер последовательности увеличивающийся при каждом ожидании |
EVENT# | Номер события |
EVENT | Ресурс, который ожидает сессию |
P1TEXT | Описание первого дополнительного параметра |
P1 | Первый дополнительный параметр |
P1RAW | Первый дополнительный параметр |
P2TEXT | Описание второго дополнительного параметра |
P2 | Второй дополнительный параметр |
P2RAW | Второй дополнительный параметр |
P3TEXT | Описание третьего дополнительного параметра |
P3 | Третий дополнительный параметр |
P3RAW | Третий дополнительный параметр |
WAIT_CLASS_ID | Идентификатор класса ожидания |
WAIT_CLASS# | Номер класса ожидания |
WAIT_CLASS | Имя класса ожидания |
WAIT_TIME | Значение сессий последнего времени ожидания. Если 0, тогда сессия текущего ожидания |
SECONDS_IN_WAIT | Если WAIT_TIME > 0, тогда SECOND_IN_WAIT это количество секунд с момента начала последнего ожидания. Если WAIT_TIME = 0, тогда SECONDS_IN_WAIT это количество секунд, прошедших в текущем ожидания. |
STATE |
|
SERVICE_NAME | Имя службы сессии |
SQL_TRACE | ENABLED или DISABLED |
SQL_TRACE_WAITS | TRUE или FALSE |
SQL_TRACE_BINDS | TRUE или FALSE |