Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Список последних SQL команд  [new]
GrandMaster
Member

Откуда:
Сообщений: 147
Как посмотреть список последних допустим 50 команд в Oracle.
24 авг 06, 11:15    [3047122]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
50 конкретного пользователя или 50 вообще :)
24 авг 06, 11:34    [3047269]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7127
Однако утро
GrandMaster
Как посмотреть список последних допустим 50 команд в Oracle.


В общем виде, вопрос некорректный
2000 сессий из них 400 активны, какие 50 вас интересуют?
24 авг 06, 11:38    [3047287]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
RA\/EN
Member

Откуда:
Сообщений: 3658
select *
from   v$sql
order by last_load_time desc

Только нахрена оно не надо
24 авг 06, 11:43    [3047313]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Новый2
Guest
В догонку вопрос:
А как посмотреть список SQL команд конкретного пользователя?
24 авг 06, 11:56    [3047399]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Новый2
В догонку вопрос:
А как посмотреть список SQL команд конкретного пользователя?


Трассировкой
24 авг 06, 12:02    [3047446]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Новый2
Guest
tru55
Новый2
В догонку вопрос:
А как посмотреть список SQL команд конкретного пользователя?


Трассировкой


Тогда вопрос по другому задам:
как узнать кому принадлежит SQL из таблицы V$SQL
24 авг 06, 12:26    [3047616]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Вообще-то, один SQL может использоваться разными пользователями, но если хочется...

Oracle9i
Database Reference

V$SQL

PARSING_USER_ID User ID of the user who originally built this child cursor
24 авг 06, 12:35    [3047700]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Новый2
Guest
Я неправильно вопрос задал
Два разных пользователя с разных компов из одинакового приложения присоединяются к БД, имя и пароль для подсоединения к БД одинаковые, разные только имена компов и логин пользователя на комп. -> выполняют SQL запросы
в этом случае в табл. V$SQL значение полей PARSING_USER_ID, PARSING_SCHEMA_ID, PARSING_SCHEMA_NAME будут одинаковы(для двух разных пользователей)

Можно ли узнать какой SQL - какому пользователю?
24 авг 06, 12:58    [3047855]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
По-моему, в данном случае имеется орг проблема, т.е. несколько (в пределе - все) пользователи заходят под одним именем. Мне кажется, v$sql и им подобные - не то средство, чтобы решать такие проблемы. Для этого существуют административные меры (сам занимался, например, говоришь начальству, что в случае ошибки невозможно будет установить виновника), профили для ограничения кол. сессий на 1 пользователя, аудит, триггера с фиксацией изменений...
24 авг 06, 13:16    [3047981]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Новый2
Guest
Так в том и проблема
при создании клиентской программы начальство изначально потребовало
чтобы при старте этой программы происходил автоматический конект к ДБ (чтобы имя пользователя и пароль к БД не вводить), по этому
имя пользователя и пароль зашил внутрь программы.
А теперь новая задача:
хотят видеть список всех последних(за определенный промежуток времени) SQL-команд с привязкой к конкретному компу и пользователю...
24 авг 06, 13:29    [3048077]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Сам когда-то сталкивался (придя на новую работу), что все заходят под одним пользователем (очевидно, боялись, что головы пользователей не выдержат инфы о пароле). Там было еще хуже - работа посменная, поэтому за 1 компом работало несколько пользователей. Однако, после объяснений (см. выше) дело сдвинулось (угроза потери инфы / денег всегда действует). Зашивать имя в программу - вообще маразм (блокировал / удалил пользователя - все встало). Не говоря уж про уволившихся работников...
Так что - либо убеждай начальство, либо сочувствую и гарантирую продолжение разного гемороя в будущем
24 авг 06, 13:50    [3048244]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Новый2
Guest
Спасибо за сочуствие.
Пойду начальство убеждать...
24 авг 06, 13:52    [3048268]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7127
Новый2
Так в том и проблема
при создании клиентской программы начальство изначально потребовало
чтобы при старте этой программы происходил автоматический конект к ДБ (чтобы имя пользователя и пароль к БД не вводить), по этому
имя пользователя и пароль зашил внутрь программы.
А теперь новая задача:
хотят видеть список всех последних(за определенный промежуток времени) SQL-команд с привязкой к конкретному компу и пользователю...

Поиск по FGAC
Но тогда доступ к компу под роспись у охраны около него :)
24 авг 06, 14:06    [3048361]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
contr
Member

Откуда:
Сообщений: 1909
Новый2
Спасибо за сочуствие.
Пойду начальство убеждать...

Вы того этого... Сразу заготовьте ответ на тему "где взять денег на лицензии". Может, люди под Named Users о пяти лицах обитаютЪ ;)
24 авг 06, 14:10    [3048390]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Новый2
Guest
Простите, (я только начинающий) что есть
Поиск по FGAC
24 авг 06, 14:20    [3048459]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7127
Новый2
Простите, (я только начинающий) что есть
Поиск по FGAC

Поиск по конференции по ключевому слову FGAC
(Fine Grant Access Control)
Очень хочется процитировать ответ из Unix FAQ:
автор
7е правило линуха: если вы не знаете что это - оно вам не надо


Начните с того что вам посоветовали выше
24 авг 06, 15:08    [3048767]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Vadim Lejnin
(Fine Grant Access Control)
Это Вы как-то вольно ;)
24 авг 06, 15:13    [3048810]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
evgenyg
Member

