Кто убил мою сессию?
Заметка

Кто убил мою сессию?

Начиная с 12с Оракл пишет инициатора события по убийству сессий в алертлог. Собственно мы можем воспользоваться этим и найти того, кто убил сессию. Посмотрим алертлог, в примере за последние 5 минут

SELECT indx,
       cast(t.ORIGINATING_TIMESTAMP as date) dt,
       message_type tp,
       message_level lvl,
       message_text txt
FROM   v$diag_alert_ext t
where  ORIGINATING_TIMESTAMP>sysdate-1/24/60*5
 ;

В алертлоге записи об убийстве сессий выглядят примерно следующим образом:

KILL SESSION for sid=(7877, 58164):
  Reason = alter system kill session
  Mode = KILL HARD SAFE -/-/-
  Requestor = USER (orapid = 1447, ospid = 293827, inst = 1)
  Owner = Process: USER (orapid = 929, ospid = 842259)
  Result = ORA-31

Для версий Оракла ниже 12 — запись не будет содержать информации о том, кто запросил убийство.

ЧИТАТЬ ДАЛЕЕ …
Как изменить пароль пользователя в Oracle?

Как изменить пароль пользователя в Oracle?

Вопрос: Как изменить пароль пользователя в Oracle?
Ответ: Чтобы изменить пароль пользователя в Oracle, вам нужно выполнить команду alter user.

Синтаксис:

Синтаксис смены пароля в Oracle:

ALTER USER user_name IDENTIFIED BY new_password;

Параметры или аргументы:

user_name — Пользователь, пароль которого вы хотите изменить.
new_password — Новый пароль для назначения.

Пример:

Давайте рассмотрим пример того, как изменить пароль для пользователя в Oracle/PLSQL.

ALTER USER smithj IDENTIFIED BY autumn;

В этом примере будет изменен пароль для пользователя с именем smithj и установлен новый пароль на autumn.


Как можно отблагодарить:

  • Оформить удобную для вас подписку на Boosty.to
  • Разово поддержать через DonationAlerts
Немного про сессии в Oracle

Немного про сессии в Oracle

Как определить текущую сессию?

Иногда бывает нужно узнать SID текущей сессии для Oracle. Это можно сделать так:

SELECT sys_context('USERENV','SESSIONID') FROM DUAL;

или в самом скрипте:

DECLARE
  SID VARCHAR(255);
BEGIN
  SID := SYS_CONTEXT('USERENV','SESSIONID');
END;

Как определить зависшую сессию?

Определите «нашкодившую» сессию, используя представления [G]V$SESSION и [G]V$PROCESS следующим образом:

ЧИТАТЬ ДАЛЕЕ …