Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить IP клиента ? / 7 сообщений из 7, страница 1 из 1
18.02.2022, 16:20
    #40135179
PSD
PSD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить IP клиента ?
Есть проблема у заказчика развернут кластер их ХХХ серверов приложений которые работают с одной базой Oracle 11.

Все ходят под одной учеткой.

Нужно как то определять и писать в таблицу IP или имя хоста или что то еще , чтобы определить какой из АПП серверов создавал или апдейтил запись в таблице.
На стороне клиента это сделать нельзя. Нужно чтобы сама БД это как то фиксила.

Такое вообще возможно ?
...
Рейтинг: 0 / 0
18.02.2022, 16:26
    #40135181
Asmodeus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить IP клиента ?
PSD
Есть проблема у заказчика развернут кластер их ХХХ серверов приложений которые работают с одной базой Oracle 11.

Все ходят под одной учеткой.

Нужно как то определять и писать в таблицу IP или имя хоста или что то еще , чтобы определить какой из АПП серверов создавал или апдейтил запись в таблице.
На стороне клиента это сделать нельзя. Нужно чтобы сама БД это как то фиксила.

Такое вообще возможно ?
Триггер с sys_context ?
...
Рейтинг: 0 / 0
19.02.2022, 12:19
    #40135259
ProfSD
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить IP клиента ?
Asmodeus,тригер запускается в контексте пользователя? Не системы?
...
Рейтинг: 0 / 0
19.02.2022, 15:43
    #40135280
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить IP клиента ?
ProfSD
тригер запускается в контексте пользователя? Не системы?
Клон, любой триггер запускается в какой-то сессии.
...
Рейтинг: 0 / 0
20.02.2022, 14:54
    #40135374
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить IP клиента ?
PSD
Есть проблема у заказчика развернут кластер их ХХХ серверов приложений которые работают с одной базой Oracle 11.

Все ходят под одной учеткой.

Нужно как то определять и писать в таблицу IP или имя хоста или что то еще , чтобы определить какой из АПП серверов создавал или апдейтил запись в таблице.
На стороне клиента это сделать нельзя. Нужно чтобы сама БД это как то фиксила.

Такое вообще возможно ?


Имхую:
1. "сама БД пофиксила" - БД - пассивный объект, сама ничего не делает, не возбуждается.

2.
SYS_CONTEXT('USERENV','OS_USER'),
SYS_CONTEXT('USERENV','IP_ADDRESS'),
SYS_CONTEXT('USERENV','HOST')
...
Рейтинг: 0 / 0
20.02.2022, 19:46
    #40135405
ASNexus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить IP клиента ?
Ролг Хупин
PSD
Есть проблема у заказчика развернут кластер их ХХХ серверов приложений которые работают с одной базой Oracle 11.

Все ходят под одной учеткой.

Нужно как то определять и писать в таблицу IP или имя хоста или что то еще , чтобы определить какой из АПП серверов создавал или апдейтил запись в таблице.
На стороне клиента это сделать нельзя. Нужно чтобы сама БД это как то фиксила.

Такое вообще возможно ?


Имхую:
1. "сама БД пофиксила" - БД - пассивный объект, сама ничего не делает, не возбуждается.

2.
SYS_CONTEXT('USERENV','OS_USER'),
SYS_CONTEXT('USERENV','IP_ADDRESS'),
SYS_CONTEXT('USERENV','HOST')

В результате получим имя учётки, под которой стартует сервер приложений в своей ОС и адрес и имя хоста, на котором данный сервер приложений работает (т.е. определим сессия какого из серверов "кластера их ХХХ серверов приложений" что-то сделала).

Чтобы определить в БД конечного пользователя приложения, нужно, чтобы эту информацию сервер приложений каким-то образом БД сообщал. Или, например, как вариант, логировать на сервере приложений, что такой-то его клиент открыл такую-то сессию в БД и уже тогда через SYS_CONTEXT('USERENV','SID') можно будет провести соответствие "сессия = конечный пользователь".

Без "помощи" со стороны сервера приложений при заданных вводных ("Все ходят под одной учеткой") в БД определить конечного пользователя не получится никак.
...
Рейтинг: 0 / 0
20.02.2022, 19:59
    #40135406
ASNexus
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить IP клиента ?
Так, опять я не внимательно прочитал - если вопрос именно в том, "чтобы определить какой из АПП серверов создавал или апдейтил запись в таблице", то предложение Ролг Хупин - это именно то, что нужно. Я имел в виду, что конечного пользователя приложения определить проблематично, но в рамках данной задачи это и не требуется.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как получить IP клиента ? / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]