ORA-39083 and ORA-01847 when restore DB

Имеем СУБД Oracle 11g + Oracle Linux 6.10

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

ORA-39083: Object type TABLE:"*"."USERCERT" failed to create with error:
ORA-01847: day of month must be between 1 and last day of month

ORA-39083: Object type TABLE:"*"."NOTIFYMSG" failed to create with error:
ORA-01861: literal does not match format string

Причина (в моем случае)

Некорректно настроенный файл ".bash_profile". Значения ORACLE_BASE, ORACLE_HOME, ORACLE_SID я почему-то прописал в файл "/etc/bashrc".

Решение

Переносим указанные переменные из "/etc/bashrc" в ".bash_profile". Т.о. в файле должны быть обязательно указаны:

export ORACLE_BASE=/mnt/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=ORACL11B
export ORACLE_UNQNAME=ORACL11B
export NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LIBPATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
export TZ=Ets/GMT-5

Также в скрипте рестора проверить наличие параметров:
export NLS_DATE_FORMAT="YYYY-MM-DD"
export NLS_TIMESTAMP_FORMAT="YYYY-MM-DD HH24:MI:SS"


Для ОС Windows нужно проверить реестр:
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
  • HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Environment
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
  • HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1
  • HKEY_LOCAL_MACHINE\Software\ORACLE\
*но не рекомендуется изменять данные в реестре

лучше использовать указание:
SET NLS_DATE_FORMAT=YYYY-MM-DD
SET NLS_TIMESTAMP_FORMAT=YYYY-MM-DD HH24:MI:SS

*обязательно без кавычек. Для проверки можно вывести значение переменной командой echo %NLS_DATE_FORMAT%

в скрипте импорта схемы.

Комментарии

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

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

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

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

SQL Error [53200]: ОШИБКА: нехватка разделяемой памяти Подсказка: Возможно, следует увеличить параметр max_locks_per_transaction

РедОС. Подключение к сетевой папке