Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / 12c Transport Database - impdp "character string buffer too small" / 25 сообщений из 26, страница 1 из 2
07.11.2016, 10:31
    #39342393
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
Всем привет!

Наконец предоставилась возможность пощупать Transport Database в реальности. Очень понравилось, что в 12-ой версии dbms_file_transfer при копировании между разными платформами может на лету конвертировать endian!

Постановка задачи: перенести БД 11.2.0.3 (RHEL x64, 11 Tb, 3307 datafiles) -> 12.1.0.2 (AIX).

Был избран путь по дблинку
https://docs.oracle.com/database/121/ADMIN/transport.htm#ADMIN13873

В тестовой конфигурации с одним пользовательским датафайлом всё отработало успешно.

А вот когда для реальной базы скопировал (dbms_file_transfer) файлы и запустил на целевом хосте
Код: plsql
1.
impdp system parfile=transport.par


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
[содержимое transport.par]
full=Y
directory=tr_dir
network_link=tr_link
transportable=always
version=12
logfile=trans_import.log
trace=1FF0300
transport_datafiles='<some_dir>/s_0028.dbf'
transport_datafiles='<some_dir>/r_0196.dbf'
transport_datafiles='<some_dir>/r_3615.dbf'
.......3308 строк.......


Появилась ошибка
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Import: Release 12.1.0.2.0 - Production on Tue Oct 18 23:05:43 2016

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.
Password:

Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
ORA-39006: internal error
ORA-39065: unexpected master process exception in DISPATCH
ORA-06502: PL/SQL: numeric or value error: character string buffer too small

ORA-39097: Data Pump job encountered unexpected error -6502


В БД-приёмнике
Код: plsql
1.
db_files                             integer     10000


Нота изучена и применена
Код: plsql
1.
Errors during Transportable Tablespace Plugin: ORA-39123: Data Pump transportable tablespace job aborted ORA-06502: PL/SQL: numeric or value error: character string buffer too small (Doc ID 1587730.1)



Кодировка в bash выставлена, как в БД
Код: plsql
1.
export NLS_LANG=AMERICAN_AMERICA.CL8KOI8R



Есть ли у многоуважаемых коллег какие мысли на эту тему?

Буду благодарен за любые мысли и рекомендации. Спасибо!
...
Рейтинг: 0 / 0
07.11.2016, 10:50
    #39342418
12c Transport Database - impdp "character string buffer too small"
Filiber,

если ты знаешь разницу между varchar2(100 byte) и varchar2(100 char) , то сравнив
Код: plsql
1.
select * from NLS_DATABASE_PARAMETERS;


в части NLS_LENGTH_SEMANTICS сможешь легко сделать соответствующие выводы.
...
Рейтинг: 0 / 0
07.11.2016, 11:04
    #39342434
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
В обеих базах значение этого параметра одинаково - BYTE.
...
Рейтинг: 0 / 0
07.11.2016, 12:28
    #39342494
12c Transport Database - impdp "character string buffer too small"
Filiber,

тогда, для очистки совести, сравни
Код: plsql
1.
select * from NLS_INSTANCE_PARAMETERS;


и, также,
Код: plsql
1.
select * from NLS_SESSION_PARAMETERS;


ну, и не паранойи ради, а токма душевного спокойствия для, посмотри
Код: plsql
1.
select * from GV$NLS_PARAMETERS;


и, также,
Код: plsql
1.
select * from V$NLS_PARAMETERS;
...
Рейтинг: 0 / 0
07.11.2016, 12:49
    #39342521
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
мимо_проходил_,

Спасибо. Все перечисленные параметры совпадают в обеих базах.
...
Рейтинг: 0 / 0
07.11.2016, 15:10
    #39342670
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
Кодировка должна совпадать для TTS.
...
Рейтинг: 0 / 0
07.11.2016, 15:41
    #39342725
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
Vivat!San,

Параметры кодировки совпадают на БД-источнике и приёмнике. Перед выполнением impdp в bash было выполнено
Код: plsql
1.
export NLS_LANG=AMERICAN_AMERICA.CL8KOI8R
...
Рейтинг: 0 / 0
07.11.2016, 15:44
    #39342727
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
Переменная окружения не означает что кодировки совпадают.

ЗЫ
Restriction : The source and target database must use a compatible character set and national character set.
...
Рейтинг: 0 / 0
07.11.2016, 18:57
    #39342894
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
По базе уже же ответил, что все NLS-параметры совпадают 19865301
...
Рейтинг: 0 / 0
07.11.2016, 19:00
    #39342896
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
Filiber,

Сколько всего datafiles?

SY.
...
Рейтинг: 0 / 0
07.11.2016, 21:17
    #39342962
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
SY,

3307 датафайлов
...
Рейтинг: 0 / 0
07.11.2016, 22:26
    #39343002
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
...
Рейтинг: 0 / 0
08.11.2016, 12:53
    #39343379
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
SY,

Уважаемый SY, написал в первом сообщении, что эту ноту читал, а следовательно, металинк шерстил уже )))
...
Рейтинг: 0 / 0
08.11.2016, 15:09
    #39343550
12c Transport Database - impdp "character string buffer too small"
Filiber,

а позвольте поинтересоваться, Вам вот это
Код: plsql
1.
full=Y


