Как увидеть соединения с базой данных как обычный разработчик? - PullRequest
0 голосов
/ 15 марта 2012

Как обычный разработчик, не имеющий прав администратора в базе данных, может видеть активные соединения с БД - особенно те, которые "принадлежат" им?Не уверен, что это правильная терминология БД.(Приложение, написанное на Java с использованием JDBC, Oracle и SQL Plus).

1 Ответ

1 голос
/ 15 марта 2012

Вам не нужны права администратора, но вам нужно иметь разрешение для запроса таблицы V$SESSION (GV$SESSION, если вы используете RAC). Ваш администратор базы данных может предоставить вам право запрашивать только эту таблицу

GRANT SELECT ON sys.v_$session TO <<your user name>>

или администратор БД может предоставить вашему пользователю привилегию SELECT ANY DICTIONARY или роль SELECT_CATALOG_ROLE.

Если у вас есть один из этих грантов, вы сможете запросить V$SESSION, чтобы увидеть все сеансы в базе данных.

SELECT sid, serial#, username, osuser, machine, terminal, program
  FROM v$session
 WHERE username = <<some user name>>

покажет все сеансы в базе данных, открытой конкретным пользователем.

...