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 |
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 строка - стартуем экземпляр БД
Комментарии
Отправить комментарий