очень-очень нужно?
...
Рейтинг: 0 / 0
08.11.2016, 16:33
    #39343654
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
FiliberУважаемый SY, написал в первом сообщении, что эту ноту читал, а следовательно, металинк шерстил уже )))

Шерсти еще или разбей 3308 на несколько sets (или все 3308 составляют один неделимый и нерушимый transport set)?

SY.
...
Рейтинг: 0 / 0
08.11.2016, 23:17
    #39343938
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
В том-то и дело, что это не обычный TTS, а появившийся в 12-ой версии Transport Database - т.е. миграция ВСЕЙ базы. В данном случае миграция ещё совмещена и с апгрейдом.

Хотелось элегантного решения, но, видимо, не в этот раз))

Хотя неплохо уже то, что в 12-ой версии доказанно работает конвертация endian при перекидывании файлов между платформами посредством dbms_file_transfer. Т.е. не нужен двойной объём дисков + конвертация рманом.
...
Рейтинг: 0 / 0
09.11.2016, 12:28
    #39344124
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
FiliberТ.е. не нужен двойной объём дисков + конвертация рманом.
Точно не нужен, а если из/в ASM?
...
Рейтинг: 0 / 0
09.11.2016, 18:58
    #39344427
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
Vivat!San,

Это немного другая история, но всё же
OraDocs_v. 11The format of copied files is portable between Little-Endian and Big-Endian systems if the files exist in an ASM disk group. ASM automatically converts the format when it writes the files.
...
Рейтинг: 0 / 0
09.11.2016, 19:43
    #39344448
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
FiliberВ том-то и дело, что это не обычный TTS, а появившийся в 12-ой версии Transport Database - т.е. миграция ВСЕЙ базы. В данном случае миграция ещё совмещена и с апгрейдом.

Хотелось элегантного решения, но, видимо, не в этот раз))


А что в базе 3308 тейблспейсов? Почему бы не перейти на BIGFILE и забыть этот геморрой с созданием datafiles? Тогда глядишь и parfile в буфер поместится.

SY.
...
Рейтинг: 0 / 0
09.11.2016, 21:51
    #39344492
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
SY,

ТП в базе тоже порядком: лет за 10, на каждый месяц по табличной и по индексной партиции.

Хорошо вот так вот рассуждать, когда все карты на руках, а не когда ты часть команды, из которой многие душу вкладывали как умели, иных уж нет, а те далече...)))

P. S. A priori мудрости, почти уверен, не существует. А вот сын ошибок трудных - как раз наш случай))
...
Рейтинг: 0 / 0
10.11.2016, 02:46
    #39344541
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
FiliberХорошо вот так вот рассуждать, когда все карты на руках, а не когда ты часть команды, из которой многие душу вкладывали как умели, иных уж нет, а те далече...)))

P. S. A priori мудрости, почти уверен, не существует. А вот сын ошибок трудных - как раз наш случай))

А причем тут "A priori"? У меня тожe куча баз с кучей datafiles начиная бог знает с каких дат. И что? Появился BIGFILE и database engineering "мудро" решил пора упорядочить это хозяйство и "издал" стандaрт - все новые базы с BIGFILE, все существующие при out-of-place агрейде/переезде на новый сервер должны перейти на BIGFILE. Вот и все.

SY.
...
Рейтинг: 0 / 0
10.11.2016, 12:02
    #39344686
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
SY,

По регламенту у нас bigfile как раз запрещён.

И потом, Вы представляете, сколько займёт даунтайм для переведения 11 Тб на bigfile? ))

А вообще, конечно, вопрос будет передан в MOS. Просто думал, может чего-то недосмотрел, не учёл...

Всем спасибо!
...
Рейтинг: 0 / 0
10.11.2016, 13:33
    #39344798
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
Filiber,
Если same_dir длинное, можно попробовать впихнуть невпихуемое
с помощью линка
Код: plsql
1.
2.
3.
4.
ln -s '<some_dir>' /a
...
transport_datafiles='/a/s_0028.dbf'
...



вдруг влезет?

потом переименуете правильно
...
Рейтинг: 0 / 0
15.11.2016, 20:59
    #39347909
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
Vadim Lejnin,

Спасибо, блестящая идея!

К сожалению, не помогло...
...
Рейтинг: 0 / 0
16.11.2016, 00:11
    #39347967
Filiber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
12c Transport Database - impdp "character string buffer too small"
Решил всё-таки довести до конца во что бы то ни стало - отказался от варианта с дблинком, а пошёл по пути в дампом
https://docs.oracle.com/database/121/ADMIN/transport.htm#ADMIN13726

В таком виде процедура миграции+апгрейда прошла успешно!

impdp system parfile=transport.par.10
Код: content
1.
2.
3.
4.
FULL=Y
DUMPFILE=asp_blue_full.dmp
DIRECTORY=TICKET_xyz
logfile=trans_import.log
transport_datafiles=...

=========================================

Далее нужно разбираться с невалидными объектами, не работающими с 9-ми версиями дблинками и т.д. - но это уже совсем другая история.

В общем, вариант с дампом отработал, а по дблинку - нет.

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

=========================================

Спасибо всем поучаствовавшим!
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / 12c Transport Database - impdp "character string buffer too small" / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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