|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
ORA 12.2, дамп схемы сделан в 9.2, поэтому в дампе нет length qualifier для символьных типов. При прямом импорте схемы ругается: IMP-00019: строка отвергнута из-за ошибки ORACLE 12899 IMP-00003: ORACLE выдала ошибку 12899 ORA-12899: значение для столбца "U99"."AB"."SPEC_COMMENT" слишком велико (фактическое: 115, максимальное: 100) Пытался указать NLS_LENGTH_SEMANTICS='CHAR' через переменные среды в винде. Не помогает. Как импортнуть? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 21:46 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
alter sysem ... |
|||
:
Нравится:
Не нравится:
|
|||
08.04.2019, 22:37 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Не слишком ли это радикально? Ведь эффект от этой команды мгновенный, значит, затронет всех юзеров. Или можно так и оставить, не изменять назад на BYTE? Ничего не сломается в других местах? (Я имею в виду, если при создании символьных поле явно указывать семантику длин, то эта настройка особого смысла не имеет?) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 18:03 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Правильный ВасяНе слишком ли это радикально? Ну тогда DBMS_DATAPUMP. Или impdp в два этапа. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 19:09 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Правильный ВасяНе слишком ли это радикально? logon trigger. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 19:11 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Попробовал на отдельном сервере установить Код: plsql 1.
После этого импорт все равно не идет, та же самая ошибка. Теперь уже не понимаю, почему... В v$parameter видно, что значение CHAR, по идее должно помещаться... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 19:37 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
SYimpdp в два этапа. Это как? У меня только дамп 9.2, а его формат, насколько я знаю, несовместим с IMPDP. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.04.2019, 22:01 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Правильный ВасяПосле этого импорт все равно не идет, та же самая ошибка. Теперь уже не понимаю, почему... В v$parameter видно, что значение CHAR, по идее должно помещаться...Ты глазками на ddl-и в дампе глянь. Может там byte гвоздями прибито. 9-шный экспорт выгружает явное указание char/byte, только если оно отличается от умалчиваемого. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 07:42 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
SYНу тогда DBMS_DATAPUMP. Или impdp в два этапа.Можно поподробнее? Кэйс: impdp-совместимая однобайтовая БД, в которой char/byte не указывался, а по умолчанию был байт. Это можно влить в мультибайтовую БД с преобразованием семантики в символьную? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 07:48 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
ElicSYНу тогда DBMS_DATAPUMP. Или impdp в два этапа.Можно поподробнее? Кэйс: impdp-совместимая однобайтовая БД, в которой char/byte не указывался, а по умолчанию был байт. Это можно влить в мультибайтовую БД с преобразованием семантики в символьную? A, упустил у него export dump а не datapump. Тода можно imp rows=n затем "чиним" VARCHAR/CHAR поля c длинной в BYTE c той-же длинной в CHAR, disable FK, imp data_only=y, enable FK. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.04.2019, 20:39 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
SYA, упустил у него export dumpКак раз наоборот, 9-шность дампа может дать возможность сменить семантику по умолчанию на уровне сеанса/экземпляра, потому что Elic9-шный экспорт выгружает явное указание char/byte, только если оно отличается от умалчиваемого. SYа не datapumpТак можно поподробнее? SY"чиним" VARCHAR/CHAR поля c длинной в BYTE c той-же длинной в CHAR, disable FKFK, check, FBI, виртуальные колонки и прочее делают процесс "починки" сексуально нетривиальным. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 08:34 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
ElicSYA, упустил у него export dumpКак раз наоборот, 9-шность дампа может дать возможность сменить семантику по умолчанию на уровне сеанса/экземпляра, потому что Elic9-шный экспорт выгружает явное указание char/byte, только если оно отличается от умалчиваемого. SYа не datapumpТак можно поподробнее? SY"чиним" VARCHAR/CHAR поля c длинной в BYTE c той-же длинной в CHAR, disable FKFK, check, FBI, виртуальные колонки и прочее делают процесс "починки" сексуально нетривиальным. Я делал в таком случае через indexfile, выбривая только таблицы Кроме того, это позволяет менять tablespace Но там свои засады с форматированием длинных строк, геморрой еще тот. p.s. FBI для 9i не актуальны ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 17:49 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Vadim Lejninp.s. FBI для 9i не актуальны Это почему? FBI был еще в 8i. Но это не суть - придется компилировать (что довольно легко) весь импортируемый PL/SQL а не только FBI. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 18:50 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Да, забыл про триггеры - их тоже надо disable, imp, enable. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 18:53 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
ElicFK, check, FBI, виртуальные колонки и прочее делают процесс "починки" сексуально нетривиальным. 1. Disable/enable FK & триггеры - элементарно 2. Поменять BYTE на CHAR через DBA_TAB_COLS - элементарно 3. Перекомпилировать PL/SQL - элементарно Но все это только если ALTER SYSTEM, after logon trigger "слишком радикально" или какие то обьекты в экспорте имеют явно прописаный BYTE. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2019, 19:16 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
ElicТы глазками на ddl-и в дампе глянь. Может там byte гвоздями прибито. Я еще в топике написал, что нету там length qualifier для символьных типов . Проверял ведь перед постом. Стоят просто VARCHAR(30) или CHAR(3). И Код: plsql 1.
не помогает, как я уже написал. Ругается теми же самыми кодами в тех же местах. Хотя явно видно, что в v$parameter стоит уже вместо BYTE значение CHAR. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2019, 19:05 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Правильный ВасяElicТы глазками на ddl-и в дампе глянь. Может там byte гвоздями прибито. Я еще в топике написал, что нету там length qualifier для символьных типов . Проверял ведь перед постом. Стоят просто VARCHAR(30) или CHAR(3). И Код: plsql 1.
не помогает, как я уже написал. Ругается теми же самыми кодами в тех же местах. Хотя явно видно, что в v$parameter стоит уже вместо BYTE значение CHAR. А что говорит desc "U99"."AB"? там char или byte? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2019, 19:12 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Vadim Lejnin, DESC показывает VARCHAR(30) без всяких модификаторов как для таблиц в этой схеме, так и в других, которые были созданы с NLS_LENGTH_SEMANTICS=BYTE до переключения на CHAR ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2019, 20:24 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Vadim LejninКроме того, это позволяет менять tablespace tablespace в дампе на ура меняется в режиме редактирования с сохранением длины строки. Подозреваю изменение byte на char тоже вполне прокатит ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2019, 01:08 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
DВАVadim LejninКроме того, это позволяет менять tablespace tablespace в дампе на ура меняется в режиме редактирования с сохранением длины строки. Подозреваю изменение byte на char тоже вполне прокатит Именно так я и делал Пркатывал через awk, дополнительно сносится initial Что позволяет получить чистую схему Но ... приходится контролировать скобки, бо imp тупо режет операторы по длине ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2019, 08:59 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
авторКак импортнуть? работать с каждым полем отдельно, выгружать ddl и создавать уже модифицированную пустую таблицу. В общем случае такое преобразование не всегда возможно, представьте что у поля VARCHAR2 с 2-х байтной кодировкой типа 'CHAR' Вы хотите сделать 'BYTE' и оно уже заполнено скажем на 3000 символов, даже увеличив поле до максимума данные Вы там не сможете разместить. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2019, 10:46 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Vivat!SanВы хотите сделать 'BYTE'О сколь предположений чудных готовит невниманья путь. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2019, 10:53 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
DВАв дампе на ура меняется в режиме редактирования с сохранением длины строки. Подозреваю изменение byte на char тоже вполне прокатит Если б было так просто, я бы и сам давно додумался и сделал бы в обычном hex-редакторе. Но в моем дампе нет length qualifier для символьных типов , о чем я уже неоднократно писал. А многоступенчатое "импортнуть только структуру, исправить в таблицах типы, импортнуть только данные" слишком трудозатратно, кода таблиц порядка 400 с множеством символьных полей, не говоря о других объектах, где тоже полно использований символьных типов. И всё же - почему изменение nls_length_semantics на уровне системы не приводит к правильному импорту? Почему на него не действует это изменение? Может, для импорта как-то по-другому это нужно отдельно настраивать? Или я вообще не в ту сторону изначально рою и причина сабжевой ошибки в чем-то другом? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2019, 16:41 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Правильный ВасяDВАв дампе на ура меняется в режиме редактирования с сохранением длины строки. Подозреваю изменение byte на char тоже вполне прокатит Если б было так просто, я бы и сам давно додумался и сделал бы в обычном hex-редакторе. Но в моем дампе нет length qualifier для символьных типов , о чем я уже неоднократно писал. а додуматься таким же макаром увеличить размерность столбца, не? Правильный ВасяИ всё же - почему изменение nls_length_semantics на уровне системы не приводит к правильному импорту? Почему на него не действует это изменение? Может, для импорта как-то по-другому это нужно отдельно настраивать? Или я вообще не в ту сторону изначально рою и причина сабжевой ошибки в чем-то другом? Может потому что ORA-12899: значение для столбца "U99"."AB"."SPEC_COMMENT" слишком велико (фактическое: 115, максимальное: 100) а DESC показывает VARCHAR(30) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2019, 16:49 |
|
Как установить NLS_LENGTH_SEMANTICS при импорте схемы из дампа?
|
|||
---|---|---|---|
#18+
Правильный Васяпочему изменение nls_length_semantics на уровне системы не приводит к правильному импорту? Потому что кто-то не понимает как это работает. Читайте эту статью на MOS, там есть ответы на все вопросы: Examples and limits of BYTE and CHAR semantics usage (NLS_LENGTH_SEMANTICS) (Doc ID 144808.1) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.04.2019, 17:26 |
|
|
start [/forum/topic.php?fid=52&fpage=78&tid=1882554]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 146ms |
0 / 0 |