AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.01.2009, 08:38   #1  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Lightbulb Очередная небольшая революция - переход на Oracle
Собственно хочу поделиться с общественностью - на праздники был совершен "переворот" - перевели рабочую базу на Oracle 10g. Axapta 3 KR2.
Собстенно перенос данных прошел где-то за сутки.
Если кому что интересно - спрашивайте.
За это сообщение автора поблагодарили: mazzy (2), belugin (3).
Старый 06.01.2009, 13:09   #2  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Я так понимаю - переходили с MS SQL 2005 x64 ? И как данные переносили ? Через SQL Integration services или есть какая-то Оракловская тулза для переноса данных ?

И как впечатления (первые) по поводу сравнения быстродействия Аксапы на MS SQL 2005 x64/Oracle 10g ?
Старый 06.01.2009, 13:48   #3  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Да, переходили с MS SQL 2005 x64, но это тоже был переходный вариант (чтобы Windows 2003 x64 поставить на рабочий сервер). Насчет тулзов сложнее - предварительно были опробованы и SSIS и оряклячие переносилки (и прочее) - ни одна нормально не работает с image и text (в терминологии МС) полями! Пришлось рисовать генератор скриптов и т.д. - подготовительных исследований много было.
Пока по скорости не понятно - не было "боевой" нагрузки, но для 60-70 человек визуально практически одниаково. Мы расчитываем на другой выигрыш - отсутствие длительных и "многопользовательских" блокировок (разных видов).
Старый 06.01.2009, 18:07   #4  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от egorych Посмотреть сообщение
Да, переходили с MS SQL 2005 x64, но это тоже был переходный вариант (чтобы Windows 2003 x64 поставить на рабочий сервер)
т.е. Oracle под Windows крутится? брр..
Цитата:
Мы расчитываем на другой выигрыш - отсутствие длительных и "многопользовательских" блокировок (разных видов)
А что ж read_committed_snapshot не включили ? Часовой RTFM мог бы избавить от вышеописанного геморроя с миграцией
__________________
-ТСЯ или -ТЬСЯ ?
Старый 06.01.2009, 21:43   #5  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Ну для полноты картины не хватает информации о размере БД, о соотношении производительности между старым сервером БД и новым. А также об объеме модификаций приложения, который необходимо было сделать для перехода. Ведь как минимум индексы применяются по-другому и то, что раньше "летало" - могло существенно затормозиться
__________________
Возможно сделать все. Вопрос времени
Старый 07.01.2009, 00:06   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
как минимум индексы применяются по-другому и то, что раньше "летало" - могло существенно затормозиться
Да уж, теперь стоит внимательно почитать на форуме темы, наподобие Axapta 3.0 sp3+oracle 10.2.0.3 optimizer_index_cost_adj, и готовиться выправлять многочисленные "придури" оракла, возникающие из-за этого. В частности, замечено, что его оптимизатор, порой, как-то "своеобразно" подбирает "наиболее подходящий" индекс и строит совершенно дикие планы запроса - возможно, как раз из-за перекоса весов различных параметров, используемых им при оценке стоимости использования того или иного плана. И не дай Бог вам по малодушеству начать лечить такие "придури" outline'ами - будете огребать спонтанные тормоза из-за отваливания этих outline'ов при любом изменении запроса (ну, там, поле добавили или переименовали).
Цитата:
Сообщение от egorych Посмотреть сообщение
Пришлось рисовать генератор скриптов и т.д. - подготовительных исследований много было.
Интересно, а кто-нить заморачивался тем, чтобы посчитать и соотнести затраты на эти вот исследования, перенос данных, на тот же Оракл, на поиск и наем Oracle DBA (а без него у вас "само собой" ничего нормально не заработает) - к примеру, в сравнении с докупкой ндцати гигов памяти под сервер БД с Ms SQL 2005 x64?..
Цитата:
Сообщение от egorych Посмотреть сообщение
Мы расчитываем на другой выигрыш - отсутствие длительных и "многопользовательских" блокировок (разных видов).
А вы разбирались в причинах блокировок? А то ведь бывают случаи, когда сменой СУБД ничего не решить, к примеру, вот:
inventItemLocationSelectLocked
Старый 07.01.2009, 00:40   #7  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от gl00mie Посмотреть сообщение
В частности, замечено, что его оптимизатор, порой, как-то "своеобразно" подбирает "наиболее подходящий" индекс и строит совершенно дикие планы запроса - возможно, как раз из-за перекоса весов различных параметров, используемых им при оценке стоимости использования того или иного плана.
Ну тут могу сказать, что я наоборот, сталкивался с тем, что Oracle, в отличие от SQL Server чаще выберет FULL TABLE SCAN, нежели неоптимальный индекс. Хотя справедливости ради надо отметить, что порой он действительно "своеобразно" подбирает индекс и без Oracle DBA (или человека, исполняющего эту роль) будет тяжело обходиться.

Цитата:
Сообщение от gl00mie Посмотреть сообщение
Интересно, а кто-нить заморачивался тем, чтобы посчитать и соотнести затраты на эти вот исследования, перенос данных, на тот же Оракл, на поиск и наем Oracle DBA (а без него у вас "само собой" ничего нормально не заработает) - к примеру, в сравнении с докупкой ндцати гигов памяти под сервер БД с Ms SQL 2005 x64?..А вы разбирались в причинах блокировок? А то ведь бывают случаи, когда сменой СУБД ничего не решить
Тут ведь есть вот такой нюанс. Бывают случаи, когда Oracle, как и SQL Server официально не закупаются (пиратские). Т.о. организация не ощущает на себе стоимость лицензий. И решение принимается исходя из слов "В Oracle будет все тип-топ, а SQL Server я плохо знаю" ответственного сотрудника. Докупать память - это деньги - а тут вроде как "своими силами" обходимся (которые кстати все равно фактически не бесплатные, но об этом часто забывают).

Кстати, в оракле - есть хороший анализатор выполняющихся запросов. Мы так нашли почему постоянно виснет разноска. Оракл показал на запрос UPDATE NumberSequenceTable. Нехитрые исследования показали, что проблема в непрерывных номерных сериях. Т.к. освобождение номера (в отличие от выделения) идет не в отдельной транзакции. В результате - мы максимально сняли везде галку "Непрерывная" (ессно убедившись, что это не приводит к трассировкам стека) и увеличили кол-во номеров на предварительное выделение у наиболее востребованных номерных серий (типа ваучера).
Я по себе скажу - что в SQL 2000 такого механизма в помине не было (формально блокировок не было). Насчет 2005 - не знаю, но есть ощущение - что в Оракл все равно выдавал больше нужной информации.
__________________
Возможно сделать все. Вопрос времени
Старый 07.01.2009, 12:12   #8  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Я по себе скажу - что в SQL 2000 такого механизма в помине не было (формально блокировок не было). Насчет 2005 - не знаю, но есть ощущение - что в Оракл все равно выдавал больше нужной информации.
Странно, я на SQL 2000 сам находил такую же плюшку (выделение в отдельной ранзакции а возврат в той же). Блокировки там были (sp_lock например). Там не было ВЗАИМНЫХ блокировок с точки зрения MS SQL.

Кстати, есть всякие дополнительные нашлепки для SQL админов типа dbArtisan
Старый 07.01.2009, 16:39   #9  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,275 / 3476 (122) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от belugin Посмотреть сообщение
Странно, я на SQL 2000 сам находил такую же плюшку (выделение в отдельной ранзакции а возврат в той же). Блокировки там были (sp_lock например). Там не было ВЗАИМНЫХ блокировок с точки зрения MS SQL.

Кстати, есть всякие дополнительные нашлепки для SQL админов типа dbArtisan
Сия плюшка существует как я понимаю еще со времен 2.5. Но не зная ее - ее обнаружить - для этого нужна доп инфа со стороны БД. В некоторых случаях сам догадываешься (исследуя код), иногда - старшие товарищи помогают... Либо БД указывает. Для моего тогдашнего уровня знаний - эта доп инфа сильно помогла.

Ну... в отношении доп нашлепок не скажу - но стандартная поставка оракла все равно побогаче будет. Нравится мне его Enterprise Manager с веб-интерфейсом.
__________________
Возможно сделать все. Вопрос времени
Старый 08.01.2009, 19:03   #10  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Цитата:
Сообщение от gl00mie
В частности, замечено, что его оптимизатор, порой, как-то "своеобразно" подбирает "наиболее подходящий" индекс и строит совершенно дикие планы запроса - возможно, как раз из-за перекоса весов различных параметров, используемых им при оценке стоимости использования того или иного плана.
Ну тут могу сказать, что я наоборот, сталкивался с тем, что Oracle, в отличие от SQL Server чаще выберет FULL TABLE SCAN, нежели неоптимальный индекс. Хотя справедливости ради надо отметить, что порой он действительно "своеобразно" подбирает индекс и без Oracle DBA (или человека, исполняющего эту роль) будет тяжело обходиться.
Согласен и с тем и с другим, хотя в случае Аксапты с первым больше. И это не только из-за optimizer_index_cost_adj...
Насколько я понимаю, это всё из-за функциональных индексов, с которым оптимизатор (по крайне мере 9i) временами как-то с трудом справляется, даже при наличии самой полной статистики.
Я проводил небольшие "исследования", моделируя одинаковые по сути ситуации, но с участием либо FBI, либо и обычных индексов. В результате было очень заметно, что в случае обычных индексов оптимизатор выбирает отличные оптимальные планы, используя по максимуму всё, что нужно по смыслу. В случае же FBI результаты бывают просто непредсказуемые.
Навскидку помню следующие две проблемные ситуации, хотя их, конечно, больше:
(правда данные эффекты я наблюдал на оракле на Винде. есть шанс, что на каком-нить *nix-e он себя и лучше поведёт)
- Берётся абсолютно левый индекс, иногда даже в котором (кроме компании конечно) нет ни одного поля из запроса! И начинает по нему сканировать. Со всеми вытекающими по производительности. Приходится в таких ситуациях в Аксапте лечиться конкретным индекс-хинтом.
- В ситуации, когда имеем запрос типа select a.. что-то ещё .... [not]exists join b ... join c.
Предполагаем, что а соединено с b, а b c с по селективных индексам, которые можно и нужно использовать.. С обычными индексами Оракл бы "пропихнул" нужное условие на таблицу "b" в джоин a+b+c и выполнил бы по индексам нестед лупами с минимальной стоимостью и, соответственно, мгновенной скоростью запроса. С FBI же такую красоту он сделать уже отказывается. Рассматривает джоин b+c как независимое представление, которое и "разрешает" отдельно, обычно hash-джоином, естественно включая фулл-скан на обе таблицы (b & c). Стоит ли говорить о том, как страдает скорость, когда вместо доступа к нескольким строчкам по индексу, оракл начинает сканировать 2 большие таблицы. Приходится либо переписывать запросы, если это возможно и допустимо, либо "забивать".
__________________
Zhirenkov Vitaly
Старый 08.01.2009, 19:11   #11  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Сия плюшка существует как я понимаю еще со времен 2.5. Но не зная ее - ее обнаружить - для этого нужна доп инфа со стороны БД. В некоторых случаях сам догадываешься (исследуя код), иногда - старшие товарищи помогают... Либо БД указывает. Для моего тогдашнего уровня знаний - эта доп инфа сильно помогла.

Ну... в отношении доп нашлепок не скажу - но стандартная поставка оракла все равно побогаче будет. Нравится мне его Enterprise Manager с веб-интерфейсом.
Quest Spotlight можете ещё посмотреть, тоже клёвая вещь, не нравится... По многим позициям удобнее OEM, как мен кажется. По не бесплатная и в втандартной поставе не идёт. )) Но она имеется и для SQL Server тоже, правда я сам не видел сиквельного варианта.

А насчёт информации о выполняющихся запросах в Оракле и МССКЛ - тут я так понимаю дело в том, что с сиквелом аксапта работает на уровне курсоров, если так можно выразиться, и в итоге со стороны Studio видно, что выполняются операции с курсором (fetch,например), но не видно что конкретно за запрос висит. Это конечно действительно напрягает и не удобно. С Ораклом как-то проще такие моменты отслеживаются, согласен.
__________________
Zhirenkov Vitaly
За это сообщение автора поблагодарили: sukhanchik (2).
Старый 09.01.2009, 09:35   #12  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Драсти! Отдыхал немножко, поэтому задержка с ответами, итак:
Цитата:
Сообщение от ZVV Посмотреть сообщение
Quest Spotlight ...
Эту вещь юзаю и для МС и для Оракла - мне нравится!
Цитата:
Сообщение от ZVV Посмотреть сообщение
А насчёт информации о выполняющихся запросах в Оракле и МССКЛ - тут я так понимаю дело в том, что с сиквелом аксапта работает на уровне курсоров...
Насколько я разбираюсь в медицине - курсоры это ваще главна проблема всех "проблем" в аксапте! Ибо это самый э-э-э, неправильный режим работы а MSSQL.
Цитата:
Сообщение от Vadik Посмотреть сообщение
т.е. Oracle под Windows крутится? брр..
Не знаю что там брр, но вполне нормально работает, сие решение было принято после консультаций со знакомыми "собаководами", которые юзают ораклу ну очень давно! Утверждается, что для наших задач разницы практически нет! Есс-но если вдруг будет RAC, то конечно, будет *nix.
Цитата:
Сообщение от Vadik Посмотреть сообщение
А что ж read_committed_snapshot не включили ? Часовой RTFM мог бы избавить от вышеописанного геморроя с миграцией
Не надо думать, что Вы одни такие умные! Ax3 этот read_committed_snapshot как зайцу стоп сигнал. Возможно в 4 что-то и дает, но мы включали его - ни каких изменений в поведении не произошло.
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Ну для полноты картины не хватает информации о размере БД, о соотношении производительности между старым сервером БД и новым. А также об объеме модификаций приложения, который необходимо было сделать для перехода. Ведь как минимум индексы применяются по-другому и то, что раньше "летало" - могло существенно затормозиться
Размер БД исходный около 200Г, получившийся - где-то 100Г. Разница заключается в любимой табличке SysDatabaseLog, которая не переносилась.
Приложение пока не модифицировалоь специально для Оракла - возможно чуть поработаем и что-то выявится.

Цитата:
Сообщение от gl00mie Посмотреть сообщение
Да уж, теперь стоит внимательно почитать на форуме темы, наподобие Axapta 3.0 sp3+oracle 10.2.0.3 optimizer_index_cost_adj, ...
Есс-но все сообщения на форуме о каких-то траблах изучаются и анализируются применимо к нашей ситуации.
Цитата:
Сообщение от gl00mie Посмотреть сообщение
А вы разбирались в причинах блокировок?
Разбирались, кончно. Кое-где их удалось убрать модификацие кода. Но не везде. Были проведены тестовые "игры" в разных вариантах, в общем это тема ваще отдельная...
Старый 09.01.2009, 14:46   #13  
fed is offline
fed
Moderator
Аватар для fed
Ex AND Project
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
2,895 / 5650 (194) ++++++++++
Регистрация: 13.03.2002
Адрес: Hüfingen,DE
Кстати - в продолжение давней дискуссии на которую тут ссылаются - нашел интересную статью по поводу того, как работать со статистикой при использовании FBI:
http://richardfoote.wordpress.com/20...-no-surprises/

