powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Informix [игнор отключен] [закрыт для гостей] / Миграция с 9.5 на 11.50
54 сообщений из 54, показаны все 3 страниц
Миграция с 9.5 на 11.50
    #36980477
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброй ночи!
Форумчане, подскажите, пожалуйста.

Стоит задача смигрировать БД объемом примерно 250 Гб с Win2k3 на RHEL 5.5.

После прочтения форума мной был выбран способ миграции, описанный тут: http://www.sql.ru/faq/faq_topic.aspx?fid=588
На новом сервере создана dbschema, чанки, дбспейсы. Загрузка данных осуществляется по сети без файрволлов и прочего.

Все бы ничего, но скорость переноса данных просто угнетает.
Пробовал и параллельно грузить несколько таблиц, и грузить таблицы последовательно. Никак не могу получить результат, приемлемый для миграции боевой системы.

Последовательная загрузка заняла около 22 часов и была мной остановлена, т.к. за это время даже не начали переноситься самые крупные таблицы (от 20 до 46 Гб)

Пробовал играться параметрами RA_PAGES. Стало веселее, но все равно не фонтан.

Подскажите, куда можно еще копать?
Время, отведенное на миграцию, это суббота с 7 утра до вечера воскресенья.

Onconfig смогу показать в понедельник.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36980711
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Линк который вы привели не открывается. Для существенного ускорения переноса данных рекомендую сделать так:

1. Оценить размеры исходных таблиц и сразу при создании новых таблиц создавать их с большим размером первоначальных экстентов, это ускорит заливку за счет того что место под данные будет уже выделено

2. Не создавать сразу индексы и ограничения на таблицы, их можно будет создать после загрузки

3. Базу в которую будут заливаться данные перевести в нежурналируемый режим - это существенно повлияет на скорость загрузки

4. Для заливки создать журналы размером ~100 Мб, несколько десятков журналов такого размера, это сократит временные задержки при переключении журналов в процессе создания индексов (процесс создания индекса это журналируемая операция даже в нежурналируемой базе). После создания индексов вернуть требуемый размер журнала в базе. Размер физического журнала также сделать ~2 Гб, возможно не будет чекпоинтов по заполнению физ журнала при построении индексов на средних таблицах. Размер буферов лог. журнала и физ. журнала на время построения индексов сделать побольше, ~ 512 Килобайт.

5. Перед загрузкой проверить скорость сетевого соединения - сеть может быть узким местом.

6. Индексы после заливки данных создавать с включенным PDQ (настроить параметры DS)

7. Перед заливкой проверить что на новом сервере включено KAIO (если используются raw device). Если используются обычные файлы то включить в информиксе параметр DIRECT_IO = 1.

8. ReadAhead (параметр RA_PAGES) имеет значение не при заливке данных, а при операциях чтения, т.е. может помочь при создании индексов

9. Рекомендую для очень больших таблиц базы создать отдельный dbspace и буферный пул с большим размером страницы, например 8к или 16к. Это поможет устранить конкуренцию за буферный пул с остальными таблицами.

10. Пересмотреть схему некоторых таблиц - можно например сделать фрагментацию по дате, если в системе есть запросы с такими выборками это может ускорить такие запросы.

11. Кол-во cpu vp сделать равным кол-ву физ. процессоров, установить для них параметр noage, сконфигурировать отдельный сетевой процессор net

12. Установить повыше параметры LRU, чтобы данные при загрузке писались на диск из буферов большими порциями (чтобы преобладала запись во время чекпоинтов)

13. Не использовать журналируемую фс для чанков.

14. Для создания индексов по большим таблицам создать временное пространство размером пропорционально размеру самого большого индекса (прописать его в DBSPACETEMP перед запуском сервера), или сделать для сервера перед запуском переменную окружения export PSORT_DBTEMP в которую прописать путь на большой локальной ФС и выдать на ней права пользователю informix

15. Можно также включить параметры автонастройки LRU и AIO, но не включать параметр RTO_SERVER_RESTART

16. Размер буферного пула можно установить экспериментально, сделав тестовую заливку при разных значениях BUFFERPOOL

После того как зальете данные, можно будет перевести базу в журналируемый режим (если требуется).
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36980728
GVF112GVF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andjeoДоброй ночи!
Форумчане, подскажите, пожалуйста.

Стоит задача смигрировать БД объемом примерно 250 Гб с Win2k3 на RHEL 5.5.

