Регистрация

Перевод базы в UTF-8

Обсуждение вопросов по администрированию СУБД Progress OpenEdge
Старожил
Аватара пользователя
Сообщения: 49
Зарегистрирован: Ср янв 17, 2007 5:13 pm
Откуда: Riga

Перевод базы в UTF-8

Сообщение BreD » Вт сен 22, 2015 1:15 pm

Добрый день!

Имеется задача:
Перевести базу из кодировки IBM850(самодельная) в UTF-8.
В идеале - не останавливая базу.
Если идеала достичь невозможно, то необходимо по максимуму уменьшить время остановки базы.

Не подскажете возможные решения задачи?
База 100-200 ГБ.

Некие домыслы на эту тему:
Делаем бэкап базы.
Конвертируем бэкап.

1.Накатываем АИ на отконвертированный бэкап.
или
2. Программно "дописываем" в отконвертированный бэкап новые записи.

Главная задача, это, как Вы понимаете, минимальное время остановки системы.
ДурацкаЯ пРОггА )) извИНИтЕ, чТО букВЫ пРЫГАюТ, НО Мне нрАвиТсЯ кАК кНопОЧки миГАют...

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Перевод базы в UTF-8

Сообщение Arelav » Вт сен 22, 2015 2:31 pm

Единственно правильный способ:
1.
proutil db-name -C convchar convert UTF-8
2.
cp $DLC\prolang\convmap\proword.254 $DLC
3.
proutil db-name -C word-rules 254
4.
Через Data Dictionary загрузить $DLC\prolang\utf\_tran.df
5.
proutil db-name -C idxbuild ALL -thread 1 -threadnum <количество доступных CPU> -TB 31 -TM 32 -SG 64 -rusage -cpinternal UTF-8

100 - 200 Гб это не много - должно выполниться быстро на хорошем сервере.

Ну, или подготавливаете "пустышку" в UTF-8 и делаете Dump&Load

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Перевод базы в UTF-8

Сообщение Arelav » Вт сен 22, 2015 2:34 pm

BreD писал(а):Делаем бэкап базы.
Конвертируем бэкап.


Не понял, как вы собираетесь конвертировать бэкап?

BreD писал(а):1.Накатываем АИ на отконвертированный бэкап.


Даже если каким-то образом (я не знаю каким) вы сконвертируете бэкап, то AI-на него уже не накатятся.

Старожил
Аватара пользователя
Сообщения: 49
Зарегистрирован: Ср янв 17, 2007 5:13 pm
Откуда: Riga

Re: Перевод базы в UTF-8

Сообщение BreD » Вт сен 22, 2015 2:46 pm

Ну это я так выразился.
На самом деле под этим подразумевалось развёртывание бэкапа в отделюную базу, а там уже конвертация всей базы. Как-то так.

Ну да, мы так и думали, что не получится ничего с накатыванием АИ файла...

Не посоветуете, что нам делать?

Каждая минута работы базы критична =(
ДурацкаЯ пРОггА )) извИНИтЕ, чТО букВЫ пРЫГАюТ, НО Мне нрАвиТсЯ кАК кНопОЧки миГАют...

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Перевод базы в UTF-8

Сообщение Arelav » Вт сен 22, 2015 2:55 pm

1. Для начала нужно оценить, сколько времени занимает полная переиндексация базы данных с указанными мной параметрами, т.к. это самая длинная операция. Попробуйте выполнить переиндексацию на копии. Сколько займёт?
2. Области хранения в базе данных второго типа?

Если уж совсем хочется сократить время простоя, то есть отдельный продукт, называется ProD&L от Bravepoint http://www.openedge.ru/read/198/
Но мне кажется, что 100-200 Гб не стоят тех денег, т.к. ProD&L это платное решение. Да и потраченного времени на изучение его работы тоже не стоят 100 - 200 ГБ.
Нужно искать технологическое окно. Период которого можно определить выполнив описанные мной операции на копии базы данных.

P.S.
Зачем вам конвертация базы в UTF-8? У вас, надеюсь, графический GUI-клиент? Так как с символьными клиентами (CHUI) база в UTF-8 работать не будет.

Старожил
Аватара пользователя
Сообщения: 49
Зарегистрирован: Ср янв 17, 2007 5:13 pm
Откуда: Riga

Re: Перевод базы в UTF-8

Сообщение BreD » Вт сен 22, 2015 3:15 pm

Ну да, из всего, что я пока нашёл в интернете на эту тему, единственное решение в первом ответе на этот пост. Благодарю!

Ответ на P.S. : нужна мультиязычность(>2 алфавитов). Да и для WEB интерфейсов удобно.
У нас получалось запустить CHUI клиент с UTF-8 базой, главное ничего не писать из под него в базу. А для read-only сойдёт.
ДурацкаЯ пРОггА )) извИНИтЕ, чТО букВЫ пРЫГАюТ, НО Мне нрАвиТсЯ кАК кНопОЧки миГАют...

Администратор
Аватара пользователя
Сообщения: 1880
Зарегистрирован: Пт мар 25, 2005 6:05 pm
Откуда: Progress Technologies

Re: Перевод базы в UTF-8

Сообщение Arelav » Вт сен 22, 2015 6:15 pm

Возможно у кого из форумчан будут ещё идей?

Старожил
Аватара пользователя
Сообщения: 1523
Зарегистрирован: Чт сен 27, 2001 4:00 am
Откуда: Москва

Re: Перевод базы в UTF-8

Сообщение dmi » Пт сен 25, 2015 2:25 am

Arelav писал(а):Возможно у кого из форумчан будут ещё идей?


Я бы попробовал посмотреть, сколько будет перестройка индексов занимать.
Кроме того, есть много других полезных параметров типа -TMB, новых лимитов TB, -TF, -datascanthreads -mergethreads ...
/dmi

http://pro4gl.ru - 4gl блог

Вернуться в PROGRESS - АДМИНИСТРИРОВАНИЕ БАЗ ДАННЫХ

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6