Это старая версия документа.
Содержание
Рекомендуемая методика добавления новых областей данных для БД OpenEdge
Как добавить новые области в БД?
Как перенести существующие таблицы в новые области?
Условия
Для каких условий (окружении) применима данная статья
Симптомы:
В чем проявляется: сообщения об ошибках, характерные признаки
Причина:
Какова исходная причина
Диагностика:
Каковы объективные признаки проблемы (результаты утилит диагностики или тестов). Как ее смоделировать и как убедиться в ее отсутсвии
Решение:
Медоты решения
Документация:
- Ссылки на первоисточники.
См. также:
- Ссылки на другие статьи.
Рекомендуемая методика добавления новых областей данных для БД OpenEdge ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I. Как добавить новые области в БД?
1) Создайте/отредактируйте файл описания структуры вновь добавляемых областей. Количество и расположение экстентов БД выбирается на усмотрение администратора банка. В файле необходимо указывать только новые экстенты и области (существующие не указывать). Во избежание неоднозначностей рекомендуется указывать полные абсолютные пути для экстентов. Файл может располагаться в любом месте и иметь любое имя, он нужен только для проведения операции добавления экстентов, после этого его можно удалить.
Например, создан файл mart.st, содержащий:
d «mart»:17,32;512 /home2/bis/quit41d/db d «mart-i»:37,1;8 /home2/bis/quit41d/db
2) На остановленной базе выполнить команду добавления экстентов:
$ bq41d struct add [<путь>/]mart.st
Formatting extents: …
Если в файле описания структуры указаны абсолютные пути, то данную команду можно выполнять из произвольного каталога. Но если файле описания структуры указаны относительные пути (например, '.') экстенты будут создаваться относительно текущего каталога запуска команды. Учитывайте это, при необходимости можно предварительно перейти в каталог с базой.
3) Проверьте получившуюся структуру БД и обновите файл bisquit.st
$ bq41d struct list
Результат можно проверить по содержанию bisquit.st
На этом операция добавления экстентов под новые области закончена, можно приступать к загрузке описаний таблиц в новые области и загружать данные.
Примечание: Здесь используется bq.sh версии не ниже v.4.5.0 Проверить можно командой: bq41d –ver Обновить можно из: http://support.bis.ru/info
"Текущая версия скрипта bq.sh"
Либо использовать соответствующие команды OpenEdge с помощью интерфейса: bq41d exec <команда>
Документация: OpenEdge Data Management: Database Administration
Maintaining and Monitoring Your Database Maintaining Database Structure OpenEdge Structure Add utility
II. Как перенести существующие таблицы в новые области?
Необходимость данной операции возникает, если некоторые таблицы уже созданы в существующих областях БД, но должны располагаться в новых. При небольшом кол-ве таблиц и данных для этого можно использовать команду tablemove Зафиксируйте по рекомендациям БИС (файл table.cfg) или собственным требованиям список таблиц, подлежащих переносу в новую область. Для каждой из таблиц на остановленной базе выполните команду:
$ bq41d tablemove <table-name> <table-area> [<index-area>]
Где: <table-name> - имя перемещаемой таблицы <table-area> - имя области, в которой она должна располагаться <index-area> - имя области, в которой должны располагаться ее индексы
Например, в соответствии с table.cfg в области mart должны располагаться следующие таблицы:
mart:loan_mart,deposit_mart,account_vek,subacct_fin
Соответственно, если эти таблицы были созданы в других областях, необходимо перенести их командами:
$ bq41d tablemove loan_mart mart mart-i $ bq41d tablemove deposit_mart mart mart-i $ bq41d tablemove account_vek mart mart-i $ bq41d tablemove subacct_fin mart mart-i
Примечания: Если таблицы содержат большой объем данных, данная операция может потребовать значительного времени. Статистику использования таблиц можно узнать командой: $ bq41d tabanalys При значительном объеме таблиц и данных, подлежащий переносу, данную операцию, в некоторых случаях, целесообразно совместить с тотальной оптимизацией структуры БД, выполняемой путем полного дампа всех данных с последующей загрузкой в полностью новую структуру. Методика: http://support.bis.ru/info «Методика бинарного dump/load базы БИСквит»
Документация: OpenEdge Data Management: Database Administration
Maintaining and Monitoring Your Database Maintaining Database Structure Maintaining indexes and tables