powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Разный план выполнение запроса для разных пользователей
25 сообщений из 33, страница 1 из 2
Разный план выполнение запроса для разных пользователей
    #39817194
Зурбаган
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
База на Oracle 10g.
Имеются две одинаковые по структуре таблицы (индексы на поля тоже одинаковые). Эти таблицы через union all соединены во View.
Была создана третья таблица с такой же структурой и индексами и добавлена её во view.
После этого select по view у пользователя-создателя с правами администратора выполняется быстро.
У всех остальных пользователей - медленно.
Анализ плана показал, что в первом случае индексы применяются в поиске, во втором случае - идет full scan table.
Почему так?
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817195
jan2ary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У пользователей в их схемах объекты с идентичными названиями, поэтому запросы выглядят одинаково, а используют разные таблицы/индексы/представления. Например.
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817200
Фотография Vivat!San
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗурбаганАнализ плана показал, что в первом случае индексы применяются в поиске, во втором случае - идет full scan table.
Почему так?

Планы выполнения может зависеть от окружения оптимизатора, смотреть и сравнивать.
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817203
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jan2aryУ пользователей в их схемах объекты с идентичными названиями
Вот прям так взяли и разыменовались объекты, на которых базируется view, в локальные объекты других схем...
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817206
jan2ary
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousjan2aryУ пользователей в их схемах объекты с идентичными названиями
Вот прям так взяли и разыменовались объекты, на которых базируется view, в локальные объекты других схем...Да, надо читать внимательнее. Хотя еще есть шанс, что у них и вью тоже у каждого свое.
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817207
Зурбаган
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не... обращение идет к одним и тем же таблицам.
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817210
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗурбаганНе... обращение идет к одним и тем же таблицам.
Снимаете 10053 в обоих случаях и сравнительно изучаете. Муторно, но надежно :)
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817215
witte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зурбаган,

А клиент при соединении одинаковый используется?
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817218
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗурбаганНе... обращение идет к одним и тем же таблицам.
Это утверждение подкреплено проверкой?

select * from dba_objects where object_name = 'TABLE_NAME';
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817219
Зурбаган
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
witte,
Да, клиент одинаковый.
Единственное - доступ пользователям дается через роли. Grant select только на view, на таблицы во вью - нет. Но это не должно влиять.
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817230
Фотография Vivat!San
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
v$sys_optimizer_env

v$sess_optimizer_env
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817235
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
andrey_anonymousЗурбаганНе... обращение идет к одним и тем же таблицам.
Снимаете 10053 в обоих случаях и сравнительно изучаете. Муторно, но надежно :)+++
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817242
Зурбаган
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtender,
как я в трассировке узнаю почему не применяются индексы?
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817244
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зурбаганxtender,
как я в трассировке узнаю почему не применяются индексы?
ууу... Похоже, что в Вашем случае проще нанять специалиста.
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817256
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже, все исходят из того, что автор применяет одни и те же запросы от разных юзверей, хотя явно этого он и не обозначал. Возможно это так, но чтобы поверить в это, я прошу автора привести запросы и их планы от разных юзверей.
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817270
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
AmKad,

Да без разницы, 10053 на все ответит
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817364
Фотография AlexFF__|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtender,

Или просто покажет, что в FINAL приходят разные запросы без всякого обоснования =()
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817367
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
AlexFF__|,

И покажет почему не выбран индексный доступ
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817429
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тоже мучился с подобными проблемами, но так и не смог победить.
У меня файл трассировки для 10053 не создается. Для 10046 - нормально.
Уже и alter session set events '10053 trace name context forever, level 1' делал. Пусто в udamp
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817442
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChukisПусто в udampПотому что даже в допотопном Oracle нет такой папки.
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817446
alex-ls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChukisТоже мучился с подобными проблемами, но так и не смог победить.
У меня файл трассировки для 10053 не создается. Для 10046 - нормально.
Уже и alter session set events '10053 trace name context forever, level 1' делал. Пусто в udamp
http://www.sql.ru/faq/faq_topic.aspx?fid=389
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817448
Chukis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex-ls,
это я знаю. Для 10046 это работает. Для 10053 - нет.
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817449
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Chukis,

План то из кэша сначала вычистил?
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817473
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ChukisДля 10053 - нет.
Для 10053 должен случиться hardparse.
Самый простой способ его обеспечить - поменять comment на таблице перед запуском запроса.
...
Рейтинг: 0 / 0
Разный план выполнение запроса для разных пользователей
    #39817580
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
andrey_anonymousСамый простой способ его обеспечить - поменять comment на таблице перед запуском запроса.уже не работает этот способ - комменты не инвалидируют курсоры :)
сброс по sql_id:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
DECLARE
  name varchar2(50);
  version varchar2(3);
BEGIN
  select regexp_replace(version,'\..*') into version from v$instance;

  if version = '10' then
    execute immediate 
      q'[alter session set events '5614566 trace name context forever']'; -- bug fix for 10.2.0.4 backport
  end if;

  select address||','||hash_value into name
  from v$sqlarea 
  where sql_id like '&sql_id';

  sys.dbms_shared_pool.purge(name,'C',1);

END;
/

...
Рейтинг: 0 / 0
25 сообщений из 33, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Разный план выполнение запроса для разных пользователей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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