ORA-02374, ORA-12899 and ORA-02372 when restore DB

При ресторе БД возникла ошибка:

ORA-02374: conversion error loading table "F_*"."FILEFOLDER"
ORA-12899: value too large for column FILE_NAME (actual: 101, maximum: 100)
ORA-02372: data for row: FILE_NAME : 0X'313030303039333336333838407363616E20F3E2E5E4EEECEB'


Причина ошибки:

Используемая кодировка кодировка не соответствует данным в дампе (схемы), с которой создается БД. В моем случае, это произошло из-за переустановки Oracle DB. Параметр сейчас выглядит так:

select * from nls_database_parameters;
PARAMETER |VALUE |
-----------------------|----------------------------|
NLS_CHARACTERSET |AL32UTF8 |

ацауц

Решение:
Изменить значение параметра на необходимое. В моем случае, это CL8MSWIN1251
CL8MSWIN1251 - MS Windows Code Page 1251 8-bit Latin/Cyrillic

В sqlplus выполнить:
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET INTERNAL_USE CL8MSWIN1251;
ALTER DATABASE CHARACTER SET CL8MSWIN1251;
SHUTDOWN IMMEDIATE;
STARTUP;


здесь:
1 строка - закрытие подключений к БД
2 строка - монтируем БД
3 строка - запрещаем подключаться
4 строка - запрещаем запуск заданий
..
5 строка - монтируем БД
6 и 7 строки - изменяем кодировку
8 строка - закрытие подключений к БД
9 строка - стартуем экземпляр БД

Комментарии

Популярные сообщения из этого блога

TRUNCATE / DELETE / DROP или как очистить таблицу

Linux (РедОС). Сброс пароля

ЭС с ЦБ РФ. РЕКВИЗИТНЫЙ СОСТАВ ЭС

КБК. КВФО - Код вида финансового обеспечения (деятельности)

ТФФ 35.0. Полный перечень документов альбома ТФФ (Таблица 2)