Откуда:
Сообщений: 355
Новый2
Я неправильно вопрос задал
Два разных пользователя с разных компов из одинакового приложения присоединяются к БД, имя и пароль для подсоединения к БД одинаковые, разные только имена компов и логин пользователя на комп. -> выполняют SQL запросы
в этом случае в табл. V$SQL значение полей PARSING_USER_ID, PARSING_SCHEMA_ID, PARSING_SCHEMA_NAME будут одинаковы(для двух разных пользователей)

Можно ли узнать какой SQL - какому пользователю?

в v$session есть колонки: terminal, machine, osuser, sql_hash_value, prev_hash_value.
v$sqlarea : hash_value
делаем join и смотрим.
Все это при условии что пользователь все еще подключен (то есть узнать надо сейчас).
24 авг 06, 15:25    [3048894]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
evgenyg
Новый2
Я неправильно вопрос задал
Два разных пользователя с разных компов из одинакового приложения присоединяются к БД, имя и пароль для подсоединения к БД одинаковые, разные только имена компов и логин пользователя на комп. -> выполняют SQL запросы
в этом случае в табл. V$SQL значение полей PARSING_USER_ID, PARSING_SCHEMA_ID, PARSING_SCHEMA_NAME будут одинаковы(для двух разных пользователей)

Можно ли узнать какой SQL - какому пользователю?

в v$session есть колонки: terminal, machine, osuser, sql_hash_value, prev_hash_value.
v$sqlarea : hash_value
делаем join и смотрим.
Все это при условии что пользователь все еще подключен (то есть узнать надо сейчас).



делаем join и смотрим.

И постоянно смотрим

Oracle9i
Database Reference

V$SESSION

SQL_ADDRESS Used with SQL_HASH_VALUE to identify the SQL statement that is currently being executed
SQL_HASH_VALUE Used with SQL_ADDRESS to identify the SQL statement that is currently being executed
PREV_SQL_ADDR Used with PREV_HASH_VALUE to identify the last SQL statement executed
PREV_HASH_VALUE Used with SQL_HASH_VALUE to identify the last SQL statement executed
24 авг 06, 15:43    [3048998]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
evgenyg
Member

Откуда:
Сообщений: 355
tru55
evgenyg
Новый2
Я неправильно вопрос задал
Два разных пользователя с разных компов из одинакового приложения присоединяются к БД, имя и пароль для подсоединения к БД одинаковые, разные только имена компов и логин пользователя на комп. -> выполняют SQL запросы
в этом случае в табл. V$SQL значение полей PARSING_USER_ID, PARSING_SCHEMA_ID, PARSING_SCHEMA_NAME будут одинаковы(для двух разных пользователей)

Можно ли узнать какой SQL - какому пользователю?

в v$session есть колонки: terminal, machine, osuser, sql_hash_value, prev_hash_value.
v$sqlarea : hash_value
делаем join и смотрим.
Все это при условии что пользователь все еще подключен (то есть узнать надо сейчас).



делаем join и смотрим.

И постоянно смотрим

Oracle9i
Database Reference

V$SESSION

SQL_ADDRESS Used with SQL_HASH_VALUE to identify the SQL statement that is currently being executed
SQL_HASH_VALUE Used with SQL_ADDRESS to identify the SQL statement that is currently being executed
PREV_SQL_ADDR Used with PREV_HASH_VALUE to identify the last SQL statement executed
PREV_HASH_VALUE Used with SQL_HASH_VALUE to identify the last SQL statement executed

Ага и видим какой пользователь выполняет сейчас какой запрос.
24 авг 06, 15:57    [3049104]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Ага и видим какой пользователь выполняет сейчас какой запрос.

А если, как по условиям вопросов, "надо последние 50" или "надо за определенное время", то сидим не отрываясь и следим, причем за всеми сессиями сразу. Никакого сериала не нужно
24 авг 06, 16:07    [3049175]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
evgenyg
Member

Откуда:
Сообщений: 355
tru55
Ага и видим какой пользователь выполняет сейчас какой запрос.

А если, как по условиям вопросов, "надо последние 50" или "надо за определенное время", то сидим не отрываясь и следим, причем за всеми сессиями сразу. Никакого сериала не нужно


Если надо последнии 50 или за какой то период времени то можно поставить precise
включить collection и не париться. Или можно написать job который будет делать нужные запросы раз скажем в минуту и сливать результаты в какую нибудь таблицу, или создать onlogin trigger и писать все в trace или ... много есть вариантов.
P.S. Вы наверное гуру себя считаете да?
24 авг 06, 16:12    [3049210]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
Деев И.
Member

Откуда: отсюда
Сообщений: 783
Добрый день!
Можно узнать поподробнее, что означает
"можно поставить precise, включить collection"?
24 авг 06, 18:42    [3050031]     Ответить | Цитировать Сообщить модератору
 Re: Список последних SQL команд  [new]
evgenyg
Member

Откуда:
Сообщений: 355
Деев И.
Добрый день!
Можно узнать поподробнее, что означает
"можно поставить precise, включить collection"?

Идем на Крутая фирма, платим много много денег и наслаждаемся. (Precise это старое имя сейчас называется I3), Но вообще auditing кто чего сделал достаточно просто настроить, только долго и дорого.
24 авг 06, 19:05    [3050135]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить