Разработчик хочет видеть план запроса.
Запрос составлен на базе вьюх из других схем с правом селекта на них.
SQLNavigator и OraDeveloper дают ошибку оракла 01039 - требуются права на
нижележащие объекты, из которых составлены вьюхи.
Давать права на них - вроде бы не очень правильно.
Как можно этот вопрос решить, не давая дополнительных прав на объекты схемы ?
Best regards,
Sergey E-mail: zah.asu(сoбaкa)bmz.gomel.by
-- план на последний выполненый статемент в текущей сессии
select * from table (dbms_xplan.display_cursor);
В ответ на твое письмо от 21 Sep 07:
ABI> -- план на последний выполненый статемент в текущей сессии
ABI> select * from table (dbms_xplan.display_cursor);
Это в 10-ке чтоль?
У меня на 9.2.0.6 есть только dbms_xplan.display:
SQL> explain plan for select * from dual;
Explained
SQL> select * from table (dbms_xplan.display);
PLAN_TABLE_OUTPUT
-------------------------------------------------------------------------------
-
--------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost |
--------------------------------------------------------------------
| 0 | SELECT STATEMENT | | | | |
| 1 | TABLE ACCESS FULL | DUAL | | | |
--------------------------------------------------------------------
Note: rule based optimization
9 rows selected
Искренне ваш.
>> Разработчик хочет видеть план запроса.
AI> -- план на последний выполненый статемент в текущей сессии
AI> select * from table (dbms_xplan.display_cursor);
Разработчик хочет видеть в графике, дерево с надписями и пояснениями, как в
SQLNavigator.
> Hello Albert!
>
> >> Разработчик хочет видеть план запроса.
> AI> -- план на последний выполненый статемент в текущей сессии
> AI> select * from table (dbms_xplan.display_cursor);
>
> Разработчик хочет видеть в графике, дерево с надписями и пояснениями,
> как в
> SQLNavigator.
У достаточно свежих версий SQL Navigator есть возможность генерировать
планы запросов по технологии, которую я предложил - через служебного
пользователя.
--
остаюсь искренне ваш,
Станислав Сухолёт
>> AI> -- план на последний выполненый статемент в текущей сессии
>> AI> select * from table (dbms_xplan.display_cursor);
>> Разработчик хочет видеть в графике, дерево с надписями и
>> пояснениями, как в SQLNavigator.
СС> У достаточно свежих версий SQL Navigator есть возможность генерировать
СС> планы запросов по технологии, которую я предложил - через служебного
СС> пользователя.
Виноват, перерыл историю - Вашего предложения не нашел.
Hе могли бы Вы, если нетрудно, повторить письмо, пожалуйста ?
создать пользователя, ему дать SELECT ALL, сделать в его схеме табличку,
селект на которую доступен всем, сделать процедуру, которая будет
сохранять план запроса в эту табличку, дать право на исполнение этой
процедуры кому надо
Конечно, останутся вопросы с всевозможными профилями и ограничениями "IO,
CPU TIME, MEMORY" и прочее... но это можно и динамически менять как-то?
через процедуру-же?