The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

DB2 FAQ для администраторов (db2 sql faq database)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: db2, sql, faq, database,  (найти похожие документы)
From: "Nikolay A.Kulikov" <nick@itcenter.msk.ru> Newsgroups: fido7.su.dbms.db2 Subject: DB2 FAQ для администраторов DB2 FAQ для администраторов
Q1: Какие утилиты массовой загрузки выгрузки данных существуют? Выгрузка - EXPORT Загрузка - IMPORT Быстрая загрузка - LOAD Q2: Какие форматы данных понимают EXPORT, IMPORT,LOAD??? Загрузка и выгрузка данных происходит, только по определенным форматам. ASC - текстовый файл без разделителей столбцов. DEL - текстовый файл c разделителями столбцов. WSF - Work Sheet Format, НЕ поддерживает русские кодировки??? IXF - интегрированный формат обмена. При обратном IMPORT автоматически создаются таблицы. Q3: Какие есть рекомендации при использовании IMPORT??? IMPORT Простые insert каждая вставка обрабатывается как транзакция (COMMITCOUNT указывает на количество строк после которых должен осуществлятся COMMIT). Триггеры не отключаются, все ограничения учитываются при вставке. Внимание дабы не было ошибок из-за переполнения log файлов при загрузки рекомендуется увеличить количество LOG файлов и использовать опцию СCOMMITCOUNT в IMPORT db2 update db cfg for database <database-name> using logprimary 20 logsecond Так же можно указать в какой кодировке (win1251, DOS866, iso8859-5) находится файл для IMPORT и LOAD. Например если вы выгружаете в текстовый файл на OS/2, то потом его можно будет без дополнительных операций загрузить например на AIX, см. опцию в LOAD и IMPORT под названием CODEPAGE Q3: Какие есть рекомендации при использовании LOAD??? Предположим, что загружаем данные в две таблицы table1 & table2 LOAD 1. Создание таблиц table1, table2и индексов 2. Создание таблиц исключений table1exp, table2exp 3. Перед выполнением этой утилиты сделайте BACKUP если вы используете NONRECOVEREABLE option 4. Проверте свободное место 5. Выполнение оператора загрузки LOAD 6. Проверка load.msg и dumpfile после загрузки 7. Проверка EXCEPTION TABLES после загрузки 8. BACKUP TABLESPACE (DATABASE) есди LOGRETAIN=YES and COPY=NO 9. SET CONSTRAINTS FOR table1,table2 IMMEDIATE CHECKED FOR EXCEPTION IN table1 USE table1exp IN table2 USE table2exp 10. RUNSTATS - если необходимо. Q4: Какие параметры влияющие на скорость загрузки? 1. Быстрее если вы используете REPLACE. 2. Создание индексов во время загрузки снижает скорость LOAD. 3. СOPY YES снижает производительность. 4. Реомендуется в READ ONLY системах (OLAPи все такое) использовать COPY NO Q5: Что такое Check Pending State у таблицы??? 1. При и после LOAD в таблице отключаются ограничения (constraints) 2. Если Parent table находится в Check Pending State, то и дочерние таблицы находятся в Check Pending State. 3. К таблицам нет доступа по DML Q6: Как вернуть таблицу из Check Pending State в нормальное состояние SET CONSTRAINTS FOR table1,table2 IMMEDIATE CHECKED FOR EXCEPTION IN table1 USE table1exp IN table2 USE table2exp; Q7: Что такое и по каким правилам создается exception tables для таблицы table1??? Таблица в которую заносятся строки которые не прошли SET CONSTRAINTS 1. Первые n столбцов такие же как и у table1. 2. Не создается на ней никаких ограниечений и триггеров. 3. n+1 столбец --> TIMESTAMP 4. n+2 cтолбец --> CLOB (32K) 5. Пользователь должен иметь INSERT привилегии. Q8: Какие состояния табличных пространств бывают и как узнать состояние tablespace db2 list tablespaces show detail -Normal -Load Pending -Delete Pending -Backup Pending -Recovery Pending -RollForward Pending Q9: Какие Типы BACKUP есть в DB2??? Offline и Online по умолчанию Offline. Offline резервное копирование требует отсоединения всех пользователей Q10: Как сделать возможным Online Backup??? Поставить один из параметров (или оба) LOGRETAIN USEREXIT в YES Q11: На что влияют параметры LOGRETAIN и USEREXIT??? Если оба этих парметра находятся в соятоянии NO, то тразакции пишут свои данные по кругу в LOG файлы. Т.е f1 -> f2 ->f3 ->f1, если транзакция настолько велика, что не укладывается в количество определенных первичных LOG файлов (logprimary), например IMPORT без СOMMITCOUNT, то транзакция начинает писать в дополнительные LOF файлы (logsecond) transactionstart -> f1 ->f2 -> f3 (выход за размер logprimary) -> s1 ... Если же она не укладывается и в эти файлы, то она откатывается. В случае если один из LOGRETAIN и USEREXIT в положении YES, то нет циклического перезаписывания, а создаются новые файлы, LOGRETAIN и USEREXIT определяют количество и рабочие LOG файлы. Не рабочие LOG файлы (те в которые транзакции не пишут) можно архивировать на ленточку, например. Q12: Как установить TextExtender? Все зависит от того, под какую версию тебе нужно. В 6.1 мне пока не удалось заставить их работать. В 5.2 все работает нормально. Краткое руководство по установке 5.2 1. Скачать Extenders c IBM. Раздаются бесплатно. http://www.software.ibm.com/db2/ и далее по ссылкам. 2. Установить. Все Extenders ставятся сразу. Отдельно поставить Text Extender нельзя. При установке ОБЯЗАТЕЛЬНО ОТКРЫТЬ СПИСОК СЛОВАРЕЙ и ВЫБРАТЬ РУССКИЙ. По-умолчанию ставится английский. 3. Перезагрузка (Для WinNT). 4. Внимательно прочитать документацию и определить тип необходимого индекса. Для начала хватит PRESIZE. 5. Увеличить параметры связанные с log до максимума. 6. Перезапустить db2 7. Стартовать Text Extender: txstart 8. Запустить db2tx. Выполнить connect к бд с admin account. Выдать команду: enable database <имя бд> 9. Сделать индекс используя команду enable text column. 10. Не обращать внимания на тот момент, что выполнение команды закончилось в окне db2tx. Может шуршать диском еще очень долго. Проверить количество проиндексированных записей можно через get index status. Пункты 6-9 есть в bat-файле \dmb\samples\txverify. Нужно выкинуть загрузку и создание демонстрационных таблиц. Возможные грабли 1. Раздутие log. При создании индекса можно указать commitcount, но у меня этот параметр не заработал. Логи раздувались до 100Мб. 2. Низкая скорость работы. Для поиска используется ф-я CONTAINS. Можно увеличить скорость, если использовать специальный вид запроса. Он описан в где-то в performance. Делается через common table expression. Q13: Какие особенности работы с различным типом бэкапов DB2 offline - нужно при бэкапе отключать всех пользователей online - периодически чистить см описание USEREXIT Пока все в следующей версии RESTORE + ROLLFORWARD + EVENT MONITORS. Special Thanks Vadim Rumyantsev, Victor Metelitsa, Lilya Kozlenko, Vyacheslav Yanuk

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру