27_SH43-0144-00 (1038594), страница 28
Текст из файла (страница 28)
В следующем примере соединения с базой данных Bнаправляются на INSTANCE_C.catalog database b as b at node instance_cПримечание: Команда CATALOG DATABASE используется также на узлахклиентов для внесения в каталог баз данных, расположенных накомпьютерах серверов. Дополнительную информацию смотрите вруководстве Quick Beginnings для конкретной платформы.|Информацию о каталоге ячейки DCE смотрите в разделах “Службы каталогаDCE” на стр. 113 и “Приложение B. Использование служб каталогов средыDCE” на стр.
415.||||||||||||Примечание: Для улучшения производительности можно кэшировать в памятифайлы каталогов (включая каталог баз данных). (Информацию отом, как включить кэширование каталогов, смотрите в главе“Поддержка кэша каталогов (dir_cache)” руководства Руководствоадминистратора: Производительность.) Если включенокэширование каталогов, изменения, внесенные в каталог(например, при помощи команд CATALOG DATABASE илиUNCATALOG DATABASE) другой прикладной программой, могутвступить в силу для данной программы только после ееперезапуска. Чтобы обновить кэш каталога, используемыйсеансом процессора командной строки, используйте команду db2terminate.116Руководство администратора: Реализация|Кроме кэша уровня прикладной программы, для внутреннего поиска менеджерабаз данных используется кэш уровня менеджера баз данных.
Для обновлениясодержимого этого “совместно используемого” кэша используйте командыdb2stop и db2start.|||Дополнительную информацию о кэшировании каталогов смотрите в главе“Поддержка кэша каталогов (dir_cache)” руководства Руководствоадминистратора: Производительность.Создание табличного пространстваПри создании в базе данных табличного пространства назначаются контейнерыдля этого табличного пространства и в системный каталог базы данныхзаписываются определения и атрибуты этого табличного пространства. Затем вэтом табличном пространстве можно создать таблицы.Информацию о проектировании табличных пространств смотрите в руководствеРуководство администратора: Планирование.Синтаксис оператора CREATE TABLESPACE подробно описан в руководствеSQL Reference. Информацию о табличных пространствах SMS и DMS смотрите вруководстве Руководство администратора: Планирование.|Чтобы создать табличное пространство с помощью Центра управления:1.
Раскройте дерево объектов и найдите папку Табличные пространства.2. Щелкните правой кнопкой мыши по папке Табличные пространства и выберите извсплывающего меню пункт Создать —> Табличное пространство при помощи мастера.3. Для завершения задания выполните шаги в мастере.|||||Чтобы создать табличное пространство SMS из командной строки, введитекоманду:|||||Чтобы создать табличное пространство DMS из командной строки, введитекоманду:CREATE TABLESPACE <имя>MANAGED BY SYSTEMUSING ('<путь>')CREATE TABLESPACE <имя>MANAGED BY DATABASEUSING (FILE'<путь>' <размер>)Следующий оператор SQL создает в OS/2 или Windows NT табличноепространство SMS, использующее три каталога на трех отдельных дисках:Глава 3.
Создание базы данных117CREATE TABLESPACE RESOURCEMANAGED BY SYSTEMUSING ('d:\acc_tbsp', 'e:\acc_tbsp', 'f:\acc_tbsp')Следующий оператор SQL создает в OS/2 табличное пространство DMS,использующее два контейнера файлов (размером 5000 страниц каждый):CREATE TABLESPACE RESOURCEMANAGED BY DATABASEUSING (FILE'd:\db2data\acc_tbsp' 5000,FILE'e:\db2data\acc_tbsp' 5000)|||||В двух показанных выше примерах имена контейнеров заданы явно. Однакоесли задать для контейнеров относительные имена, контейнеры будут созданы вподкаталоге, созданном для этой базы данных (дополнительную информацию офизических каталогах базы данных смотрите в руководстве Руководствоадминистратора: Планирование).||||Кроме этого, если часть заданного пути не существует, менеджер баз данныхсоздает ее.
Если подкаталог создан менеджером баз данных, этот подкаталогможет также быть удален менеджером баз данных при отбрасываниитабличного пространства.В показанных выше примерах предполагается, что табличные пространства несвязаны с конкретной группой узлов. Если в операторе не задан следующийпараметр, используется группа узлов по умолчанию IBMDEFAULTGROUP:IN группа_узловСледующий оператор SQL создает в операционной системе на основе UNIXтабличное пространство DMS, использующее три логических тома (10000страниц в каждом), и задает их характеристики ввода-вывода:CREATE TABLESPACE RESOURCEMANAGED BY DATABASEUSING (DEVICE '/dev/rdblv6' 10000,DEVICE '/dev/rdblv7' 10000,DEVICE '/dev/rdblv8' 10000)OVERHEAD 24.1TRANSFERRATE 0.9Указанные в этом операторе SQL устройства UNIX должны уже существовать, авладелец экземпляра и группа SYSADM должны иметь возможность записыватьв них данные.|||В следующем примере в многораздельной базе данных в системе UNIXсоздается табличное пространство DMS в группе узлов ODDNODEGROUP.Группа узлов ODDNODEGROUP должна быть заранее создана при помощиоператора CREATE NODEGROUP.
В этом примере предполагается, что в группуузлов ODDNODEGROUP входят разделы базы данных с номерами 1, 3 и 5. На118Руководство администратора: Реализациявсех разделах базы данных используется устройство /dev/hdisk0 объемом10000 4-Kбайтных страниц. Кроме этого для каждого раздела базы данныхзадается устройство объемом 40000 4-Кбайтных страниц.CREATE TABLESPACE PLANSMANAGED BY DATABASEUSING (DEVICE '/dev/HDISK0' 10000, DEVICE '/dev/n1hd01' 40000) ON NODE 1(DEVICE '/dev/HDISK0' 10000, DEVICE '/dev/n3hd03' 40000) ON NODE 3(DEVICE '/dev/HDISK0' 10000, DEVICE '/dev/n5hd05' 40000) ON NODE 5В системе UNIX существуют устройства двух типов: последовательныесимвольные устройства и блочные устройства. Для каждого блочногоустройства (или устройства с обработкой) файловой системы естьсоответствующее последовательное символьное устройство (илинепосредственное устройство). Блочным устройствам обычно присваиваютсяимена, подобные “hd0” или “fd0”.
Последовательным символьным устройствамобычно присваиваются имена, подобные “rhd0”, “rfd0” или “rmt0”. Этипоследовательные символьные устройства имеют большую скорость доступа,чем блочные устройства. В команде CREATE TABLESPACE следуетиспользовать имена последовательных символьных устройств, а не именаблочных устройств.При компиляции оператора SQL для определения наилучшего пути доступаиспользуется информация о затратах и скорости передачи. Описание параметровOVERHEAD (затраты) и TRANSFERRATE (скорость передачи) смотрите в главе“Настройка производительности прикладных программ” руководстваРуководство администратора: Производительность.DB2 может значительно улучшить производительность последовательноговвода-вывода при помощи последовательной предварительной выборки,которая использует параллельный ввод-вывод. Подробную информацию обэтом средстве смотрите в главе “Последовательная предварительная выборка”руководства Руководство администратора: Производительность.||||Можно также создать табличное пространство, использующее страницы, размеркоторых больше размера по умолчанию (4 Кбайта).
Следующий оператор SQLсоздает в системе на основе UNIX табличное пространство SMS с размеромстраниц 8 Кбайт.CREATE TABLESPACE SMS8KPAGESIZE 8192MANAGED BY SYSTEMUSING ('FSMS_8K_1')BUFFERPOOL BUFFPOOL8KОбратите внимание на то, что связанный пул буферов тоже должен иметьразмер страницы 8 Кбайт.Глава 3. Создание базы данных119Созданное табличное пространство можно использовать только после того, какбудет активирован заданный для него пул буферов.Для добавления контейнеров к табличному пространству DMS или измененияпараметров PREFETCHSIZE, OVERHEAD и TRANSFERRATE для табличногопространства можно использовать оператор SQL ALTER TABLESPACE.Следует как можно быстрее выполнить принятие транзакции, в которойвыполнен этот оператор, чтобы предотвратить конфликты системного каталога.Примечание: Значение PREFETCHSIZE должно быть кратно значениюEXTENTSIZE.
Например, если значение EXTENTSIZE равно 10,параметр PREFETCHSIZE может иметь значение 20 или 30.Дополнительную информацию смотрите в главе“Последовательная предварительная выборка” руководстваРуководство администратора: Производительность.Создание системного временного табличного пространства|||||Системное временное табличное пространство используется для хранениясистемных временных таблиц. Одно из трех определяемых при создании базыданных табличных пространств по умолчанию - это системное временноетабличное пространство с именем “TEMPSPACE1”.||||Примечание: В базе данных всегда должно быть по крайней мере односистемное временное табличное пространство, посколькусистемные временные таблицы могут храниться только в такомтабличном пространстве.|||||Для создания другого системного временного табличного пространства можноиспользовать оператор CREATE TABLESPACE.
Например:||При создании системного временного табличного пространства можно задаватьтолько группу узлов IBMTEMPGROUP.CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbspMANAGED BY SYSTEMUSING ('d:\tmp_tbsp','e:\tmp_tbsp')Создание пользовательского временного табличного пространства|||Пользовательское временное табличное пространство используется дляхранения объявленных временных таблиц.Для создания пользовательского временного табличного пространства можноиспользовать оператор CREATE TABLESPACE:||||||CREATE USER TEMPORARY TABLESPACE usr_tbspMANAGED BY DATABASEUSING (FILE 'd:\db2data\user_tbsp' 5000,FILE 'e:\db2data\user_tbsp' 5000)120Руководство администратора: Реализация||||Как и другие табличные пространства, пользовательские временные табличныепространства можно создавать в любых группах узлов, кроме IBMTEMPGROUP.По умолчанию при создании пользовательского временного табличногопространства используется группа узлов IBMDEFAULTGROUP.|||Оператор DECLARE GLOBAL TEMPORARY TABLE определяет объявленнуювременную таблицу, используемую внутри пользовательского временноготабличного пространства.Создание табличных пространств в группах узлов|||||||||||||||||||||||||||||При размещении табличного пространства в группе узлов с несколькимиразделами базы данных все таблицы в этом табличном пространствераспределяются по всем разделам базы данных в этой группе узлов.
Табличноепространство создается в группе узлов. После того, как табличное пространствобыло определено в конкретной группе узлов, оно должно оставаться в этойгруппе узлов - его нельзя перевести в другую группу узлов. Для задания группыузлов для табличного пространства используется оператор CREATETABLESPACE.Прямой доступ к дискамDB2 Universal Database поддерживает прямой доступ к дискам(непосредственный ввод-вывод). Это позволяет подключать к любой системеDB2 Universal Database устройства прямого доступа к дискам (непосредственныеустройства). (Исключения - операционные системы Linux, Windows 95 и Windows98.) В следующем списке показаны физические и логические методы определенияустройств этого типа:v В Windows для задания физического жесткого диска используйте следующийсинтаксис:\\.\PhysicalDriveNгде N - номер одного из физических дисков в системе.