Последний раз редактировалось fed; 09.01.2009 в 14:49.
За это сообщение автора поблагодарили: ZVV (1), Logger (4).
Старый 09.01.2009, 16:30   #14  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от egorych Посмотреть сообщение
Не знаю что там брр, но вполне нормально работает
Ну вот и славно
Цитата:
Ax3 этот read_committed_snapshot как зайцу стоп сигнал. Возможно в 4 что-то и дает, но мы включали его - ни каких изменений в поведении не произошло
Если "никаких изменений в поведении не произошло" относится к
Цитата:
мы расчитываем на другой выигрыш - отсутствие длительных и "многопользовательских" блокировок (разных видов)
, значит, у Вас есть проблемы с обновлением данных несколькими сессиями (несколько "писателей"). Чем в данном случае может помочь Oracle - непонятно.
Ну да ладно. Софт, как я понимаю, по карману компании не ударил , экспириенс получен, система работает, все довольны. Удачи
__________________
-ТСЯ или -ТЬСЯ ?
Старый 09.01.2009, 18:29   #15  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Цитата:
Сообщение от Vadik Посмотреть сообщение
...у Вас есть проблемы с обновлением данных несколькими сессиями (несколько "писателей"). Чем в данном случае может помочь Oracle - непонятно.
мсье телепат? Я уже писал об том, что происходит Axapta 3.0 и Oracle 11 - кто-нить пробовал ?
В нашем случае помогает и даже очень!
ps Хотел чег-то дописать, но воздержусь.
Старый 10.01.2009, 10:18   #16  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
Цитата:
Сообщение от gl00mie Посмотреть сообщение
А вы разбирались в причинах блокировок?
Цитата:
Сообщение от egorych Посмотреть сообщение
Разбирались, кончно. Кое-где их удалось убрать модификацие кода. Но не везде. Были проведены тестовые "игры" в разных вариантах, в общем это тема ваще отдельная...
А можно поподробнее ? Где не удалось убрать блокировки или привести их к приемлемой работе?

PS. Лучше действительно в отдельной теме.
Старый 10.01.2009, 19:34   #17  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Сообщение от fed Посмотреть сообщение
Кстати - в продолжение давней дискуссии на которую тут ссылаются - нашел интересную статью по поводу того, как работать со статистикой при использовании FBI:
http://richardfoote.wordpress.com/20...-no-surprises/
А в чем суть поста? Не забывать использовать 'method_opt=> ‘FOR ALL HIDDEN COLUMNS SIZE 1′ в dbms_stats.gather_table_stats?

Согласен, но зачем вообще использовать dbms_stats.gather_table_stats, когда есть dbms_stats.gather_scheme_stats, которая прекрасно обновляет статистику по FBI:

X++:
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

demas@ORCL> create table pink_floyd(table_name varchar2(50));

Table created.

demas@ORCL> insert into pink_floyd values('one');

1 row created.

demas@ORCL> insert into pink_floyd values('One');

1 row created.

demas@ORCL> insert into pink_floyd values('ONE');

1 row created.

demas@ORCL> select * from pink_floyd;

TABLE_NAME
--------------------------------------------------
one
One
ONE

demas@ORCL> select column_name, num_distinct, hidden_column, virtual_column from dba_tab_cols where 
table_name='PINK_FLOYD';

COLUMN_NAME                    NUM_DISTINCT HID VIR
------------------------------ ------------ --- ---
TABLE_NAME                                  NO  NO
SYS_NC00002$                                YES YES


demas@ORCL> begin
  2  dbms_stats.gather_schema_stats(ownname=>'DEMAS',cascade=>TRUE);
  3  end;
  4  /

PL/SQL procedure successfully completed.

demas@ORCL>  select column_name, num_distinct, hidden_column, virtual_column from dba_tab_cols where
 table_name='PINK_FLOYD';