После прочтения форума мной был выбран способ миграции, описанный тут: http://www.sql.ru/faq/faq_topic.aspx?fid=588.
На новом сервере создана dbschema, чанки, дбспейсы. Загрузка данных осуществляется по сети без файрволлов и прочего.

Все бы ничего, но скорость переноса данных просто угнетает.
Пробовал и параллельно грузить несколько таблиц, и грузить таблицы последовательно. Никак не могу получить результат, приемлемый для миграции боевой системы.

Последовательная загрузка заняла около 22 часов и была мной остановлена, т.к. за это время даже не начали переноситься самые крупные таблицы (от 20 до 46 Гб)

Пробовал играться параметрами RA_PAGES. Стало веселее, но все равно не фонтан.

Подскажите, куда можно еще копать?
Время, отведенное на миграцию, это суббота с 7 утра до вечера воскресенья.

Onconfig смогу показать в понедельник.


Следует обратить внимание на режим журналирования транзакций для базы данных.
Для увеличения скорости загрузки, попробуйте перевести базу в режим - "no logging".

Можно рассмотреть несколько вариантов миграции:

1. Использовать возможности HPL или ETL (for example, IBM DataStage).
2. Использовать комбинированный режим для загрузки данных:
- INSERT .... SELECT - для небольших таблиц (или LOAD)
- HPL для больших таблиц.

При использовании HPL - следует обратить внимание на использование режимов быстрой выгрузки/загрузки данных и на параметры конфигурации HPL и сервера Informix в файле
ONCONFIG.

Следует помнить, что многие полезные утилиты есть на сайте WWW.IIUG.ORG
Software Repository Index - http://www.iiug.org/software/software_index.html

Например:
movetab - Allows moving tables between Informix instances without having to turn off logging

или ...

Get my dbcopy utility from the package utils2_ak from the IIUG Software
Repository, it will copy your table(s) for you and with the AWK scripts in
my package utils3_ak you can easily use dbschema or myschema to create a
dbcopy script to move the entire database in parallel using the mkdbcopy.awk
script. Dbcopy is several times faster than doing the copy in dbaccess and
safer than using dd and it does not require the sourcce server to be offline.
Art S. Kagel


Ну и помнить про следующий ресурс - Knowledge Collection: IBM Informix Dynamic Server (IDS) version 11.50 Migration

http://www-01.ibm.com/support/docview.wss?rs=630&context=SSGU8G&context=SSZ2HS&context=SSP6X2&context=SSVHPS&context=SSHPYE&dc=DB560&dc=DB520&uid=swg21260154&loc=en_US&cs=utf-8&lang=en

----------------
С уважением,
Вадим.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36980741
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronЛинк который вы привели не открывается. Для существенного ускорения переноса данных рекомендую сделать так:

1. Оценить размеры исходных таблиц и сразу при создании новых таблиц создавать их с большим размером первоначальных экстентов, это ускорит заливку за счет того что место под данные будет уже выделено

2. Не создавать сразу индексы и ограничения на таблицы, их можно будет создать после загрузки

3. Базу в которую будут заливаться данные перевести в нежурналируемый режим - это существенно повлияет на скорость загрузки

4. Для заливки создать журналы размером ~100 Мб, несколько десятков журналов такого размера, это сократит временные задержки при переключении журналов в процессе создания индексов (процесс создания индекса это журналируемая операция даже в нежурналируемой базе). После создания индексов вернуть требуемый размер журнала в базе. Размер физического журнала также сделать ~2 Гб, возможно не будет чекпоинтов по заполнению физ журнала при построении индексов на средних таблицах. Размер буферов лог. журнала и физ. журнала на время построения индексов сделать побольше, ~ 512 Килобайт.

5. Перед загрузкой проверить скорость сетевого соединения - сеть может быть узким местом.



1. Сделано сразу же.

2. Индексы будут создаваться после прогрузки данных ( вторая часть dbschema)

3. Обе базы уже в no logging.

4. Журналы по 512 мб


6. Индексы после заливки данных создавать с включенным PDQ (настроить параметры DS)

7. Перед заливкой проверить что на новом сервере включено KAIO (если используются raw device). Если используются обычные файлы то включить в информиксе параметр DIRECT_IO = 1.



6. Уже включено.

7. Используются файлы, значение параметра скажу в понедельник. Если не стоит, то поставлю.

8. ReadAhead (параметр RA_PAGES) имеет значение не при заливке данных, а при операциях чтения, т.е. может помочь при создании индексов



8. Но при уставновке RA_PAGES=50000 скорость загрузки данных возросла....

