[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 574: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/phpbb/session.php on line 630: sizeof(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 494: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 113: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 113: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5348: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3937)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5348: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3937)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 5348: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3937)
Russian Progress User Group • Перевод базы в UTF-8
Страница 1 из 1

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

Добавлено: 22 сен 2015, 12:15
BreD
Добрый день!

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

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

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

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

Главная задача, это, как Вы понимаете, минимальное время остановки системы.

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

Добавлено: 22 сен 2015, 13:31
Arelav
Единственно правильный способ:
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

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

Добавлено: 22 сен 2015, 13:34
Arelav

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

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

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

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

Каждая минута работы базы критична =(

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

Добавлено: 22 сен 2015, 13:55
Arelav
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 работать не будет.

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

Добавлено: 22 сен 2015, 14:15
BreD
Ну да, из всего, что я пока нашёл в интернете на эту тему, единственное решение в первом ответе на этот пост. Благодарю!

Ответ на P.S. : нужна мультиязычность(>2 алфавитов). Да и для WEB интерфейсов удобно.
У нас получалось запустить CHUI клиент с UTF-8 базой, главное ничего не писать из под него в базу. А для read-only сойдёт.

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

Добавлено: 22 сен 2015, 17:15
Arelav
Возможно у кого из форумчан будут ещё идей?

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

Добавлено: 25 сен 2015, 01:25
dmi