COLUMN_NAME                    NUM_DISTINCT HID VIR
------------------------------ ------------ --- ---
TABLE_NAME                                3 NO  NO
SYS_NC00002$                              1 YES YES
Старый 11.01.2009, 00:48   #18  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Андре Посмотреть сообщение
А в чем суть поста? Не забывать использовать 'method_opt=> ‘FOR ALL HIDDEN COLUMNS SIZE 1′ в dbms_stats.gather_table_stats?

Согласен, но зачем вообще использовать dbms_stats.gather_table_stats, когда есть dbms_stats.gather_scheme_stats, которая прекрасно обновляет статистику по FBI:

.................
забыли создать индекс

Да нет, суть поста немножко не в этом, как я понял. Скорее в основном он в том, чтоб знать о том, что статистика на эти спрятанные колонки должна быть собрана. Ну и в том, что она не собирается автоматом когда вы создаёте индекс (FBI), а при этом создаётся только статистика на сам индекс.
В итоге, если вы хотите, чтоб оптимизатор нормально работал с новым индексом, то вам нужно дособрать статистику на "спрятанные" колонки.

А dbms_stats.gather_table_stats собирает статистику на эти колонки так же хорошо, как и dbms_stats.gather_scheme_stats - проверьте сами.
И в режиме for all columns и в режиме for all indexed columns.
И стандартный GATHER_STATS_JOB, кстати, тоже...
__________________
Zhirenkov Vitaly
За это сообщение автора поблагодарили: mazzy (2).
Старый 11.01.2009, 09:00   #19  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Сообщение от ZVV Посмотреть сообщение
забыли создать индекс
Не, создать не забыл, а вот в приведенный листинг не включил.

X++:
create index pf_i on pink_floyd(upper(table_name));
Если бы индекс не создал - вот этого не было бы:

X++:
demas@ORCL> select column_name, num_distinct, hidden_column, virtual_column from dba_tab_cols where 
table_name='PINK_FLOYD';

COLUMN_NAME                    NUM_DISTINCT HID VIR
------------------------------ ------------ --- ---
TABLE_NAME                                  NO  NO
SYS_NC00002$                                YES YES
Цитата:
Сообщение от ZVV Посмотреть сообщение
Да нет, суть поста немножко не в этом, как я понял. Скорее в основном он в том, чтоб знать о том, что статистика на эти спрятанные колонки должна быть собрана. Ну и в том, что она не собирается автоматом когда вы создаёте индекс (FBI), а при этом создаётся только статистика на сам индекс.
При создании индекса статистика не создается даже на индекс. Ее надо собрать.

Цитата:
Сообщение от ZVV Посмотреть сообщение
А dbms_stats.gather_table_stats собирает статистику на эти колонки так же хорошо, как и dbms_stats.gather_scheme_stats - проверьте сами.
Дык не в том вопрос. dbms_stats.gather_scheme_stats - стандартная периодическая операция выполняемая минимум раз в неделю. Почему именно scheme? Потому что мне лень все таблички перебирать

А если мы уже используем dbms_stats.gather_scheme_stats, то смысл в exec dbms_stats.gather_table_stats пропадает.
За это сообщение автора поблагодарили: mazzy (2).
Старый 11.01.2009, 09:23   #20  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
А кстати никто не разбирался, родной, Аксаптовский job и пакет "правильно" статистику собирает?
Теги
ax3.0, oracle

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Установка Dynamics 4.0 под Oracle Paul_ST DAX: Администрирование 6 20.04.2007 16:36
aEremenko: История об установке Microsoft Dynamics Ax 4.0 и Oracle 10G Blog bot DAX Blogs 0 28.10.2006 16:01
переход существующего приложения c MS SQL на ORACLE velk DAX: Администрирование 22 27.07.2006 10:30
Знатокам Oracle listener DAX: Администрирование 1 23.01.2004 10:53
"On MSSQL" or "On Oracle" alpine DAX: Прочие вопросы 5 19.03.2002 11:38

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:08.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.