9. Рекомендую для очень больших таблиц базы создать отдельный dbspace и буферный пул с большим размером страницы, например 8к или 16к. Это поможет устранить конкуренцию за буферный пул с остальными таблицами.


9. Уже сделано.


10. Пересмотреть схему некоторых таблиц - можно например сделать фрагментацию по дате, если в системе есть запросы с такими выборками это может ускорить такие запросы.


10. Уже сделано.


11. Кол-во cpu vp сделать равным кол-ву физ. процессоров, установить для них параметр noage, сконфигурировать отдельный сетевой процессор net


11. Сконфигурирую отдельно сетевой процессор.




13. Не использовать журналируемую фс для чанков.


13. Вот тут я пролетел. Использую ext3.


[/quot]
16. Размер буферного пула можно установить экспериментально, сделав тестовую заливку при разных значениях BUFFERPOOL
[/quot]

16. Уже пробовал играться значениями. Результат увижу в понедельник.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36982575
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronЛинк который вы привели не открывается.
Линк вроде как на здешний FAQ и открывается отлично. Другое дело, что в ФАК-е первой идет моя ссылка на UCDI, а Google изменил ссылки.
Собственно напомню, что в результате нескольких таких миграций, я склонился к мнению, что лучше HPL ничего нет. Впрочем, с тех пор прошло уже 8 или 9 лет.


вот куда была ссылка

Ценное в ней - скрипт по настройке таблиц для HPL-я.
Обращу внимение, что '8859-5' стоит поменять на вашу кодовую таблицу. Кроме того, скрипт не затрагивает вопросов загрузки данных в одну таблицу из нескольких файлов. Не знаю, насколько в современных версиях актуальна проблема 2Гб.


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
#!/bin/sh
USAGE="$0 <unload source path> <database>"

