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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.12.2006, 12:18   #7  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Цитата:
Сообщение от Davido Посмотреть сообщение
Коллеги, первый раз ставлю Axapta на Oracle, та же проблема - слишком долгая синхронизация.

Кто-нибудь выяснил причину этой беды?
Вчера нарвался на то же самое при переходе на 10-ку.
Причина - запрос, который выдает ядро аксапты для определения списков полей индексов таблицы, например

SELECT a.index_name, b.column_name, c.column_expression, a.index_type, a.uniqueness
FROM user_indexes a, user_ind_columns b, user_ind_expressions c
WHERE b.table_name=UPPER('INVENTLOCATION') AND a.index_name=b.index_name
AND b.index_name=c.index_name(+) AND b.column_position=c.column_position(+) ;

10-ка уходит в себя на 2-3 секунды на каждом таком запросе

Помогло бы индексирование системных таблиц (OBJ$ и прочих) по которым построены эти вьюхи по полю NAME, но

оракл на такие провокации не поддается "ORA-00701 object necessary for warmstarting database cannot be altered"

В итоге создал материализованные вьюхи USER_INDEXES и USER_IND_COLUMNS и проиндексировал их прямо в схеме юзера под которым работает аксапта. Синхронизация после этого 4-5 минут. Никаких побочных эффектов пока не найдено, но гарантий дать не могу

Скрипт для создания вьюшек

PHP код:
CREATE MATERIALIZED VIEW "USER_INDEXES"
  
AS select "INDEX_NAME","INDEX_TYPE","TABLE_OWNER","TABLE_NAME","TABLE_TYPE",
    
"UNIQUENESS","COMPRESSION","PREFIX_LENGTH","TABLESPACE_NAME",
    
"INI_TRANS","MAX_TRANS","INITIAL_EXTENT","NEXT_EXTENT",
    
"MIN_EXTENTS","MAX_EXTENTS","PCT_INCREASE","PCT_THRESHOLD",
    
"INCLUDE_COLUMN","FREELISTS","FREELIST_GROUPS","PCT_FREE",
    
"LOGGING","BLEVEL","LEAF_BLOCKS","DISTINCT_KEYS",
    
"AVG_LEAF_BLOCKS_PER_KEY","AVG_DATA_BLOCKS_PER_KEY",
    
"CLUSTERING_FACTOR","STATUS","NUM_ROWS","SAMPLE_SIZE",
    
"LAST_ANALYZED","DEGREE","INSTANCES","PARTITIONED",
    
"TEMPORARY","GENERATED","SECONDARY","BUFFER_POOL",
    
"USER_STATS","DURATION","PCT_DIRECT_ACCESS","ITYP_OWNER",
    
"ITYP_NAME","PARAMETERS","GLOBAL_STATS","DOMIDX_STATUS",
    
"DOMIDX_OPSTATUS","FUNCIDX_STATUS","JOIN_INDEX",
    
"IOT_REDUNDANT_PKEY_ELIM","DROPPED" FROM "SYS"."USER_INDEXES";

  
CREATE MATERIALIZED VIEW "USER_IND_COLUMNS"
  
AS select "INDEX_NAME",
    
"TABLE_NAME","COLUMN_NAME","COLUMN_POSITION","COLUMN_LENGTH",
    
"CHAR_LENGTH","DESCEND" FROM "SYS"."USER_IND_COLUMNS";

CREATE UNIQUE INDEX "T_USER_IDX_1" 
    
ON "USER_INDEXES"  ("INDEX_NAME") ;

CREATE INDEX "T_USER_IND_COLUMNS_IDX_1" 
    
ON "USER_IND_COLUMNS"  ("INDEX_NAME""COLUMN_POSITION");

CREATE INDEX "T_USER_IND_COLUMNS_IDX_2" 
    
ON "USER_IND_COLUMNS"  ("TABLE_NAME") ; 
За это сообщение автора поблагодарили: Dron AKA andy (3), Vadik (3), raz (3), Logger (6), Bars (1), ziva (2), Eldar9x (1), ring (1).
Теги
ax3.0, oracle, полезное, синхронизация баз, тормоза

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Синхронизация таблицы - проблема TasmanianDevil DAX: Администрирование 3 30.10.2006 09:41
навязчивая синхронизация Антон Солдатов DAX: Функционал 11 22.04.2005 11:04
Синхронизация таблиц при изменении EDT z_av DAX: Программирование 1 16.12.2004 11:55
Репликация и синхронизация Tays DAX: Администрирование 12 24.11.2004 12:18
синхронизация с outlook alpine DAX: Функционал 7 09.06.2004 13:53

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:08.