powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / SPM корректно перенести план
8 сообщений из 8, страница 1 из 1
SPM корректно перенести план
    #39408005
STS question
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На бою есть SQL_ID 1111, который выполняется долго. На тесте добавили к тексту запроса хинты, SQL_ID стал 2222 c хорошим планом. После этого на тесте делается STS, куда пакуется SQL_ID 2222 с его хорошим планом. STS переносится на бой и там разворачивается.

Далее, стоит задача привязать план от SQL_ID 2222 к SQL_ID 1111.

Вначале загружается в SPM план SQL_ID 1111 как есть

Код: plsql
1.
2.
3.
4.
5.
declare
 c number;
begin
 c := dbms_spm.load_plans_from_cursor_cache(sql_id=>'1111');
end;




Далее он отключается

Код: plsql
1.
2.
3.
4.
5.
declare
 c number;
begin
 c := dbms_spm.alter_sql_plan_baseline(sql_handle => 'SQL_5c4ca623bdc2936f', plan_name => 'SQL_PLAN_5sm564fyw54vgf2fff608', attribute_name => 'enabled',attribute_value => 'NO');
end;



И следующим шагом идет загрузка плана для SQL_ID 2222 в SQL_ID 1111

Код: plsql
1.
2.
3.
4.
5.
declare
 c number;
begin
 c := dbms_spm.load_plans_from_cursor_cache(sql_id=>'2222',plan_hash_value=>1930718367, sql_handle => 'SQL_5c4ca623bdc2936f');
end;




Однако на бою нет в cursor cache запроса с SQL_ID 2222. Загрузить ничего. Вопрос, как можно загрузить план не из CURSOR CACHE?
...
Рейтинг: 0 / 0
SPM корректно перенести план
    #39408022
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
STS question,

Если действовать по оракловым рекомендациям то план должен быть такой:
1. Сначала создаете таблицу: DBMS_SPM.CREATE_STGTAB_BASELINE
2. Сохраняете в нее нужное: DBMS_SPM.PACK_STGTAB_BASELINE
3. Импортируете таблицу на бой
4. Импортируете оттуда нужное: DBMS_SPM.UNPACK_STGTAB_BASELINE
...
Рейтинг: 0 / 0
SPM корректно перенести план
    #39408023
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
...
Рейтинг: 0 / 0
SPM корректно перенести план
    #39408028
STS question
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtenderSTS question,

Если действовать по оракловым рекомендациям то план должен быть такой:
1. Сначала создаете таблицу: DBMS_SPM.CREATE_STGTAB_BASELINE
2. Сохраняете в нее нужное: DBMS_SPM.PACK_STGTAB_BASELINE
3. Импортируете таблицу на бой
4. Импортируете оттуда нужное: DBMS_SPM.UNPACK_STGTAB_BASELINE

Спасибо, идея понятна. Вначале на тесте делаем Baseline для проблемного SQL_ID 1111, в котором делаем привязку к плану от SQL_ID 2222, и переносим Baseline с теста на бой.
...
Рейтинг: 0 / 0
SPM корректно перенести план
    #39408035
STS question
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtenderSTS question,

https://docs.oracle.com/cd/B28359_01/server.111/b28274/optplanmgmt.htm#PFGRF00713

Еще раз спасибо. Вопрос возник из-за следующего кода.

Код: plsql
1.
2.
3.
4.
5.
declare
 c number;
begin
 c := dbms_spm.load_plans_from_cursor_cache(sql_id=>'2222',plan_hash_value=>1930718367, sql_handle => 'SQL_5c4ca623bdc2936f');
end;



Оракл дает привязать план от одного запроса к другому запросу, если запросы находятся в cursor_cache. Возможно, можно загрузить план из STS или из Baseline, также с подменой SQL_ID, но, похоже, этого нет.
...
Рейтинг: 0 / 0
SPM корректно перенести план
    #39408056
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
STS questionОракл дает привязать план от одного запроса к другому запросу, если запросы находятся в cursor_cache. Возможно, можно загрузить план из STS или из Baseline, также с подменой SQL_ID, но, похоже, этого нет.на тесте бы сначала загрузили, а потом уже готовое перенесли
STS questionНа тесте добавили к тексту запроса хинтыпочему не просто dbms_sqldiag_internal.i_create_patch ?
...
Рейтинг: 0 / 0
SPM корректно перенести план
    #39408756
STS question
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xtenderSTS questionОракл дает привязать план от одного запроса к другому запросу, если запросы находятся в cursor_cache. Возможно, можно загрузить план из STS или из Baseline, также с подменой SQL_ID, но, похоже, этого нет.на тесте бы сначала загрузили, а потом уже готовое перенесли
STS questionНа тесте добавили к тексту запроса хинтыпочему не просто dbms_sqldiag_internal.i_create_patch ?

Я правильно понял, вы Илья, автор статьи "Четыре способа корректировки планов запросов по образцу без изменения кода."?

В очередной раз огромное спасибо!!!!! Применил успешно sql patch.
...
Рейтинг: 0 / 0
SPM корректно перенести план
    #39408770
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
STS question,

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


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