if [ $# !=  2  ]
then
   echo $USAGE
   exit  2 
fi

UNLPATH=$ 1 
DATABASE=$ 2 
HOSTNAME=`hostname`
DBACCNOIGN= 1 
export DBACCNOIGN
OUTFILE=/tmp/outfile$$

dbaccess onpload> $OUTFILE  2 >& 1  <<!
begin;
delete from formats;
delete from device;
delete from formatitem;
delete from mapitem;
delete from maps;
delete from session;

insert into device
(name,
seq ,
type,
file,
blocksize  ,
devicesize,
lockflag  )
select t.tabname, 1 ,'FILE',
'$UNLPATH/'||trim(t.tabname),
 0 , 0 ,'N'
from $DATABASE:systables t
where tabid>= 99  and tabtype='T';

--For splited tables
insert into device
(name,
seq ,
type,
file,
blocksize  ,
devicesize,
lockflag  )
select t.tabname, 2 ,'FILE',
'$UNLPATH/'||trim(t.tabname)||'2',
 0 , 0 ,'N'
from $DATABASE:systables t
where tabname IN ('arch_history') and tabtype='T';
insert into device
(name,
seq ,
type,
file,
blocksize  ,
devicesize,
lockflag  )
select t.tabname, 3 ,'FILE',
'$UNLPATH/'||trim(t.tabname)||'3',
 0 , 0 ,'N'
from $DATABASE:systables t
where tabname IN ('arch_history') and tabtype='T';

insert into formats
select t.tabid, 0 ,t.tabname,'Delimited','Delimited','Intel',
'8859-5', 0 ,'','','newline','ASCII','|','ASCII','','','','','N'
from $DATABASE:systables t
where tabid>= 99  and tabtype='T';

insert into formatitem
select t.tabid,c.colno,c.colname, 1 , 0 , 0 , 0 , 0 ,''
from $DATABASE:systables t, $DATABASE:syscolumns c
where t.tabid>= 99  and tabtype='T' and c.tabid=t.tabid;

insert into mapitem
select t.tabid,c.colno,c.colname,c.colname
from $DATABASE:systables t, $DATABASE:syscolumns c
where t.tabid>= 99  and tabtype='T' and c.tabid=t.tabid;

insert into maps
select  0 ,t.tabid,t.tabname,'Record','$DATABASE',
'informix.'||trim(t.tabname),'',t.tabid,'N'
from $DATABASE:systables t
where t.tabid>= 99  and tabtype='T';

insert into session
select 'U','','N',t.tabid,t.tabname,' ',
'$INFORMIXSERVER',t.tabname,t.tabname,'$HOSTNAME',
'$DATABASE','','','','/tmp/'||trim(t.tabname)||'.rej',
'/tmp/'||trim(t.tabname)||'.log', 0 , 0 , 0 , 0 , 0 , 0 , 0 , 4 ,
 0 , 0 , 0 , 0 , 130 , 1 , 0 , 0 , 0 , 0 
from $DATABASE:systables t
where t.tabid>= 99  and tabtype='T';

commit;

unload to onpload.sh delimiter ';'
select 'onpload -j '||tabname||' -fl','date','echo '||tabname
from $DATABASE:systables
where tabid>= 99  and tabtype='T'

!

if [ $? -ne  0  ]; then
   cat $OUTFILE
   rm -f $OUTFILE
   exit  1 
fi
rm -f $OUTFILE
echo Run ./onpload.sh for HPL 
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36982744
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaugavaAndronЛинк который вы привели не открывается.
Линк вроде как на здешний FAQ и открывается отлично.
я пофиксил, там точка лишняя была.



PS: на современном железе, 250 гиг должны заливаться, простым импортом часов за 8. В ширину канала 100 мбит должно упираться. Сколько памяти, дисков, отдано информиксу, какой пинг?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36982830
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев ДенисDaugavaпропущено...

Линк вроде как на здешний FAQ и открывается отлично.
я пофиксил, там точка лишняя была.



PS: на современном железе, 250 гиг должны заливаться, простым импортом часов за 8. В ширину канала 100 мбит должно упираться. Сколько памяти, дисков, отдано информиксу, какой пинг?


У меня только экспорт на старом сервере занимает 7.5 часов.

Импорт пробовал, но в данных попадаются иногда переносы строки, которые не все удаляются.
Импорт тоже шел долго.

На новом сервере информикс потребляет 18Гб оперативы, пинги в районе 0.316 ms.
На старом информикс потребляет около 1,4 Гб памяти, там виндовая машина.
Заставить его потреблять больше у меня не получилось =\
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36982887
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andjeoУ меня только экспорт на старом сервере занимает 7.5 часов.
Собственно, почему бы не выполнить все операции за 8 ? Импорт можно начатать до окончания экспорта.
У меня основное время уходило на построение индексов.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36982895
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andjeoУ меня только экспорт на старом сервере занимает 7.5 часов.
а если копировать файлы экспорта, на новый, сколько времени копируется?

andjeoИмпорт пробовал, но в данных попадаются иногда переносы строки, которы
е не все удаляются.О чем вы? Копировали по фтп без конвертации концов строк?


andjeoНа новом сервере информикс потребляет 18Гб оперативы, пинги в районе 0.316 ms.
а сколько дисков? смотрите во что упирается, onstat, top, sar
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36982906
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Построение индексов ускоряем с помощью pdq и PSORT_NPROCS
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36983327
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев ДенисandjeoУ меня только экспорт на старом сервере занимает 7.5 часов.
а если копировать файлы экспорта, на новый, сколько времени копируется?

andjeoИмпорт пробовал, но в данных попадаются иногда переносы строки, которы
е не все удаляются.О чем вы? Копировали по фтп без конвертации концов строк?


andjeoНа новом сервере информикс потребляет 18Гб оперативы, пинги в районе 0.316 ms.
а сколько дисков? смотрите во что упирается, onstat, top, sar

Дело не в концах строк. Переводы строки попадаются в самих дынных ( комментарии, введенные пользователями).

Копирование файлов экспорта занимает около 2 часов.

Top,sar ничего не дают. Не загружена машина.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36983679
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andjeoДело не в концах строк. Переводы строки попадаются в самих дынных ( комментарии, введенные пользователями).
так они экранированы будут в экспорте.

andjeoTop,sar ничего не дают. Не загружена машина.значит в диск.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36983793
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Архивирование на лету должно снизить время на копирование бекапа.

Сейчас проверил, mkfifo есть в cygwin-е, сервера под винду меня правда нет, протестировать до конца не могу.

Для борьбы с CRLF-ами и другими спецсимволами в Char полях необходимо использовать ключик -X при экспорте и импорте.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36984671
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndronДля существенного ускорения переноса данных рекомендую сделать так:

Хороший список.
Добавил в ФАК // http://www.sql.ru/faq/faq_topic.aspx?fid=588
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36984786
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaugavaandjeoУ меня только экспорт на старом сервере занимает 7.5 часов.
Собственно, почему бы не выполнить все операции за 8 ? Импорт можно начатать до окончания экспорта.
У меня основное время уходило на построение индексов.

Это как? Можно пример?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36985241
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andjeoЭто как? Можно пример?

Собственно Вы же ссылались на ФАК, где первым идет "мой метод". Когда вставка осуществляется одновременно с чтением. Метод подходит для случаев, когда тонким местом является производительность старого сервера. Если производительность примерно равна, то создание индексов лучше производить после закачки данных.

Если узким местом является сеть, то dbexport (с ключиком -t) делается в fifo файл (mkfifo), который тут же сжимается (gzip) и перенаправляется на второй сервер (можно просто расшарить диск), где он разархивируется (gzip) опять таки в fifo и тут же стартует закачка (dbimport -t).
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36985286
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaugavaandjeoЭто как? Можно пример?

Собственно Вы же ссылались на ФАК, где первым идет "мой метод". Когда вставка осуществляется одновременно с чтением. Метод подходит для случаев, когда тонким местом является производительность старого сервера. Если производительность примерно равна, то создание индексов лучше производить после закачки данных.

Если узким местом является сеть, то dbexport (с ключиком -t) делается в fifo файл (mkfifo), который тут же сжимается (gzip) и перенаправляется на второй сервер (можно просто расшарить диск), где он разархивируется (gzip) опять таки в fifo и тут же стартует закачка (dbimport -t).


А если есть необходимость внести изменения в dbschema?
Тогда только дожидаться окончания экспорта?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36985404
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно я описал самый простой способ. Естественно можно использовать разные комбинации. По гугляйте на эту тему в groups.google.com, все проблемы давно решены.
Ничто не мешает сделать dbschema заранее, а потом просто выполнить скрипт типа такого для каждой таблицы, с обратной загрузкой на другой стороне.

sqlunload -d database -t table | gzip -9 > table.unl.gz




P.S. sqlunload - часть из пакета sqlcmd by Jonathan Leffler.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36985445
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про сеть: тут похоже 100мбит, но в серваках часто гигабитные адаптеры, поэтому я на время миграции если есть возможность соединяю прямым кабелем сервера между собой.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36985934
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andjeoЖуравлев Дениспропущено...
а если копировать файлы экспорта, на новый, сколько времени копируется?

пропущено...
О чем вы? Копировали по фтп без конвертации концов строк?


пропущено...
а сколько дисков? смотрите во что упирается, onstat, top, sar

Дело не в концах строк. Переводы строки попадаются в самих дынных ( комментарии, введенные пользователями).

Копирование файлов экспорта занимает около 2 часов.

Top,sar ничего не дают. Не загружена машина.

А виндовая машина как загружена то?
Может весь тормоз как говорят в сети и в виндовой машине?
Также есть ньюанс с ключами - многие разработчики уникальные и первичные ключи создают
не по явно созданным индексам и даже бывают их(констрейнты) не именуют.
Если таковые есть - то в dbchema они попадают в оператор создания таблицы и вставка тогда получается в таблицу с индексами если эти констрейнты не отключать.

Ext3 - да, это не наше.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36986126
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zaietsExt3 - да, это не наше.так говорят только те, кто не ждал fsck 8 часов.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36986948
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Журавлев ДенисzaietsExt3 - да, это не наше.так говорят только те, кто не ждал fsck 8 часов.

Да, действительно не ждал, люблю погеморроиться с немного другими проблемами.
Настраивали на "Raw", правда в 5 рхл уже не через raw а просто подсовывая тома
lvm информиксу 10 делали.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36987149
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Daugava Архивирование на лету должно снизить время на копирование бекапа.

Сейчас проверил, mkfifo есть в cygwin-е, сервера под винду меня правда нет, протестировать до конца не могу.

Для борьбы с CRLF-ами и другими спецсимволами в Char полях необходимо использовать ключик -X при экспорте и импорте.

После экспорта -X импорт не хочет понимать анлоады.
Ругается на то,что типа в анлоад файле больше столбцов чем в базе. Но количество столбцов совпадает и данные грузить вроде как начинает. Это нормально?..
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36987510
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможен ли такой вариант:
1. Монтируем новый сервер как диск
2. Запускаем на старом сервере dbexport
3. На новом сервере, с некоторой задержкой, делаем load from,сохраняя порядок таблиц из экспорта

Зы: dbexport -X просто проигнорирует переносы строк и анлоад файлы будут загружаться нормально?или я не понимаю что то?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36987516
bk0010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andjeoРугается на то,что типа в анлоад файле больше столбцов чем в базе. Но количество столбцов совпадает и данные грузить вроде как начинает. Это нормально?..
У меня было такое, когда я грузил результаты dbexport Win-сервера в юниксовый информикс. Проблема была в том, что в Windows перевод строки #13#10, а в nix просто #10. Есть 3 варианта решения:
1) написать свою программу конвертации;
2) воспользоваться Dos2Unix;
3) при копировании по ftp пользоваться не двоичным, а текстовым режимом.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36987894
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ключ -X по идее должен вывернуть в какой-то формат ASCII символы <32, в том числе и #13#10. Судя по ошибке проблема действительно в DOS2UNIX (кстати она описана в FAQ-е).

