Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
SCO OpenServer 5.0.7 , Informix Dynamic Server Version 7.31.UC7 Пытаюсь перенести базу opk1 на другой сервер, проблема при загрузке базы - гружу ее в область archdbs с помощью onload, загрузка прерывается с ошибкой : ISAM error: no such DBspace Error building TBLspace. ERROR: DBspace main not found for index 122_66. Делаю всяческие oncheck-и на исходной базе, из интересного : Validating indexes for opk1:informix.posting... Index 122_66 Index fragment in DBspace main Index ix_posting2 Index fragment in DBspace dbs_po_usd Index fragment in DBspace dbs_po_rur Index ix_posting1 Index fragment in DBspace dbs_po_usd Index fragment in DBspace dbs_po_rur Index ix_posting3 Index fragment in DBspace dbs_po_usd Index fragment in DBspace dbs_po_rur .... Validating indexes for opk1:informix.convoucher... Index 138_113 Index ix_conv_vid Index fragment in DBspace main .... TBLspace data check for opk1:informix.posting Table fragment in DBspace dbs_po_usd Table fragment in DBspace dbs_po_rur На компе куда гружу нет дбспейсов main, dbs_po_usd и т.д. Хочется чтобы все лежало в одной области - archdbs ... Тут вижу два пути : 1. Создать нужные области main, dbs_po_usd, dbs_po_rur , загрузить базу и сделать ALTER FRAGMENT на таблицу и индексы ... пробую что-то вроде : ALTER FRAGMENT ON posting ATTACH INIT IN archdbs ошибка в синтаксисе.... Подскажите плиз правильный синтаксис для объединения индексов и таблиц ... http://www.ln.com.ua/~openxs/projects/informix/altfrg.html#attach мне не помог... 2. dbexport/dbimport - вот тут таится громадная засада - дело в том, что в некоторых таблицах хранится текст программ, в том числе с комментариями на русском в кодировке CP-1251 с виндовыми концами строк ... dbexport превращает их в "0d \ 0a" , т.е. вставляет слэш !!!, но это было бы фигней - ведь есть gsar из http://www.sql.ru/forum/actualthread.aspx?tid=377396 и помог бы простой search/replace но нет ! - dbexport просто ПОРТИТ ДАННЫЕ ! - сравнил результат селекта из таблицы в файл и dbexport этой таблицы - туча артефактов - помимо этого долбанного слэша, изменения названий функций - было q.eof() - стало q.eotion , обрезание концов строк , вставка туда \| b т.д. всего и не перечислишь ... Все это действительно так ! Я проверял с десяток раз, сравнивал в хексе и т.п. Так что придется выгружать/загружать такие таблицы ручками ... P.S. Кстати, возможно результаты пункта 2 можно добавить в ФАК ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 14:15 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
воблингоблин первый раз слышу что dbexport гадил данные. Может вы что-то напутали. Попробуйте сделать dbexport в той же локали, что и в БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 14:43 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
>первый раз слышу что dbexport гадил данные. Можете почитать тут например http://www.sql.ru/forum/actualthread.aspx?tid=377396 "-- vasilis wrote : Снова эти индусы :) Уж сколько багов было в утилитах экспорта-импорта, которые попортили жизнь админам, а делать стандартную утилиту так и не научились (там, наверное, тоже не одно поколение программеров сменилось :) Помнится, в 7.31.ТС5 тоже был серьезный баг утилиты экспорта и стандартным решением проблемы была тупая замена утилиты из более ранней версии (то, что уже и предложил Денис). " про локаль слышал, но не пробовал .. попробую ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 16:01 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
defocusSCO OpenServer 5.0.7 , Informix Dynamic Server Version 7.31.UC7 Пытаюсь перенести базу opk1 на другой сервер, проблема при загрузке базы - гружу ее в область archdbs с помощью onload, загрузка прерывается с ошибкой : Если перенос производится на другой сервер и другую версию IDS, то можно попробовать воспользоваться утилитой dbexport с этой новой версии, выгружая с удаленного старого сервера прямо на новый сервак. Баги в dbexport были, но не всегда заметные, исправлялись в следующих версиях и, обычно, обходимые при необходимости. Естественно, выгружать нужно без ключа -ss чтобы не получить привязку к именам dbspaces (надо помнить, что так будет отсутствовать и другая полезная информация :) defocus Хочется чтобы все лежало в одной области - archdbs ... Тут вижу два пути : 1. Создать нужные области main, dbs_po_usd, dbs_po_rur , загрузить базу и сделать ALTER FRAGMENT на таблицу и индексы ... пробую что-то вроде : ALTER FRAGMENT ON posting ATTACH INIT IN archdbs ошибка в синтаксисе.... Подскажите плиз правильный синтаксис для объединения индексов и таблиц ... http://www.ln.com.ua/~openxs/projects/informix/altfrg.html#attach мне не помог... Утилита onload/onunload работает с двоичными страницами, поэтому, в данном случае, это более геморойный путь. А синтаксис надо смотреть не в учебных статьях, а в документации к конкретной версии сервера. Надеюсь, что найти доки не проблема (см. FAQ). Кстати, раз уж таблицы и индексы были фрагментированы, то это для чего то было нужно... И в описании таблиц тогда следует убрать условие фрагментации... defocus 2. dbexport/dbimport - вот тут таится громадная засада - дело в том, что в некоторых таблицах хранится текст программ, в том числе с комментариями на русском в кодировке CP-1251 с виндовыми концами строк ... dbexport превращает их в "0d \ 0a" , т.е. вставляет слэш !!!, но это было бы фигней - ведь есть gsar из http://www.sql.ru/forum/actualthread.aspx?tid=377396 и помог бы простой search/replace но нет ! - dbexport просто ПОРТИТ ДАННЫЕ ! - сравнил результат селекта из таблицы в файл и dbexport этой таблицы - туча артефактов - помимо этого долбанного слэша, изменения названий функций - было q.eof() - стало q.eotion , обрезание концов строк , вставка туда \| b т.д. всего и не перечислишь ... Все это действительно так ! Я проверял с десяток раз, сравнивал в хексе и т.п. Так что придется выгружать/загружать такие таблицы ручками ... А какой разделитель ? Нет ли у вас путаницы с юниксовыми и виндовыми выгрузками (перенос текстовых файлов туда-сюда) ? Как уже посоветовали, проверьте локали при выгрузке. Возможно, что это артефакты перекодировки или ,например, БД у вас создана с локалью отличной от ru_ru.1251. И руками вовсе не обязательно - скрипт выгрузки только для отдельных таблиц (не во всех же таблицах у вас тексты программ с коментами :) можно сгенерить , а еще лучше, воспользоваться HPL для переноса всей БД (народ утилитку хвалит, особенно, когда научится ею пользоваться :) defocus P.S. Кстати, возможно результаты пункта 2 можно добавить в ФАК ... Дык, о багах там и так написано. Добавлять конкретные описания багов или что ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 17:24 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
Да, надеюсь, что все статьи из FAQ на эту тему внимательно прочитаны ? http://www.sql.ru/faq/faq.aspx?id=585 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 17:27 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
defocus1. Создать нужные области main, dbs_po_usd, dbs_po_rur , загрузить базу и сделать ALTER FRAGMENT на таблицу и индексы ... пробую что-то вроде : ALTER FRAGMENT ON posting ATTACH INIT IN archdbs ошибка в синтаксисе.... Подскажите плиз правильный синтаксис для объединения индексов и таблиц ... ALTER FRAGMENT ON TABLE posting INIT IN archdbs ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 17:42 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
vasilis1.Если перенос производится на другой сервер и другую версию IDS... 2.А какой разделитель ? Нет ли у вас путаницы с юниксовыми и виндовыми выгрузками (перенос текстовых файлов туда-сюда) ? 3. Да, надеюсь, что все статьи из FAQ на эту тему внимательно прочитаны ? vasilis Огромное спасибо за развернутый ответ ! ;) 1. Нет версия таже. 2. Разделитель | . В текстах программ не встречается. Переносил scp table.tar.gz . 3. Конечно ФАК прочитан ;) авторТан Спасибо, получилось Код: plaintext 1. 2. 3. 4. Создал нужные области, сделал ALTER FRAGMENT все перенеслось кроме автоиндекса 122_66, саппорт говорит что для этого нужно удалить констрейн на эту табличку, а потом его пересоздать и автоиндекс создастся автоматически ... попробую... support wrote : "что бы удалить индекс с именем 122_66 Вам необходимо удалить констрейн на таблицу. Имя констрейна на таблицу можно узнать запросом к базу sysmaster select tabname, constrname from sysconstraints, systables where sysconstraints.tabid = systables.tabid Затем удаляем констрейн ALTER TABLE table_name DROP CONSTRAINT constr_name; " О результатах всех экспериментов отпишу ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2007, 17:54 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
Опаньки, после выполнения вышеописанных команд alter fragment индекс 122_66 перестал иметь фрагменты в dbspace main ;))) Surprise ! На этом задачу считаю решенной. Остался только теоретический интерес ...Дальнейшие эксперименты с dbexport/dbimport проведу сегодня, отпишу ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 11:14 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
defocusОпаньки, после выполнения вышеописанных команд alter fragment индекс 122_66 перестал иметь фрагменты в dbspace main ;))) Surprise ! если при создании индекса не указывать схему фрагментации, он будет разложен так же, как таблица ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 11:29 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
Эксперимент с локалями почти ничего не дал ;(( У нас DB_LOCALE=en_US.CP1252 CLIENT_LOCALE=en_US.CP1252 говорил Код: plaintext Попробовал выгрузить с помощью UNLOAD Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 16:45 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
>с комментариями на русском в кодировке CP-1251 >У нас DB_LOCALE=en_US.CP1252 CLIENT_LOCALE=en_US.CP1252 no comment (C) возьмите dbcopy из набора утилит art kagel -- быстро и безглючно. ЗЫЖ Я Надеюсь вы переносите одну бд из многих с сервера на другой сервер? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 16:56 |
|
||
|
Глюки о проблемы при переносе базы - подскажите правильный синтаксис для объединения
|
|||
|---|---|---|---|
|
#18+
>no comment У меня тоже возник этот вопрос к тому кто эти базы делал ;)) Ответ - так сложилось исторически.. ;)) dbcopy попробую, спасибо >Надеюсь вы переносите одну бд из многих с сервера на другой сервер? да. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2007, 17:14 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=34450145&tid=1608416]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
68ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 248ms |
| total: | 432ms |

| 0 / 0 |