При выгрузке через pipe перед компрессией можно вставить и dos2unix.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36987918
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaugavaКлюч -X по идее должен вывернуть в какой-то формат ASCII символы <32, в том числе и #13#10. Судя по ошибке проблема действительно в DOS2UNIX (кстати она описана в FAQ-е).

При выгрузке через pipe перед компрессией можно вставить и dos2unix.

Я не совсем понимаю как выгрузить с windows в pipe =\
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36987973
Фотография Daugava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С ftp://ftp.iiug.org/pub/informix/pub/ берется пакет SQLCMD от Jonnatan Leffler (версий там много). В нем есть утилита sqlonunload, она по дефолту выгружает в pipe.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36988420
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я не совсем понял - а зачем выгружать на винде?
Ведь можно выгрузить сразу на Линукс.
Т.е. развернув на линуксе IDS и через тот же dbaccess или другую тулзню выгрузить данные.

Кстати вопрос - скорость унлоада данных на 1Г если
запустить локально на винде и удаленно с линукса какая?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36988496
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zaietsЯ не совсем понял - а зачем выгружать на винде?
Ведь можно выгрузить сразу на Линукс.
Т.е. развернув на линуксе IDS и через тот же dbaccess или другую тулзню выгрузить данные.

Кстати вопрос - скорость унлоада данных на 1Г если
запустить локально на винде и удаленно с линукса какая?

а как быть с переносами строк внутри самих данных?
Основная засада в том, что внутри анлоадов попадаются переносы строк.
Анлоадом на Linux побеждаются концы срок.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36988501
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zaietsЯ не совсем понял - а зачем выгружать на винде?
Ведь можно выгрузить сразу на Линукс.
Т.е. развернув на линуксе IDS и через тот же dbaccess или другую тулзню выгрузить данные.

Кстати вопрос - скорость унлоада данных на 1Г если
запустить локально на винде и удаленно с линукса какая?
В таком случае - зачем вообще выгружать в файлы? Почему нельзя сразу вставить данные оператором INSERT INTO <local_server> SELECT FROM <remote_server>. Насколько я знаю, в информиксе такой оператор выполняется как bulk-вставка, а не по одной записи. Таблицы можно создать как RAW без индексов, журналироваться они не будут, операторы можно выполнять параллельно. После получения копий данных можно будет запустить скрипт по созданию индексов, а если необходимо, изменить структуру базы данных.
Кстати, для получения копии можно попробывать ER-репликацию, если запустить cdr sync с достаточно большим буфером, можно достаточно быстро скопировать базу.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36988534
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
victor16zaietsЯ не совсем понял - а зачем выгружать на винде?
Ведь можно выгрузить сразу на Линукс.
Т.е. развернув на линуксе IDS и через тот же dbaccess или другую тулзню выгрузить данные.

Кстати вопрос - скорость унлоада данных на 1Г если
запустить локально на винде и удаленно с линукса какая?
В таком случае - зачем вообще выгружать в файлы? Почему нельзя сразу вставить данные оператором INSERT INTO <local_server> SELECT FROM <remote_server>. Насколько я знаю, в информиксе такой оператор выполняется как bulk-вставка, а не по одной записи.

Это занимает слишком много времени.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36989285
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я задал вопрос. так как непонятно - что тормозит у вас вставку insert ... select
По идее, она на 100МБ даже не должна так тормозить как у вас при дефолтных настройках.
Если выгрузка в файл одинакова, значит что-то не так с вставкой
а это уже сужает поиск проблемы.
Можно еще локально и удаленно сравнить unload to <nul | /dev/null>
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36989440
victor16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andjeovictor16INSERT INTO <local_server> SELECT FROM <remote_server>.

Это занимает слишком много времени.

А что тормозит? SELECT или INSERT?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36991073
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А возможен ли экспорт в tape, размера больше чем 2 гб?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36991196
Фотография Andron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я как то раз делал бэкап с помощью ontape при этом размер файла (в качестве TAPEDEV был указан файл на файловой системе) был примерно 200 Gb, а потом делал восстановление из такого бэкапа.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36991220
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется меня совсем проклинило, ключ -s 0 по идее меня спасет.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36991342
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, ключик -S не спасает =(
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36991845
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andjeoПоследовательная загрузка заняла около 22 часов и была мной остановлена, т.к. за это время даже не начали переноситься самые крупные таблицы (от 20 до 46 Гб)


С коллегой общался, вспомнил про вас.
Вы учтите, что дефолтный pagesize на ваших платформах разный и если таблица на 46Гб
это 1 partnum на 46Г "реальных" данных - то переносить нужно если без фрагментации как минимум в пространство с размером страницы 4К либо сразу же фрагментируйте (если лицензия позволяет)
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36991850
zaiets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andjeoА возможен ли экспорт в tape, размера больше чем 2 гб?
А с чего вы взяли что для вашей версии IDS ограничение в 2Г?
с 9.4 уже этого ограничения не было
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36994406
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смонтировал диски нового сервера на старом. Создал fifo файл.
mkfifo tape
dos2unix < tape > tape1
Начал экспорт из виндовой базы в fifo.

dbexport dbname -cqX -ss -t m:\tape -b 16 -s 0 -f m:\dbname.sql < i:\keys

И все бы хорошо, но экспорт падает с ошибкой "Write tape failed".

В чем засада может быть?
Не справляется fifo?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36994411
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zaietsandjeoА возможен ли экспорт в tape, размера больше чем 2 гб?
А с чего вы взяли что для вашей версии IDS ограничение в 2Г?
с 9.4 уже этого ограничения не было

Это меня проклинило. Попробовал еще раз. С виндовой машины все нормально стало выгружаться.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36994614
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правильно ли я понимаю, что при записи на samba шару концы строк все равно будут виндовыми?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36994620
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вчера-сегодня прогнал dbimport. Результат не радует. На все ушло 22 часа.
Создание таблиц и загрузка данных примерно 14 часов. Создание индексов, процедур, констрейнтов- 8 часов.

Видимо надо явно тюнить новый сервер. Куда копать?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36994623
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zaietsandjeoПоследовательная загрузка заняла около 22 часов и была мной остановлена, т.к. за это время даже не начали переноситься самые крупные таблицы (от 20 до 46 Гб)


С коллегой общался, вспомнил про вас.
Вы учтите, что дефолтный pagesize на ваших платформах разный и если таблица на 46Гб
это 1 partnum на 46Г "реальных" данных - то переносить нужно если без фрагментации как минимум в пространство с размером страницы 4К либо сразу же фрагментируйте (если лицензия позволяет)


Большие таблицы фрагментируются.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36994625
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zaietsЯ задал вопрос. так как непонятно - что тормозит у вас вставку insert ... select
По идее, она на 100МБ даже не должна так тормозить как у вас при дефолтных настройках.
Если выгрузка в файл одинакова, значит что-то не так с вставкой
а это уже сужает поиск проблемы.
Можно еще локально и удаленно сравнить unload to <nul | /dev/null>

Сделаю в понедельник. Но кажется что тормозит все-таки Linux =\
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36994707
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andjeoВчера-сегодня прогнал dbimport. Результат не радует. На все ушло 22 часа.
Создание таблиц и загрузка данных примерно 14 часов. Создание индексов, процедур, констрейнтов- 8 часов.

Видимо надо явно тюнить новый сервер. Куда копать?

Делать загрузку из файлов, в параллели. Выгрузку тоже. Выгрузить предварительно часть данных.

У меня в подобной ситуации были:
- stage0 - предварительная выгрузка данных, которые уже не могут быть изменены (таблицы самопального аудита) - выполняется вне окна миграции.
- stage1 - параллельная выгрузка остальных данных, я написал скриптец для анализа размеров таблиц и разбросал выгрузку на 5 потоков примерно одинакового объема.
- stage2 - drop / create database, параллельная загрузка данных, параллельный index build, навеска PK, FK, создание view, sequences, SP, triggers
- stage3 - сравнение с контрольной базой на другом сервере (slave из репликации)

Ну там и по мелочам - подобрать новые размеры начальных экстентов, индексы строить с fillfactor 80, разрешить PDQ для их строительства.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36995629
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВыбегаллоandjeoВчера-сегодня прогнал dbimport. Результат не радует. На все ушло 22 часа.
Создание таблиц и загрузка данных примерно 14 часов. Создание индексов, процедур, констрейнтов- 8 часов.

Видимо надо явно тюнить новый сервер. Куда копать?

Делать загрузку из файлов, в параллели. Выгрузку тоже. Выгрузить предварительно часть данных.

У меня в подобной ситуации были:
- stage0 - предварительная выгрузка данных, которые уже не могут быть изменены (таблицы самопального аудита) - выполняется вне окна миграции.
- stage1 - параллельная выгрузка остальных данных, я написал скриптец для анализа размеров таблиц и разбросал выгрузку на 5 потоков примерно одинакового объема.
- stage2 - drop / create database, параллельная загрузка данных, параллельный index build, навеска PK, FK, создание view, sequences, SP, triggers
- stage3 - сравнение с контрольной базой на другом сервере (slave из репликации)

Ну там и по мелочам - подобрать новые размеры начальных экстентов, индексы строить с fillfactor 80, разрешить PDQ для их строительства.


То есть "Unload to <> Select * from" и "Load from <> insert into"?
Я изначально думал так делать, но в некоторых таблицах содержатся переводы строк, которые я не знаю как победить.

dbexport -X/dbimport -X от них избавил, но непонятно на какой фазе. На импорте или экспорте.
Внятного комментария о том как работает ключ -X я не нашел =\


Как можно избавиться от перевода строки в анлоад файле?
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36995704
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andjeoКак можно избавиться от перевода строки в анлоад файле?В который раз читаю ваши стоны про конец строки, чувствую кто-то что не понимает. Опишите вашу проблему чуть подробнее типа:
1. на виндовом сервере выгружаю unload-м.
2. копирую на линукс по фтп (в режиме ascii), размер файла по понятным причинам уменьшается.
3. гружу load-м на линукс сервере.
4. вижу что концы строк исчезли/появились лишние? ААААААААААААА?!!!!
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36995774
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев ДенисandjeoКак можно избавиться от перевода строки в анлоад файле?В который раз читаю ваши стоны про конец строки, чувствую кто-то что не понимает. Опишите вашу проблему чуть подробнее типа:
1. на виндовом сервере выгружаю unload-м.
2. копирую на линукс по фтп (в режиме ascii), размер файла по понятным причинам уменьшается.
3. гружу load-м на линукс сервере.
4. вижу что концы строк исчезли/появились лишние? ААААААААААААА?!!!!

1. Делаю анлоад на винде.

2. Копирую на линукс,прогоняю через dos2unix,убирая концы строк.

3. Загружаю данные лоадом.
Данные не загружаются из-за того,что внутри данных есть переводы строки. Нажатия энтера в комментариях.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36995777
Фотография Журавлев Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andjeo2. Копирую на линукс,прогоняю через dos2unix,убирая концы строк.
Как копируете? По фтп? Концы строк не убираются, #10#13 заменяются на #10. Переводы строк в данных unload экранирует.

andjeo3. Загружаю данные лоадом.
Данные не загружаются из-за того,что внутри данных есть переводы строки. Нажатия энтера в комментариях.что значит не загружаются? load рапортует что загрузил успешно столько-то строк, а в таблице пусто???? покажите кусок файла.
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36995797
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Журавлев Денисandjeo2. Копирую на линукс,прогоняю через dos2unix,убирая концы строк.
Как копируете? По фтп? Концы строк не убираются, #10#13 заменяются на #10. Переводы строк в данных unload экранирует.

andjeo3. Загружаю данные лоадом.
Данные не загружаются из-за того,что внутри данных есть переводы строки. Нажатия энтера в комментариях.что значит не загружаются? load рапортует что загрузил успешно столько-то строк, а в таблице пусто???? покажите кусок файла.

2) Пишу на линуксовую шарую

3) Анлоад говорит что выгрузил столько то строк, а лоад говорит, что количество столбцов в анлоад файле не совпадает с кол-вом столбцов в базе
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36995799
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andjeo, мелкую таблицу для примера (файлы в процесе обработки) в студию
...
Рейтинг: 0 / 0
Миграция с 9.5 на 11.50
    #36997988
andjeo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойandjeo, мелкую таблицу для примера (файлы в процесе обработки) в студию

Завтра постараюсь подобрать пример.
...
Рейтинг: 0 / 0
54 сообщений из 54, показаны все 3 страниц
Форумы / Informix [игнор отключен] [закрыт для гостей] / Миграция с 9.5 на 11.50
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]