Ora 01403 описание ошибки

Ошибки Оракла ORA-01000 — ORA-01999



В нотной записи PL/SQL допущена нота не той октавы

Группы второй тысячи ошибок Oracle (по диапазонам кодов от 1000 до 1999):

  • Ошибки програмного интерфейса 1000-1090
  • Ошибки процессора языка SQL 1100-1199
  • Ошибки строк процессора языка SQL 1200-1299
  • SQL-анализ непредвиденных обстоятельств 1300-1399
  • Ошибки работы SQL 1400-1499
  • Ошибки управления доступом к таблицам 1500-1599
  • Ошибки ORA-01600 — ORA-01699
  • Синтаксические ошибки(продолжение) 1700-1799
  • Функциональные ошибки данных 1800-1899
  • Ошибки ORA-01900 — ORA-01999

Ошибки програмного интерфейса 1000-1090

  • ORA-01000: max open cursors exceeded

    превышено максимальное число курсоров

    Причина:Головная программа попыталась открыть
    слишком много курсоров. Максимальное число курсоров
    для одного пользователя устанавливается параметром
    OPEN_CURSORS в INIT.ORA.

    Действие:Измените программу, чтобы использовать
    меньшее число курсоров или увеличте значение OPEN_CUR-
    SOR. Эсли вы выбрали второе, переапустите ORACLE,чтобы
    изменение было эффективным.

  • ORA-01001: invalid cursor

    неверный курсор

    Причина:Головная программа обратилась к неверному
    курсору.Все курсоры должны быть открыты(используя
    OOPEN) перед тем как быть ипользованными в любом из
    следущих обращениях: SQL, DESCRIBE, NAME, DEFINE,
    BIND, EXEC, FETCH и CLOSE. LDA (Logon Data Area)
    должно устанавливаться с помощью OLON или OLOGON. Если
    LDA не установлена, то данное сообщение появится
    при следущих обращениях: OPEN, COM, CON,ROL и LOGOFF.

    Действие:Проверьте вызвавший ошибку оператор.
    Опишите область LDA или откройте курсоры согласно с
    требованиями. Эсли проблема не связана с курсором,
    возможно вам надо увеличить опции AREASIZE и
    MAXOPENCURSORS перед прекомпиляцией.

  • ORA-01002: fetch out of sequence

    выборка не в порядке

    Причина:В головной программе обращение FETCH
    последовало не в установленном порядке. Синтаксичес-
    кий контроль и исполнение должны предшествовать
    выборке.

    Действие:Выполните оператор SQL перед выборкой
    данных.

  • ORA-01003: no statement parsed

    отсутствует синтаксис оператора

    Причина:Была вызвана головная программа с указанием
    на курсор, не связанный с синтаксисом SQL-оператора.
    SQL-обращение (OSQL или OSQL3) должно использоваться
    для выполнения SQL-операторов в ORACLE и для ассоциа-
    ции их с открытым курсором. Курсор всегда должен иметь
    ассоциированный с ним SQL-оператор, если он относится
    к следущим обращениям : DESCRIBE, NAME, DEFINE, BIND,
    EXECUTE и FETCH.

    Действие:Вызовите OSQL или OSQL3 чтобы выполнить
    трубуемый SQL-оператор до обращения к курсору.

  • ORA-01004: default username feature not supported; logon denied

    не существует неопределенный пользователь,
    вход в систему не произошел

    Причина:Была попытка автоматического входа в
    систему, не поддерживающую этого свойства.

    Действие:Для входа в ORACLE полностью укажите
    имя пользователя и пароль.

  • ORA-01005: null password given; login denied

    введен нулевой пароль; вход не произошел

    Причина:Не был введен пароль для входа.

    Действие:Введите пароль.

  • ORA-01006: bind variable does not exist

    скомпонованная переменная не существует

    Причина:Введенна программа вызвала обращение BIND
    к прерменной, не перечисленной в соответствующем опе-
    раторе SQL. Только те переменные, перед которыми в
    SQL-операторе стоят двоеточие(:) или амперсанд(&),
    могут быть указанными в обращении BIND (OBIND или
    OBINDN ). Кроме того ошибка может быть вызвана :

    * несоответствие между PCC и относительной библио-
    текой SQLLIB.

    * в ODL, если были использованы дважды теже самые
    имена полей записей в управляющих файлах оператора
    INSERT.

    Действие:Измените обращение BIND так, чтобы
    указывалась одна из соответствующих переменных из
    SQL-оператора.

  • ORA-01007: variable not in select list

    переменная отсутствует в выбранном списке

    Причина:Была указана переменная, не перечисленная
    в предложении SELECT. В HLI причиной ошибки может
    произойти , если значение параметра позиции меньше
    1 или больше числа переменных в предложении SELECT
    в одном из следущих обращенниях: DESCRIBE, NAME или
    DEFINE. В SQL*Forms или SQL*Report при использовании
    большего числа переменных в INTO, чем в выражении
    SELECT, так произойдет эта ошибка.

    Действие:В HLI Укажите позиционный номер больший
    чем 1 и меньший чем число переменных, указанных в
    предложении SELECT. В SQL*Forms и SQL*Report опишите
    равное число переменных в предложениях SELECT и INTO.

  • ORA-01008: not all variables bound

    не все переменные ограничены

    Причина:Был выполнен оператор SQL, содержащий
    не ограниченные переменные. Всем переменным должны
    быть присвоены соответствующие значения до того,
    как бдет выполнен SQL-оператор. В HLI для этого
    используются обращения OBIND и OBINDN.

    Действие:В HLI Вызовите обращения OBIND или OBINDN
    чтобы присвоить переменным соответствующие значения.

  • ORA-01009: missing mandatory parametr

    пропущен обязательный параметр

    Причина:В головной программе присутствуют не все
    требуемые параметры. Синтаксис и описание параметров
    для каждого обращения перечислены в Руководстве Поль-
    зователя Pro*xxx (Pro*xxx User’s Guides).

    Действие:Проверьте синтаксис обращения и введите
    неоходимые параметры.

  • ORA-01010: invalide HLI operation

    неверный оператор HLI

    ПРИЧИНА:Это сообщение о внутренней ошибке,
    которая не может произойти при нормальной работе .

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01011: ores issued and nothing to resume

    вызван ORES,продолжать нечего

    Причина:Пользователь использовал обращение ORES
    для продолжения SQL-оператора, который не приостанав-
    ливался.

    Действие:ORES должна использоваться только в том
    случае, если запрос был приостановлен, на что указывает
    поле FLAG2 области данных курсора.

  • ORA-01012: not logged on

    нет входа

    Причина:Головная программа выдала обращение ORACLE
    (отличный от OLON или OLOGON ),без предварительного
    в ORACLE. Необходимо вначале войти в ORACLE перед
    тем, как вводить операторы ORACLE.

    Действие:Войдите в ORACLE (испоьзуя OLON или
    OLOGON) перед вводом операций ORACLE.

  • ORA-01013: user requested cancel of current operation

    запрос пользователя прервал правильное выполнение операции

    Причина:Пользователь прервал ORACLE-операцию
    введя CTRL C,или другую операцию прерывания.Это
    действие вынуждает прервать правильно выполняемую
    операцию.Это только информационное сообщение.

    Действие:Переходите к следущей операции.

  • ORA-01014: ORACLE shutdown in progress

    идет выход ORACLE

    Причина:Пользователь пытался войти в ORACLE
    который прекращает свою работу.Вход в ORACLE не
    возможен, если происходит shutdown.

    Действие:Подождите, пока ORACLE зарезервируется
    и попытайтесь войти.

  • ORA-01015: logon called recursively

    произошел рекурсивный вход

    ПРИЧИНА:Это сообщение о внутренней ошибке,
    о которой необходимо сообщить.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01016: upilng out of sequence

    неверный порядок выборки из длинной колонки

    Причина:Системная программа попыталась сделать
    выборку данных из колонки LONG до успешного синтакси-
    ческого контроля и выполнения. Необходимо провести син-
    таксический контроль оператора SQL ( используя OSQL
    или OSQL3 ) перед тем как будет возможно осуществить
    выборку данных.

    Действие: Выполните синтаксический контроль
    и исполнение оператора перед выборкой.

  • ORA-01017: ivalid username/password; logon denied

    неверное имя пользователя/пароль;загрузка снята

    Причина:Неверное имя пользователя/пароль были
    введены при попытке входа в ORACLE. Имя пользователя
    и пароль должны быть такими же, какие были описаны в
    команде GRANT CONNECT.Если имя пользователя и пароль
    вводятся одновременно, то формат следущий:
    имя пользователя/пароль

    Действие:Введите верную комбинацию имя пользовате-
    ля/пароль в правильном формате.

  • ORA-01018: upilng call and not a long column

    длинная выборка из колонки,не являющейся long

    Причина:Была попытка осущнствить выборку данных с
    помощью опции выборки LONG, но описанная колонка не
    являлась длинной.

    Действие:Повторите выборку без опции LONG или
    создайте таблицу с LONG-колонками.

  • ORA-01019: upi structure parameter of wrong size

    неверный размер структурного параметра выборки

    ПРИЧИНА:Это сообщение о внутренней ошибке,
    о которой необходимо сообщить.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01020: unknown context state

    неизвестное состояние контекста

    ПРИЧИНА:Это сообщение о внутренней ошибке,
    о которой необходимо сообщить.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01021: invalid context size specified

    описан неверный размер контекста

    Причина:Было введено неверное значение для на-
    чального размера контекстной области. Значение раз-
    мера контекстной области должно лежать в диапазоне
    между 1000 и 128 000 байтов.

    Действие:Опишите начальное значение размера кон-
    текстной области в диапозоне между 1000 и 128 000 байт.

  • ORA-01022: opicfd-opipic definition error

    ошибка определения opicfd-opipic

    ПРИЧИНА:Это сообщение о внутренней ошибке,
    о которой необходимо сообщить.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01023: upi function has incorrect number of parameters

    функция выборки имеет неверное число параметров

    ПРИЧИНА:Это сообщение о внутренней ошибке,
    о которой необходимо сообщить.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01024: invalid datatype

    неверный тип данных

    Причина:Программное обращение HLI описывает не-
    верный тип данных. В обращении HLI тип данных ORACLE
    описывается как число между 1 и 7. Типы данных описаны
    в руководстве Pro*xxx.

    Действие:Проверьте описание типа данных и введите
    верное число для их спецификаций.

  • ORA-01025: upi parameter out of range

    параметр upi из неверного диапазона

    Причина:Неверное число было введено как аргумент
    обращения HLI, такого как OBNDRN.

    Действие:Проверьте значения, используемые в качестве
    аргумента.

  • ORA-01026: upicdf-parameter defenition error

    ошибка определения параметра upicdf

    ПРИЧИНА:Это сообщение о внутренней ошибке,
    о которой необходимо сообщить.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01028: error backing out last row, transaction rolled back

    ошибка восстановления последней строки,преобразование отменено

    Причина:Произошла внутренняя ошибка при управлении
    рекурсивным обращением.

    Действие:Проверьте не мал ли ваш файл.

  • ORA-01029: bind variable does not exist

    скомпонованная переменная не существует

    Причина:Компоновочная переменная, описанная в
    компоновочном обращении не соответствует переменной,
    описанной в SQL-операторе.

    Действие:Исправьте обращение или оператор.

  • ORA-01030: select-into variable does not exist

    переменная select-into не существует

    Причина:Переменная select-into, описанная в
    компоновочном обращении не соответствует переменной,
    описанной в SQL-операторе.

    Действие:Исправьте обращение или оператор.

  • ORA-01031: insufficient privileges

    недостаточная привелегия

    Причина:Была попытка изменить правильные
    имя пользователя/пароль без привелегии DBA.

    Действие:Обратитесь за изменением к DBA, или
    получите DBA-привелегию для самостоятельного изменения.

  • ORA-01032: no such user id

    не существует такого индентификатора пользователя

    Причина:Это внутренняя ошибка, связанная с процедурой
    IMPORT и EXPORT.

    Действие:обратитесь к соответствующей установочной
    службе.

  • ORA-01033: ORACLE initialization or shutdown in progress

    идет инициализация или закрытие ORACLE

    Причина:Была попытка войти в систему во время
    инициализации или закрывания ORACLE.

    Действие:Обождите немного и повторите попытку.

  • ORA-01034: ORACLE not available

    ORACLE не доступен

    Причина:Похоже ORACLE не инициализирован.Возможны
    следущие причины:

    * для SGA необходимо больше памяти, чем выделено

    * ORACLE скомпонован не как многопользовательский

    Действие:Повторите попытку после окончания ини-
    циализации.Если ORACLE уже инициализирован, проверьте
    правильно ли он скомпонован.Убедитесь что инциализация
    была выполнена верно и не было ни каких нарушений.
    Пользователи VAX/VMS могут включить MAS$xxx или
    имя файла в параметр LOUTL чтобы убедиться, что
    ORACLE скомпонован как многопользовательский.

  • ORA-01035: ORACLE only available to user with DBA privilege

    ORACLE доступен только пользователю с привелегией DBA

    Причина:Система стартовала в режиме DBA и только
    пользователь с привелегией DBA имеет доступ к ней.

    Действие:Подождите, пока ORACLE перезапустится
    без опции DBA, или получите привелегию DBA.

  • ORA-01036: maximum number of extents per cursor exceeded

    превышено максимальное число расширений на один курсор

    Причина:Число обращений к области курсора превы-
    сило устанавливаемую системой величину.

    Действие:Повторите операцию с большим начальным или
    конечным размером контеста(увеличив параметр
    CONTEXT_SIZE или CONTEXT_INCR в INIT.ORA, и пере-
    запустите ORACLE).

  • ORA-01037: cannot allocate sort work area cursor;too many cursors

    невозможно выделить область для сортировки,много курсоров

    Причина:Превышено максимальное число курсоров для
    программы.

    Действие:Повторите попытку с меньшим числом
    открытых курсоров.

  • ORA-01038: this version of ORACLE is too old to access the database

    старой версии ORACLE не доступна база данных

    Причина:База данных была создана более новой версией
    ORACLE.

    Действие:Запустите корректную версию ORACLE.

  • ORA-01039: this database was created by an obsolete version of ORACLE

    база данных создана старой версией ORACLE

    Причина:База данных слишком старая для данной версии
    ORACLE. Или файл базы данных неверен по другой причине
    (неверный или несуществующий файл, или не был ини-
    циализирован).

    Действие:Перезапустите корректную версию ORACLE,
    или EXPORT данные и затем IMPORT используя верную
    версию. Проверьте все ли сноски на файл базы данных
    верны, что файл существует и инициализирован.

  • ORA-01040: this version of ORACLE does not match the initialized system

    эта версия ORACLE не соответствует инициализированной системе

    Причина:База данных была инициализирована версией
    ORACLE c другим кодом, и база данных не может использо-
    ваться в версии с таким кодом.

    Действие:Или используйте базу данных в версии,
    в которой она была инициализирована или в совместимой
    версии RDBMS. Если вы не можете сделать этого, инициа-
    лизируйте базу данных с соответствующим кодом.

  • ORA-01041: oranet: cannot translate the datatype

    невозможна трансляция типа данных

    ПРИЧИНА:Это сообщение о внутренней ошибке,
    которая не может произойти при нормальной работе.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01042: upilam: osdftu failure

    снята osdftu

    ПРИЧИНА:Это сообщение о внутренней ошибке,
    которая не может произойти при нормальной работе.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01043: csmmap: primary extent has incorrect location or size

    первичное расширение имеет неверный размер или размещение

    Причина:Первичное рассширение или контекстная
    область были неверно переразмечены или их заголовки
    неверны.Это сообщение о внутренней ошибке,
    которая не может произойти при нормальной работе.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01044: csmmap: secondary extent has incorrect location or size

    вторичное расширение имеет неверный размер или размещение

    Причина:Вторичное рассширение или контекстная
    область были неверно переразмечены или их заголовки
    неверны.Это сообщение о внутренней ошибке,
    которая не может произойти при нормальной работе.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01045: csmres: invalid marked context state

    неверное состояние помеченного контекста

    Причина:Сохраненная структура содержит неверный
    контекст.Это сообщение о внутренней ошибке,
    которая не может произойти при нормальной работе.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01046: cannot acquire space to extent context area

    нет возможности выделить место для расширения контекстной области

    Причина:ORACLE более не может расширить область
    т.к. операционная система больше не выделяет места.
    Далее должно следовать более подробное сообщение
    (ошибка, относящаяся к операционной системе).

    Действие:закройте несколько курсоров и повторите
    попытку, или проверьте операционную систему чтобы убе-
    диться что вы имеете достаточно места для расширения.

  • ORA-01047: csmfbv: specified bind variable not in context area

    описанная скомпонованная переменная отсутствует в контекстной области

    Причина:Адрес скомпонованной для этого оператора
    переменной не лежит в диапазоне, перекрываемом кон-
    текстной областью.Это сообщение о внутренней ошибке,
    которая не может произойти при нормальной работе.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01048: csmdbv: not a bind variable area in specified context area

    отсутствует область скомпонованной переменной в
    описанной контекстной области

    Причина:Описанный адрес не относится к допустимой
    области компоновочной переменной.Это сообщение о внут-
    ренней ошибке, которая не может произойти при нормаль-
    ной работе.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01049: csmdbv: specified size is larger than bind variable area

    описанный размер превышает область скомпонованной переменной

    Причина:Размер удаляемой переменной превосходит
    размер ее области.Это сообщение о внутренней ошибке,
    которая не может произойти при нормальной работе.

    Действие:Обратитесь к соответствуюшему наладочному
    обеспечению с подробным описанием проблемы.

  • ORA-01050: can’t acquire space to open context area

    нет возможности получить место для образования контекстной области

    Причина:ORACLE не может образовать новую контест-
    ную область, так как операционная система больше не
    выделяет места.Далее должно следовать более подробное
    сообщение(ошибка, относящаяся к операционной системе).

    Действие:закройте несколько курсоров и повторите
    попытку, или проверьте операционную систему чтобы убе-
    диться что вы имеете достаточно места для расширения.

  • ORA-01051: maximum context area extents exceed

    превышено максимальное число расширений для контестных областей

    Причина:ORACLE более не может расширить контекстную
    область так как он уже содержит максимальное число
    расширений (пятьдесят).

    Действие:Закройте и перезапустите ORACLE с большим
    значением параметра CONTEXT_INCR, который определяет
    размер вторичного расширения для контекстной области.

  • ORA-01053: user storage address cannot be read

    сохраненный пользовательский адрес не может быть прочитанным

    Причина:Область скомпонованной переменной или иная
    пользовательская область не доступны для чтения ORACLE

    Действие:Проверьте правильность компоновки в верном
    пользовательском буфере.

  • ORA-01054: user storage addres cannot be write

    схраняемый пользовательский адрес не может записаться

    Причина:Определяемая переменная(FETCH/SELECT INTO)
    или иная пользовательская область не могут быть запи-
    саны ORACLE.

    Действие:Проверьте правильность описания переменных
    и указателей INTO.

  • ORA-01055: not authorized to execute this special function

    не имеете права выполнять эту спецфункцию

    Причина:Пользователь пытался выполнить спецфункцию
    ORACLE (такую как IOR), но не имеет права делать это.

    Действие:Используйте доступные вам спецфункции,
    или обратитесь к DBA за получением доступа.

  • ORA-01056: csmgrt: not a temporary node in specified context area

    отсутствует временная вершина в описанной контекстной области

    Причина:Произошла внутренняя ошибка во время
    размещения контекстной области.

    Действие:Обратитесь к установочному обеспечению.

  • ORA-01090: access modules are not implemented in this version of ORACLE

    модули не разработаны в данной версии ORACLE

    Причина:Не разработаны эти модули.

    Действие:Не требуется действий пользователя.

  • ORA-01000: Превышено максимальное число открытых курсоров
  • ORA-01001: Неправильный курсор
  • ORA-01002: Выборка вне последовательности
  • ORA-01004: Имя пользователя по умолчанию не не поддерживается; отказ в регистрации
  • ORA-01005: Указан пустой пароль; Отказано в регистрации
  • ORA-01006: Связанная переменная не существует
  • ORA-01007: Переменной нет в выбираемом списке
  • ORA-01008: Не все переменные связанны
  • ORA-01009: Не достает обязательного параметра
  • ORA-01010: Неверная операция OCI
  • ORA-01011: Не могу использовать режим совместимости v7: когда работаю с сервером v6:
  • ORA-01012: Не зарегистрирован
  • ORA-01013: Пользователь требует отмены текущейм операции
  • ORA-01014: Остановка сервера Oracle в процессе
  • ORA-01015: Регистрация вызывается рекурсивно
  • ORA-01016: Эта функция может быть вызвана только поле выборки
  • ORA-01017: Неправильное имя пользователя/пароль; регистрация запрещена
  • ORA-01018: Колонка не имеет тип данных LONG
  • ORA-01019: Невозможно выделить память на стороне пользователя
  • ORA-01020: Неизвестное состояние контекста
  • ORA-01021: Указан неправильный размер контекста.
  • ORA-01022: Операция базы данных не поддерживается в этой конфигурации
  • ORA-01023: Контекст курсора не найден (неверный номер курсора)
  • ORA-01024: Неверный тип данных в вызове OCI
  • ORA-01025: UPI параметр вне диапозона.
  • ORA-01026: Составные буферы размером > 4000 в связном списке
  • ORA-01027: Связанные переменные не разрешены для операций определения данных
  • ORA-01028: Внешняя ошибка вне последней строки, транзакция вернулась
  • ORA-01029: Внешняя ошибка вне последней строки, транзакция вернулась
  • ORA-01030: SELECT…INTO переменная не существует
  • ORA-01031: Недостаточно привелегий
  • ORA-01032: Нет такого идентификатора пользователя
  • ORA-01033: Инициализация Oracle или остановка в работе
  • ORA-01034: Oracle не доступен
  • ORA-01035: Oracle доступен только пользователям с привелегией RESTRICTED SESSION
  • ORA-01036: Недопустимое имя/номер переменной
  • ORA-01037: Максимум памяти выделенной курсорам превышен
  • ORA-01038: Невозможно писать в файл версии [значение] с Oracle версии [значение]
  • ORA-01039: Недостаточно привелегий на просмотр объектов представления
  • ORA-01040: Неверный символ в пароле. Отказано в доступе
  • ORA-01041: Внутреняя ошибка. Расширение не существует
  • ORA-01042: Отсоединение сеанса с открытыми курсорами не позволено.
  • ORA-01043: Память на стороне пользователя повреждена [значение], [значение], [значение], [значение]
  • ORA-01044: Размер [значение] буфера превышает максимум [значение]
  • ORA-01045: Пользователь [значение] нуждается в привелегии CREATE SESSION. Регистрация запрещена
  • ORA-01046: Нет возможности отыскать место для расширения области контекста
  • ORA-01047: Выше ошибка обнаруженная в схеме=[значение], пакет=[значение], процедура=[значение]
  • ORA-01048: Невозможно найти указанную процедуру в полученном контексте
  • ORA-01049: Связывание по имени не поддерживается в потоковом RPC
  • ORA-01050: Нет возможности получить пространство для открытия области контекста
  • ORA-01051: Формат буфера RPC неверный
  • ORA-01052: Запрашиваемое назначение LOG_ARCHIVE_DUPLEX_DEST не указано
  • ORA-01053: Пользовательский адресс памяти не может быть прочитан
  • ORA-01054: Пользовательский адресс памяти не может быть записан
  • ORA-01057: Неправильный или неясный блок.поле фигурирует в пользовательском выходе.
  • ORA-01058: Внутреняя ошибка UPI интерфейса
  • ORA-01059: Ожидается разбор до связывания или выполнения
  • ORA-01060: Связание массива или выполнение не разрешено
  • ORA-01061: Невозможно запустить сервер версии 8: используя клиентское приложение версии 7:
  • ORA-01062: Невозможно выделить память для определения буфера
  • ORA-01070: Используется старая версия Oracle для сервера
  • ORA-01071: Нет возможности выполнить операцию без запуска Oracle
  • ORA-01072: Нет возможности остановить Oracle; Oracle не запущен
  • ORA-01073: Грубая ошибка соединения; нераспознанный тип вызова
  • ORA-01074: Нет возможности остановить Oracle: в процессе регистрации — сначала разрегистрируйтесь
  • ORA-01075: Вы уже зарегистрированы
  • ORA-01076: Коллективные регистрации через процесс еще не поддерживаются
  • ORA-01077: Сбой инициализации фонового процесса
  • ORA-01078: Сбой в посылаемых системных параметрах
  • ORA-01079: База данных Oracle cоздана не надлежащим образом, операция прервана
  • ORA-01080: Ошибка при остановке Oracle
  • ORA-01081: Невозможно запустить Oracle, он уже запущен. Сначала остановите его
  • ORA-01082: ‘row_locking=always’ требует транзакции обрабатываемой опции
  • ORA-01083: Значение параметра [значение] не сопадает со значениями этого параметра на других экземплярах
  • ORA-01084: Неверный аргумент в вызове OCI
  • ORA-01085: Предшествующая ошибка RPC [значение.значение.значение]
  • ORA-01086: Точка [значение] никогда не устанавливалась
  • ORA-01087: Нет возможности запустить Oracle — только что зарегистрировался в системе
  • ORA-01088: Нет возможности остановить Oracle, так как существует активный процесс
  • ORA-01089: В процессе остановка Oracle — никакие операции не разрешены
  • ORA-01090: Остановка в процессе — соединения не разрешены
  • ORA-01091: Сбой во время вынужденного запуска
  • ORA-01092: Экземпляр Oracle остановлен. Вынужденное разъединение.
  • ORA-01093: ALTER DATABASE CLOSE разрешено только когда нет пользоваетльских сеансов.
  • ORA-01094: Выполнение ALTER DATABASE CLOSE в процессе, соединения не разрешены
  • ORA-01095: Предложение DML обработало ноль строк
  • ORA-01096: Версия программы [значение] не совместима с экземпляром [значение]
  • ORA-01097: Невозможно остановить Oracle во время выполнения транзакции подтверждения или отката
  • ORA-01098: Программная ошибка во время вставки данных
  • ORA-01099: Нет возможности монтировать базу данных в режиме SHARED, если запуск был произведен в режиме единственного процесса.

Ошибки процессора языка SQL 1100-1199

  • ORA-01100: База данных уже смонтирована
  • ORA-01101: Созданная база данных уже смонтирована другим экземпляром
  • ORA-01102: Невозможно примонтировать базу данных в режиме EXCLUSIVE
  • ORA-01103: Имя базы данных [значение] не совпадает со значением [значение] в управляющем файле
  • ORA-01104: Количество управляющих файлов [значение] не равно [значение]
  • ORA-01105: Смонтировано с несовместимомтью других экземпляров
  • ORA-01106: База данных должна быть закрыта перед размонтированием
  • ORA-01107: База данных должна быть смонтирована для среды восстановления
  • ORA-01108: Файл [значение] в процессе резервного копирования или восстановления
  • ORA-01109: База данных не открыта
  • ORA-01110: Файл данных [значение]: [значение]
  • ORA-01111: Имя для файла данных [значение] неизвестно — переименуйте
  • ORA-01112: Восстановление не запущено
  • ORA-01113: Файл [значение] требует восстановления
  • ORA-01114: Ошибка ввода-вывода при записи блока в файл [значение] (блок [значение])
  • ORA-01115: Ошибка ввода-вывода при чтении блоков файла [значение] (блок номер [значение], блоков [значение])
  • ORA-01116: Ошибка при открытии файла базы данных [значение]
  • ORA-01117: Добавленный файл [значение] с недопустимым размером блока [значение], предел это [значение]
  • ORA-01118: Нет возможности добавить больше файлов базы данных; предел [значение] превышен
  • ORA-01119: Ошибка при создании файла базы данных [значение]
  • ORA-01120: Нет возможности удалить активный файл базы данных [значение]
  • ORA-01121: Невозможно переименовать файл базы данных [значение] — файл используется или восстанавливается
  • ORA-01122: Файл базы данных [значение] не прошел проверку
  • ORA-01123: Нет возможности запустить активную резервную копию, восстановительный процесс не разрешен
  • ORA-01124: Невозможно восстановить файл данных [значение] — файл используется или восстанавливается
  • ORA-01125: Нет возможности запретить процесс восстановления — файл [значение] имеет активную установку резервной копии
  • ORA-01126: База данных должна быть смонтирована на этом экземпляре и закрыта на других экземплярах
  • ORA-01127: Имя базы данных [значение] превышает максимально допустимое
  • ORA-01128: Невозможно запустить текущую резервную копию — файл [значение] недоступен
  • ORA-01129: Пользовательское табличное простаранство по умолчанию или временное табличное пространство не существует.
  • ORA-01130: Файл базы данных [значение] версия [значение] не совместим с версией Oracle [значение]
  • ORA-01131: Значение системного параметра DB_FILES [значение] слишком велико, максимум [значение]
  • ORA-01132: Длина имени файла базы данных [значение] превышает максимально допустимую длину
  • ORA-01133: Длина имени файла журнала [значение] превышает максимально допустимую длину
  • ORA-01134: База данных смонтирована в режиме EXCLUSIVE другим экземпляром
  • ORA-01135: Файл [значение] доступен для DML/запрос не активен
  • ORA-01136: Указанный размер файла [значение] (блок [значение]) меньше чем размер [значение] блоков
  • ORA-01107: База данных должна быть смонтирована для среды восстановления
  • ORA-01108: Файл [значение] в процессе резервного копирования или восстановления
  • ORA-01109: База данных не открыта
  • ORA-01110: Файл данных [значение]: [значение]
  • ORA-01111: Имя для файла данных [значение] неизвестно — переименуйте
  • ORA-01112: Восстановление не запущено
  • ORA-01113: Файл [значение] требует восстановления
  • ORA-01114: Ошибка ввода-вывода при записи блока в файл [значение] (блок [значение])
  • ORA-01115: Ошибка ввода-вывода при чтении блоков файла [значение] (блок номер [значение], блоков [значение])
  • ORA-01116: Ошибка при открытии файла базы данных [значение]
  • ORA-01117: Добавленный файл [значение] с недопустимым размером блока [значение], предел это [значение]
  • ORA-01118: Нет возможности добавить больше файлов базы данных; предел [значение] превышен
  • ORA-01119: Ошибка при создании файла базы данных [значение]
  • ORA-01120: Нет возможности удалить активный файл базы данных [значение]
  • ORA-01121: Невозможно переименовать файл базы данных [значение] — файл используется или восстанавливается
  • ORA-01122: Файл базы данных [значение] не прошел проверку
  • ORA-01123: Нет возможности запустить активную резервную копию, восстановительный процесс не разрешен
  • ORA-01124: Невозможно восстановить файл данных [значение] — файл используется или восстанавливается
  • ORA-01125: Нет возможности запретить процесс восстановления — файл [значение] имеет активную установку резервной копии
  • ORA-01126: База данных должна быть смонтирована на этом экземпляре и закрыта на других экземплярах
  • ORA-01127: Имя базы данных [значение] превышает максимально допустимое
  • ORA-01128: Невозможно запустить текущую резервную копию — файл [значение] недоступен
  • ORA-01129: Пользовательское табличное простаранство по умолчанию или временное табличное пространство не существует.
  • ORA-01130: Файл базы данных [значение] версия [значение] не совместим с версией Oracle [значение]
  • ORA-01131: Значение системного параметра DB_FILES [значение] слишком велико, максимум [значение]
  • ORA-01132: Длина имени файла базы данных [значение] превышает максимально допустимую длину
  • ORA-01133: Длина имени файла журнала [значение] превышает максимально допустимую длину
  • ORA-01134: База данных смонтирована в режиме EXCLUSIVE другим экземпляром
  • ORA-01135: Файл [значение] доступен для DML/запрос не активен
  • ORA-01136: Указанный размер файла [значение] (блок [значение]) меньше чем размер [значение] блоков
  • ORA-01107: База данных должна быть смонтирована для среды восстановления
  • ORA-01108: Файл [значение] в процессе резервного копирования или восстановления
  • ORA-01109: База данных не открыта
  • ORA-01110: Файл данных [значение]: [значение]
  • ORA-01111: Имя для файла данных [значение] неизвестно — переименуйте
  • ORA-01112: Восстановление не запущено
  • ORA-01113: Файл [значение] требует восстановления
  • ORA-01114: Ошибка ввода-вывода при записи блока в файл [значение] (блок [значение])
  • ORA-01115: Ошибка ввода-вывода при чтении блоков файла [значение] (блок номер [значение], блоков [значение])
  • ORA-01116: Ошибка при открытии файла базы данных [значение]
  • ORA-01117: Добавленный файл [значение] с недопустимым размером блока [значение], предел это [значение]
  • ORA-01118: Нет возможности добавить больше файлов базы данных; предел [значение] превышен
  • ORA-01119: Ошибка при создании файла базы данных [значение]
  • ORA-01120: Нет возможности удалить активный файл базы данных [значение]
  • ORA-01121: Невозможно переименовать файл базы данных [значение] — файл используется или восстанавливается
  • ORA-01122: Файл базы данных [значение] не прошел проверку
  • ORA-01123: Нет возможности запустить активную резервную копию, восстановительный процесс не разрешен
  • ORA-01124: Невозможно восстановить файл данных [значение] — файл используется или восстанавливается
  • ORA-01125: Нет возможности запретить процесс восстановления — файл [значение] имеет активную установку резервной копии
  • ORA-01126: База данных должна быть смонтирована на этом экземпляре и закрыта на других экземплярах
  • ORA-01127: Имя базы данных [значение] превышает максимально допустимое
  • ORA-01128: Невозможно запустить текущую резервную копию — файл [значение] недоступен
  • ORA-01129: Пользовательское табличное простаранство по умолчанию или временное табличное пространство не существует.
  • ORA-01130: Файл базы данных [значение] версия [значение] не совместим с версией Oracle [значение]
  • ORA-01131: Значение системного параметра DB_FILES [значение] слишком велико, максимум [значение]
  • ORA-01132: Длина имени файла базы данных [значение] превышает максимально допустимую длину
  • ORA-01133: Длина имени файла журнала [значение] превышает максимально допустимую длину
  • ORA-01134: База данных смонтирована в режиме EXCLUSIVE другим экземпляром
  • ORA-01135: Файл [значение] доступен для DML/запрос не активен
  • ORA-01136: Указанный размер файла [значение] (блок [значение]) меньше чем размер [значение] блоков
  • ORA-01137: Файл данных [значение] в процессе перехода в недоступное состояние
  • ORA-01138: База данных должна быть открыта на этом экземпляре или не на одном
  • ORA-01139: RESETLOG опция верна только после неудачного восстановления базы данных
  • ORA-01140: Нет возможности завершить активное резервное копирование — все файлы не активны или только для чтения
  • ORA-01141: Ошибка переименования файла данных
  • ORA-01142: Нет возможности завершить активное резервное копирование — нет ни одного из файлов требующих резервное копирование
  • ORA-01143: Нет возможности запретить процесс восстановления — файл [значение] не активен
  • ORA-01144: Размер файла [значение] блоков превышает максимум [значение] блоков
  • ORA-01145: Разактивизация немедленно запрещается пока восстановление разрешается
  • ORA-01146: Нет возможности начать активное резервное копирование — файл [значение] уже копируется
  • ORA-01147: Файл [значение] табличного пространства SYSTEM неактивен
  • ORA-01148: Нет возможности смонтировать базу данных в режиме PARALLEL без установки Менеджера Блокировок
  • ORA-01149: Нет возможности остановить базу данных — файл [значение] имеет активную установку резервного копировния
  • ORA-01150: Нет возможности предотвратить запись — файл [значение] имеет активную установку резервного копировния
  • ORA-01151: Используйте ручное восстановление для восстановления блока, требуется резервная копия
  • ORA-01152: Файл [значение] не был восстановлен из достаточно старой резервной копией
  • ORA-01153: Несовместимое восстановление акстивно
  • ORA-01154: База данных занята.Открытие, закрытие, монтирование и размонтирование сейчас не разрешено
  • ORA-01155: База данных уже открыта, закрыта, смонтирована или размонтирована
  • ORA-01156: Восстановление в процессе, может понадобится доступ к файлам
  • ORA-01157: Нет возможности идентифицировать/заблокировать файл [значение] — смотри файл отладки DBWR
  • ORA-01158: База данных [значение] уже смонтирована
  • ORA-01159: Файл не от той же базы данных как предыдущие файлы — неверный идентификатор базы данных
  • ORA-01160: Файл не [значение]
  • ORA-01161: Имя базы данных [значение] в заголовке файла не совпадает с полученным именем [значение]
  • ORA-01162: Размер блока [значение] в заголовке файла не сопадает с установленным размером блока
  • ORA-01163: Пункт SIZE показывает [значение] (блоков), но должно совпадать с [значение]
  • ORA-01164: MAXLOGFILES может не превышать [значение]
  • ORA-01165: MAXDATAFILES может не превышать [значение]
  • ORA-01166: Номер файла [значение] больше чем значение [значение]
  • ORA-01167: Два файла с идинаковым номером файла/группы или одинаковые файлы
  • ORA-01168: Физический размер блока [значение] не совпадает с размером [значение] других членов
  • ORA-01169: Файл данных номер 1: не найден. Должен существовать.
  • ORA-01170: Файл не найден [значение]
  • ORA-01171: Файл данных [значение] перешел в неактивное состояние
  • ORA-01172: Восстановление потока [значение] застряло на блоке [значение] файла [значение]
  • ORA-01173: Словарь данных показывает поврежденные файлы данных из системного табличного пространства.
  • ORA-01174: DB_FILES [значение] но требуется [значение] для совместимости
  • ORA-01175: Словарь данных содержит более чем [значение] файлов разрешенных экземпляром.
  • ORA-01176: Словарь данных содержит более чем [значение] файлов разрешенных управляющим файлом
  • ORA-01177: Файл данных не совпадает со словарем — возможно старая версия
  • ORA-01178: Файл [значение] создан до последнего CREATE CONTROLFILE, невозможно пересоздать
  • ORA-01179: Файл [значение] не существует
  • ORA-01180: Немогу создать файл данных номер 1:
  • ORA-01181: Файл [значение] создан до последнего известного RESETLOGS, невмогу пересоздать
  • ORA-01182: Немогу создать файл базы данных [значение] файл используется или восстанавливается
  • ORA-01183: Немогу смонтировать базу данных в режиме SHARED
  • ORA-01184: Группа журнальных файлов [значение] уже существует
  • ORA-01185: Группа журнальных файлов [значение] некорректна
  • ORA-01186: Файл [значение] не прошел верификационный тест
  • ORA-01187: Немогу читать из файла [значение], потому что он не прошел верификационный тест
  • ORA-01188: Размер блока [значение] в заголовке не совпадает с физическим размером блока [значение]
  • ORA-01189: Файл из другого RESETLOGS чем предыдущие файлы
  • ORA-01190: Управляющий файл или файл данных [значение] более ранний, чем последний RESETLOGS
  • ORA-01191: Файл [значение] уже в режиме offlinr — не могу перевести в Offline
  • ORA-01192: Должен быть как минимум один активный поток
  • ORA-01193: Файл [значение] не тот же самый файл, что указан ри старте восстановления
  • ORA-01194: Файл [значение] требует восстановления для целостности
  • ORA-01195: Online резервная копия файла [значение] требует больше логов для целостности
  • ORA-01196: Файл [Значение] несовместим с неудачным сеансом восстановления
  • ORA-01197: Поток [значение] содержит только один журнал
  • ORA-01198: Требуется указать размер для журнального файла если используете RESETLOGS
  • ORA-01199: Файл [значение] не в режиме online резервного копирования

Ошибки строк процессора языка SQL 1200-1299

  • ORA-01200: Актуальный размер файла [значение] меньше чем корректный размер блоков [значение]
  • ORA-01201: Провалена корректная запись заголовка файла [значение]
  • ORA-01202: Неверное восстановление этого файла — неверное время создания
  • ORA-01203: Неверное восстановление этого файла — неверный SCN
  • ORA-01204: Номер файла [значение] предпочтительнее чем [значение] — неверный файл
  • ORA-01205: Не файл данных — номер типа в заголовке [значение]
  • ORA-01206: Файл не часть этой базы данных — неверный ID базы данных
  • ORA-01207: Файл новее чем управляющий файл — старый управляющий файл
  • ORA-01208: Файл данных старой версии — текущая версия не доступна
  • ORA-01209: Файл данных с версии раньше чем последнее RESETLOGS
  • ORA-01210: Заголовок файла данных поврежден
  • ORA-01211: Файл данных Oracle7: не из миграции на Oracle8:
  • ORA-01212: MAXLOGMEMBERS не может превышать [значение]
  • ORA-01213: MAXINSTANCES не может превышать [значение]
  • ORA-01214: MAXLOGHISTORY не может превышать [значение]
  • ORA-01215: Разрешенный поток [значение] пропущен после CREATE CONTROLFILE
  • ORA-01216: Ожидается что поток [значение] будет запрещен после CREATE CONTROLFILE
  • ORA-01217: Журнальный файл принадлежит другой журнальной группе
  • ORA-01218: Журнальный файл не из одной временной точки
  • ORA-01219: База данных не открыта: запросы позволены толко на фиксированных таблицах/представлениях
  • ORA-01220: Файл основанный на сортировке неверен перед тем как база данных открыта
  • ORA-01221: Файл данных [значение] не тот же файл что для фонового процесса
  • ORA-01222: MAXINSTANCES [значение] требует что бы MAXLOGFILES был минимум [значение], не [значение]
  • ORA-01223: RESETLOGS должен быть уточнен для установки нового имени базы данных
  • ORA-01224: Номер группы в заголовке [значение] не совпадает с GROUP [значение]
  • ORA-01225: Номер потока [значение] больше чем MAXINSTANCES [значение]
  • ORA-01226: Заголовок файла члена журнала несовпадает с другими членами
  • ORA-01227: Журнал [значение] несовпадает с другими журналами
  • ORA-01228: Опция SET DATABASE требует установки ядра базы данных
  • ORA-01229: Файл данных [значение] несовместим с журналами
  • ORA-01230: Не могу сделать «только для чтения» — файл [значение] в offline
  • ORA-01231: Не могу сделать «чтение-запись» — файл [значение] в offline
  • ORA-01232: Не могу запустить резервное копирование online — файл [значение] в режиме «Только для чтения»
  • ORA-01233: Файл [значение] только для чтения — не могу восстановить используя резервную копию управляющего файла
  • ORA-01234: Не могу завершить резервное копирование файла [значение] — файл используется или восстанавливается
  • ORA-01235: END BACKUP провален для [значение] файла(ов) и успешен для [значение]
  • ORA-01236: Во время инициализации доступа к заголовку файла обнаружена ошибка [значение]
  • ORA-01237: Не могу увеличить файл данных [значение]
  • ORA-01238: Не могу обрезать файл данных [значение]
  • ORA-01239: База данных должна быть в режиме ARCHIVELOG для использования внешнего кеша
  • ORA-01240: Слишком много файлов данных для добавления в одной команде
  • ORA-01241: Внешний кэш прекратил свое существование
  • ORA-01242: Метод допуска к файлу данных провален: база данных в режиме NOARCHIVELOG
  • ORA-01243: Доступ к файлу системного табличного пространства провален
  • ORA-01244: Безымянный файл(ы) данных добавлен в управляющий файл процедурой восстановления
  • ORA-01245: Файл [значение] находящийся offline будет потерян при выполнении RESETLOGS
  • ORA-01246: Восстановление файлов через TSPITR табличного пространства [значение]
  • ORA-01247: Восстановление базы данных через TSPITR табличного пространства [значение]
  • ORA-01248: Файл [значение] был создан в будущем незаконченного восстановления
  • ORA-01249: Архивирование не позволено в клонированной базе данных
  • ORA-01250: Обнаружена ошибка [значение] во время прекращения доступа к заголовку файла
  • ORA-01251: Прочитана неизвестная версия заголовка файла для файла номер [значение]
  • ORA-01252: Не могу предотвратить запись — файл [значение] резервно копируется менеджером восстановления
  • ORA-01253: Не могу запустить online резервное копирование — файл [значение] резервно копируется менеджером восстановления
  • ORA-01254: Не могу завершить online резервное копирование — файл [значение] резервно копируется менеджером восстановления
  • ORA-01255: Не могу отключить — файл [значение] резервно копируется менеджером восстановления
  • ORA-01256: Ошибка в заблокированном файле [значение] базы данных
  • ORA-01257: Не могу повторно использовать файл [значение], неизвестный размер файла
  • ORA-01258: Невозможно удалить временный файл [значение]
  • ORA-01259: Невозможно удалить файл данных [значение]
  • ORA-01260: Внимание: END BACKUP успешен, но некоторые найденные файлы не в режиме резервного копирования
  • ORA-01261: Параметр [значение] назначение [значение] не может быть переведен
  • ORA-01262: Провалена статистика по целевой файловой директории
  • ORA-01263: Имя полученно для целевой файловой директории неверно
  • ORA-01264: Невозможно создать имя файла [значение]
  • ORA-01265: Невозможно удалить [значение] [значение]
  • ORA-01266: Невозможно создать уникальное имя файла
  • ORA-01267: Провалено получение даты/времени
  • ORA-01268: Неверное предложение TEMPFILE для изменения постоянного TABLESPACE
  • ORA-01269: Целевой параметр [значение] слишком длинный
  • ORA-01270: [значение] операция не разрешена, если STANDBY_PRESERVES_NAMES равно true
  • ORA-01271: Невозможно создать новое имя файла для файла [значение]
  • ORA-01272: REUSE позволено только когда указано имя файла
  • ORA-01273: STANDBY_FILE_MANAGEMENT = AUTO требует COMPATIBLE = [значение] или выше
  • ORA-01274: Не могу добавить файл данных [значение] — файл не может быть создан
  • ORA-01275: Операция [значение] не позволена если включено автоматическое управление файлами
  • ORA-01276: Не могу добавить файл [значение]. Файл имеет имя предоставленное Oracle
  • ORA-01277: Файл [Значение] уже существует
  • ORA-01278: Ошибка создания файла [значение]
  • ORA-01279: Значение db_files слишком велико
  • ORA-01280: Фатальная ошибка LogMiner
  • ORA-01281: Указанный диапазон SCN неверен
  • ORA-01282: Указанный диапазон дат не верен
  • ORA-01283: Указанная опция не верна
  • ORA-01284: Файл [значение] не может быть открыт
  • ORA-01285: Ошибка чтения файла [значение]
  • ORA-01286: Требуется начальный интервал
  • ORA-01287: файл [значение] из другой восстановленной базы данных.
  • ORA-01288: Файл [значение] из другой восстановленной базы данных.
  • ORA-01289: Не могу добавить копию журнального файла [значение]
  • ORA-01290: Не могу удалить журнальный файл [значение] не из списка
  • ORA-01291: Пропущенный журнальный файл
  • ORA-01292: Не указано журнальных файлов для текущего сеанса LogMiner
  • ORA-01293: Смонтированная база данных требуется для указанной опции LogMiner
  • ORA-01294: Обнаружена ошибка во время обработки информации в словарном файле [значение], возможно повреждение
  • ORA-01295: DB_ID не совпадает между словарем [значение] и журнальными файлами
  • ORA-01296: Кодировка не совпадает между словарем [значение] и журнальными файлами
  • ORA-01297: Версия журнала повторного выполнения не совпадает между словарем [значение] и журнальными файлами
  • ORA-01298: Конфликтующие опции словаря
  • ORA-01299: Словарь [значение] соотвествует различным восстановленным базам данных

SQL-анализ непредвиденных обстоятельств 1300-1399

  • ORA-01300: Для указанных опций LogMiner требуется база открытая на запись
  • ORA-01301: Ошибка записи в файл во время построения плоского файла
  • ORA-01302: Опция построения словаря пропущена или неверна
  • ORA-01303: Ошибка зависимого процесса: [значение]. Проверьте журнал отладки и журнал ошибок
  • ORA-01304: Ошибка зависимого процесса. Проверьте журнал отладки и журнал ошибок
  • ORA-01305: Столбец [значение], указанный в файле logmnr.opt, не существует в таблице [значение], схема [значение]
  • ORA-01306: dbms_logmnr.start_logmnr() должен быть запущен перед выборкой из v$logmnr_contents
  • ORA-01307: Нет активных сессий LogMiner
  • ORA-01308: Инициализационный параметр utl_file_dir не установлен
  • ORA-01309: Неверный сеанс
  • ORA-01310: Запрашиваемый возвращаемый тип не поддерживается функцией lcr_mine
  • ORA-01311: Неверный вызов функции mine_value
  • ORA-01312: Указанная таблица/колонка не существует
  • ORA-01313: Тип колонки в словаре LogMiner отличается от указанного типа
  • ORA-01314: Имя колонки должно быть [значение] букв
  • ORA-01315: Журнальный файл был добавлен или удален во время выборки
  • ORA-01316: Уже присоединен к сеансу Logminer
  • ORA-01317: Не присоединен к сеансу Logminer
  • ORA-01318: Сеанс Logminer не запущен
  • ORA-01319: Неверный аттрибут сеанса Logminer
  • ORA-01320: Неверный аттрибут словаря Logminer
  • ORA-01321: Диапазон SCN не полностью включен в перечисленных журнальных файлах
  • ORA-01322: Нет такой таблицы
  • ORA-01323: Неверное состояние
  • ORA-01324: Не могу добавить файл [значение] с таким же DB_ID
  • ORA-01325: Режим ARCHIVELOG должен быть активирован для построения в поток
  • ORA-01326: Для записи в поток требуется уровень совместимости 9.0 и выше
  • ORA-01327: Провалено уникальное блокирование системного словаря как требуется сборкой
  • ORA-01328: Только одна операция построения может выполнятся в момент времени
  • ORA-01329: Невозможно обрезать требуемую таблицу
  • ORA-01332: Внутреняя ошибка словаря Logminer
  • ORA-01336: Указанный файл словаря не может быть открыт
  • ORA-01337: Журнальный файл имеет отличную версию совместимости
  • ORA-01338: Другой процесс присоединен к сеансу LogMiner
  • ORA-01339: Журнальный файл устарел
  • ORA-01340: Ошибка NLS
  • ORA-01341: Нехватка памяти LogMiner
  • ORA-01342: LogMiner не может возобновить сеанс из за невозможности установить контрольные данные
  • ORA-01344: Координатор LogMiner уже присоединен
  • ORA-01345: Дополнительные журнальные данные должны быть разрешены для записи в поток
  • ORA-01346: Зависимые сеансы LogMiner полагаются на сущесуществование дополнительных журнальных данных
  • ORA-01347: Дополнительные журнальные данные не найдены в течение длительного времени
  • ORA-01350: Должно быть указано имя табличного пространства
  • ORA-01351: Табличное пространство указанное для словаря LogMiner не существует
  • ORA-01352: Табличное пространство указанное для сброса LogMiner не существует
  • ORA-01353: Существующий сеанс LogMiner
  • ORA-01356: Найден активный сеанс LogMiner
  • ORA-01370: Указанный перезапуск SCN устарел
  • ORA-01371: Завершенный словарь LogMiner не найден
  • ORA-01372: Недостаточно процессов для указанной операции LogMiner
  • ORA-01373: Недостаточно памяти для установления постоянного сеанса LogMiner
  • ORA-01374: Значение параметра _log_parallelism_max больше 1: не поддерживается этой версией

Ошибки работы SQL 1400-1499

  • ORA-01400: Не могу вставить NULL в ‘значение’
  • ORA-01401: Вставленное значение слишком велико для столбца
  • ORA-01402: Нарушение предложения WHERE в представлении с WITH CHECK OPTION
  • ORA-01403: Данные не найдены
  • ORA-01404: ALTER COLUMN сделает индекс большим
  • ORA-01405: Возвращенное значение колонки NULL
  • ORA-01406: Значение колонки было усечено
  • ORA-01407: Не могу обновить [значение] в NULL
  • ORA-01408: Такой список колонок уже индексирован
  • ORA-01409: Опция NOSORT может не использоваться; строки не отсорированы в порядке по возрастанию
  • ORA-01410: Неверный ROWID
  • ORA-01411: Не могу сохранить длину колонки в индикаторе
  • ORA-01412: Нулевая длина не позволена для этого типа данных
  • ORA-01413: Недопустимое значение в упакованном буфере десятичных чисел
  • ORA-01414: Обнаружена неверная длина массива при попытке связывания
  • ORA-01415: Слишком много функций группировки
  • ORA-01416: Две таблицы не могут быть внешними — соединенными с каждой другой
  • ORA-01417: Более чем одна таблица с (+) в логическом условии внешнего соединения
  • ORA-01418: Указанный индекс не существует
  • ORA-01419: datdts: недопустимый форматный код
  • ORA-01420: datstd: недопустимый форматный код
  • ORA-01421: datrnd/dattrn: неверная точность спецификатора
  • ORA-01422: Количество строк в выборке больше чем запрошенное
  • ORA-01423: Обнаружена ошибка при проверке дополнительных строк в выборке
  • ORA-01424: Пропущенный или недопустимый символ сразу за символом перехода
  • ORA-01425: Специальный символ не является строкой с длинной равной 1:
  • ORA-01426: Числовое переполнение
  • ORA-01427: Подзапрос к единственной строке возвращает более чем одну строку
  • ORA-01428: Аргумент [значение] за пределами диапазона
  • ORA-01429: Index-Organized Table: нет сегмента данных для хранения строк
  • ORA-01430: Добавляемая колонка уже существует в таблице
  • ORA-01431: Внутренняя несовместимость в команде GRANT
  • ORA-01432: Общий синоним который требуется удалить не существует
  • ORA-01433: Создаваемый синоним уже определен
  • ORA-01434: Удаляемый синоним не существует
  • ORA-01435: Пользователь не существует
  • ORA-01436: CONNECT BY зацикливается в пользовательских данных
  • ORA-01437: Нет возможности выполнить CONNECT BY
  • ORA-01438: Значение больше указанной точность для этой колонки
  • ORA-01439: Изменяемая колонка должнв быть пустой для смены типа данных
  • ORA-01440: Изменяемая колонка должна быть пуста для уменьшения точности или масштабирования
  • ORA-01441: Не могу уменьшить длину колонки, потому что некоторые значения слишком большие
  • ORA-01442: Колонка изменяемая на NOT NULL уже NOT NULL
  • ORA-01443: Внутренняя противоречивость; недопустимый тип данных в результирующей колонке представления
  • ORA-01444: Внутренняя противоречивость: внутренний тип данных отображается на неправильный внешний тип
  • ORA-01445: Не могу выбрать ROWID из объединенного представления без ключевой таблицы
  • ORA-01446: Нет возможности выбрать ROWID из представления с DISTINCT, GROUP BY и т.д.
  • ORA-01447: ALTER TABLE не действует на кластеризованных колонках
  • ORA-01448: Индекс должен быть удален перед изменением желаемого типа
  • ORA-01449: Колонка содержащая NULL значения, не может быть изменена на NOT NULL
  • ORA-01450: Превышена максимальная длина ключа [значение]
  • ORA-01451: Колонка которая должна быть изменена на NULL не может быть изменена на NULL
  • ORA-01452: Не могу выполнить CREATE UNIQUE INDEX, найдены двойные ключи
  • ORA-01453: SET TRANSACTION должен быть первым оператором транзакции
  • ORA-01454: Нет возможности перевести колонку в числовой тип данных
  • ORA-01455: Конвертируемая колонка переполняет целый тип данных
  • ORA-01456: Операция вставки, удаления или изменения может не выполняться внутри транзакции которая READ ONLY
  • ORA-01457: Конвертируемая колонка переполняет десятичный тип данных
  • ORA-01458: Неправильная длина внутри строки символьной записи переменной
  • ORA-01459: Неправильная длина для строки символьной переменной
  • ORA-01460: Запрошено нереализуемое или необдуманное преобразование
  • ORA-01461: Нет возможности связать LONG значение, только для включения в LONG колонку
  • ORA-01462: Нет возможности вставить строки больше 225: символов
  • ORA-01463: Не могу изменить тип данных колнки с текущим ограничением
  • ORA-01464: Циклическое присвоение привелегий на таблицы или представления
  • ORA-01465: Неправильный шестнадцатиричный номер
  • ORA-01466: Невозможно прочитать данные — определение таблицы изменено
  • ORA-01467: Ключ сортировки слишком длинный
  • ORA-01468: Предикат может ссылаться только на одну внешне-объединенную таблицу
  • ORA-01469: PRIOR может только следовать после имени колонки
  • ORA-01470: Операции по списку не поддерживают смешанные операции
  • ORA-01471: Не могу создать синоним с тем же именем, что и объект
  • ORA-01472: Нет возможности использовать СONNECT BY на обзоре с DISTINCT, GROUP BY и т.д.
  • ORA-01473: В предложении CONNECT BY не разрешено иметь подзапросы
  • ORA-01474: Нельзя указать START WITH или PRIOR без CONNECT BY
  • ORA-01475: Вы должны сделать снова грамматический разбор курсора для изменения типа данных связанной переменной
  • ORA-01476: Делитель равен нулю
  • ORA-01477: Дискриптор области пользовательских данных слишком велик
  • ORA-01478: Массив не может включать любые LONG колонки.
  • ORA-01479: Последний символ в буфере не NULL
  • ORA-01480: Конечные пустые указатели пропущены из STR связанного значения
  • ORA-01481: Неверный номер формата модели
  • ORA-01482: Неподдерживаемая кодировка
  • ORA-01484: Массивы могут быть ограничены только PL/SQL предложениями
  • ORA-01485: Длина собранной связанной переменной отличается от исполняемой
  • ORA-01486: Размер элемента массива слишком большой
  • ORA-01487: Упакованное десятичное число слишком большое для предоставленного буфера
  • ORA-01488: Неверная часть числа или байт во входных данных
  • ORA-01489: Результат склеивания строк слишком большой
  • ORA-01490: Неверная команда ANALYZE
  • ORA-01491: Не верная опция CASCADE
  • ORA-01492: Не верная опция LIST
  • ORA-01493: Указан неверный размер SAMPLE
  • ORA-01494: Указано неверное значение SIZE
  • ORA-01495: Указанная последовательность строк таблицы не найдена
  • ORA-01496: Указанное представление строк таблицы некорректно
  • ORA-01497: Неверная опция для ANALYZE CLUSTER
  • ORA-01498: Проверка блока провалена — смотрите файл отладки
  • ORA-01499: Таблица/индекс провалена перекрестная ссылка — смотрите файл отладки

Ошибки управления доступом к таблицам 1500-1599

  • ORA-01500: Провалено получение даты/времени
  • ORA-01501: Провалено выполнение CREATE DATABASE
  • ORA-01502: Индекс [значение.значение] или часть индекса в неиспользуемом состоянии
  • ORA-01503: Провалено выполнение CREATE CONTROLFILE
  • ORA-01504: Имя базы данных [значение] не совпадает со значением параметра db_name [значение]
  • ORA-01505: Ошибка при добавлении журнальных файлов
  • ORA-01506: Пропущено или недопустимое имя базы данных.
  • ORA-01507: База данных не смонтирована
  • ORA-01508: Не могу создать базу данных; ошибка в файле [значение] в строке [значение]
  • ORA-01509: Указанное имя [значение] не совпадает с текущим [значение]
  • ORA-01510: Ошибка в удалении журнальных файлов
  • ORA-01511: Ошибка при переименовании журнальных файлов или файлов данных
  • ORA-01512: Ошибка переименования журнального файла [значение] — новый файл [значение] не найден
  • ORA-01513: Неверное текущее время возвращено операционной системой
  • ORA-01514: Ошибка в спецификации журнала: нет такого журнала
  • ORA-01515: Ошибка во время удаления журнальной группы [значение]: нет такого журнала
  • ORA-01516: Несуществующий журнальный файл, файл данных или временный файл [значение]
  • ORA-01517: Журнал: [значение]
  • ORA-01518: Предложение CREATE DATABASE должно указывать более одного журнального файла
  • ORA-01519: Ошибка при обработке файла [значение] у линии [значение]
  • ORA-01520: Количество файлов данных для добавления [значение] превышает ограничение [значение]
  • ORA-01521: Ошибка в добавлении файлов данных
  • ORA-01522: Файл для переименования [значение] не существует
  • ORA-01523: Не могу переименовать файл данных в [значение] — файл уже часть базы данных
  • ORA-01524: Не могу создать файл данных [значение] — файл уже часть базы данных
  • ORA-01525: Ошибка в переименовании файлов данных
  • ORA-01526: Ошибка в открытии файла [значение]
  • ORA-01527: Ошибка во время чтения файла
  • ORA-01528: EOF во время обработки предложения SQL
  • ORA-01529: Ошибка закрытия файла [значение]
  • ORA-01530: База данных уже смонтирована экземпляром
  • ORA-01531: База данных уже открыта экземпляром
  • ORA-01532: Не получается создать базу данных; экземпляр запущен в другом месте
  • ORA-01533: Не могу переименовать файл [значение]; файл не принадлежит табличному пространству
  • ORA-01534: Сегмент отката [значение] не существует
  • ORA-01535: Сегмент отката [значение] уже существует
  • ORA-01536: Превышено ограничение на дисковое пространство для табличного пространства [значение]
  • ORA-01537: Не могу добавить файл данных [значение] — файл уже является частью базы данных
  • ORA-01538: Провален запрос любого сегмента отката
  • ORA-01539: Табличное пространство [значение] не включено
  • ORA-01540: Табличное пространство [значение] не в offline
  • ORA-01541: Системное табличное простанство не может перейти в offline; погасите если необходимо
  • ORA-01542: Табличное пространство [значение] в offline, нельзя выделить пространство в нем
  • ORA-01543: Табличное пространство [значение] уже существует
  • ORA-01544: Нельзя удалить системный сегмент отката
  • ORA-01545: Указанный сегмент отката [значение] не доступен
  • ORA-01546: Табличное пространство содержит активный сегмент отката [значение]
  • ORA-01547: Предупреждение: RECOVER завершено успешно, но OPEN RESETLOGS вернул ошибку
  • ORA-01548: Найден активный сегмент отката [значение], прекращено удаление табличного пространства
  • ORA-01549: Табличное пространство не пусто, используйте опцию INCLUDING CONTENTS
  • ORA-01550: Не могу удалить системное табличное пространство
  • ORA-01551: Расширенный сегмент отката, освобождает закрепленные блоки
  • ORA-01552: Не могу использовать системный сегмент отката для не системного табличного пространства [значение]
  • ORA-01553: MAXEXTENTS должен быть не менее чем выделенные экстенты
  • ORA-01554: Вне участка транзакции в таблицах транзакции
  • ORA-01555: Снимок системы устарел: сегмент отката номер [значение] с именем [значение] слишком мал
  • ORA-01556: MINEXTENTS для сегмента отката должен быть больше 1:
  • ORA-01557: Экстенты сегмента отката должны быть не меньше [значение] блоков
  • ORA-01558: Вне ID транзакции в сегменте отката [значение]
  • ORA-01559: MAXEXTENTS для сегмента отката должен быть больше 1:
  • ORA-01560: Шаблон LIKE содержит часть или недопустимый символ
  • ORA-01561: Провалено удаление всех объектов в указанном табличном пространстве
  • ORA-01562: Провалено увеличение сегмента отката номер [значение]
  • ORA-01563: Сегмент отката PUBLIC, необходимо использовать ключевое слово PUBLIC
  • ORA-01564: Сегмент отката не является общим
  • ORA-01565: Ошибка при идентификации файла [значение]
  • ORA-01566: Файл указан более одного раза в предложении DROP LOGFILE
  • ORA-01567: Удаление журнала [значение] приведет к наличию менее 2: журнальных файлов для экземпляра [значение] (потока [значение])
  • ORA-01568: Не могу установить квоту на дисковое пространство для PUBLIC
  • ORA-01569: Файл данных слишком мал для таблиц системного словаря
  • ORA-01570: MINEXTENTS должен быть не более чем [значение] уже выделенных экстентов
  • ORA-01571: Журнал повторного исполнения версии [значение] несовместим с Oracle версии [значение]
  • ORA-01572: Сегмент отката [значение] не может быть переведен в offline, [значение] экстентов превышено
  • ORA-01573: Погасите экземпляр, никаких дальнейших изменений не позволено
  • ORA-01574: Превышено максимальное количество паралельных транзакций
  • ORA-01575: Истекло время ожидания для управления ресурсами протсранства
  • ORA-01576: Экземпляр [значение] не активен
  • ORA-01577: Нельзя добавить журнальный файл [значение] — файл уже часть базы данных
  • ORA-01578: Блок данных Oracle поврежден (файл [значение], блок [значение])
  • ORA-01579: Во время восстановления обнаружена ошибка записи
  • ORA-01580: Ошибка создания резервнйо копии управляющего файла [значение]
  • ORA-01581: Попытка использовать сегмент отката [значение] новый экстент [значение] который уже был выделен
  • ORA-01582: Невозможно открыть управляющий файл для резервного копирования
  • ORA-01583: Невозможно получить размер блока управляющего файла который предполагается резервировать
  • ORA-01584: Невозможно получить размер управляющего файла который предполагается резервировать
  • ORA-01585: Ошибка идентификации резервной копии [значение]
  • ORA-01586: База данных должна быть смонтирована в режиме EXCLUSIVE и не открыта для выполнения этой операции
  • ORA-01587: Ошибка во время резервного копирования управляющего файла
  • ORA-01588: Необходимо использовать опцию RESETLOGS для открытия базы данных
  • ORA-01589: Для открытия базы данных должна быть опция RESETLOGS или NORESETLOGS
  • ORA-01590: Количество свободных сегментов в списке [значение] превышает максимум [значение]
  • ORA-01591: Блокировку держит неверно распределенная транзакция [значение]
  • ORA-01592: Ошибка преобразования сегмента отката [значение] версии 7: в формат версии 8:
  • ORA-01593: Оптимальный размер сегмента отката ([значение] блоков) меньше чем полученный начальный размер ([значение] блоков)
  • ORA-01594: Попытка поместить в сегмент отката [значение] экстент [значение] который был освобожден
  • ORA-01595: Ошибка освобождения экстента [значение] сегмента отката [значение]
  • ORA-01596: Не получается идентифицировать систему в параметре [значение]
  • ORA-01597: Не могу изменить систему, сегмент отката активен или в автономном режиме
  • ORA-01598: Сегмент отката [значение] не активен
  • ORA-01599: Провалено получение сегмента отката [значение], кэш полон

Ошибки ORA-01600 — ORA-01699

  • ORA-01600: Более одного [значение] в предложении [значение]
  • ORA-01601: Недопустимый размер участка памяти в предложении [значение][значение]
  • ORA-01603: Недопустимый размер группировки в предложении [значение][значение]
  • ORA-01604: Недопустимый диапазон в предложении [значение][значение]
  • ORA-01605: Пропущены числа в предложении [значение][значение]
  • ORA-01606: gc_files_to_locks не те же самые что на другом смонтированном экземпляре
  • ORA-01607: Не могу добавить журнальный файл к указанному экземпляру
  • ORA-01608: Не могу перевести сегмент отката [значение] в активное состояние, его статус [значение]
  • ORA-01609: Журнал [значение] текущий журнал для группы [значение] — не могу удалить члена группы
  • ORA-01610: Восстановление использующее опцию BACKUP CONTROLFILE должно быть выполнено
  • ORA-01611: Номер потока [значение] не верный — должен быть между 1: и [значение]
  • ORA-01612: Экземпляр [значение] (поток [значение]) уже разрешен
  • ORA-01613: Экземпляр [значение] (поток [значение]) имеет толко [значение] журналов — для разрешения требуется минимум 2:
  • ORA-01614: Экземпляр [значение] (поток [значение]) занят — нельзя разрешить
  • ORA-01615: Экземпляр [значение] (поток [значение]) смонтирован — нельзя запретить
  • ORA-01616: Экземпляр [значение] (поток [значение]) смонтирован — нельзя запретить
  • ORA-01617: Нельзя смонтировать: [значение] не верный номер потока
  • ORA-01618: Поток повторного выполнения [значение] не разрешен — нельзя смонтировать
  • ORA-01619: Поток [значение] смонтирован другим экземпляром
  • ORA-01620: Нет общих потоков доступных для монтирования
  • ORA-01621: Нельзя переименовать файл текущего журнала если база данных открыта
  • ORA-01622: Номер потока должен быть указан — по-умолчанию не указан
  • ORA-01623: Журнал [значение] текущйи для экземпляра [значение] (поток [значение]) — нельзя удалить
  • ORA-01624: Журнал [значение] экземпляра [значение] нуждается в восстановлении после сбоя
  • ORA-01625: Сегмент отката [значение] не принадлежит этому экземпляру
  • ORA-01626: Сегмент отката номер [значение] не может обрабатывать больше транзакций
  • ORA-01627: Сегмент отката номер [значение] не в активном состоянии
  • ORA-01628: Для сегмента отката [значение] достигнуто значение max extents [значение]

Синтаксические ошибки(продолжение) 1700-1799

  • ORA-01700: Повторяющееся имя пользователя в списке
  • ORA-01701: Кластер здесь не подходит
  • ORA-01702: Представление здесь не подходит
  • ORA-01703: Пропущено ключевое слово SYNONYM
  • ORA-01704: Строка слишком длинная
  • ORA-01715: UNIQUE не может использоваться с индексом кластера
  • ORA-01716: NOSORT не может использоваться с индексом кластера
  • ORA-01718: Предложение BY ACCESS | SESSION не разрешено для NOAUDIT
  • ORA-01719: Оператор внешнего соединения (+) не позволен в операндах OR или IN
  • ORA-01720: Опция GRANT не существует для [значение].[значение]
  • ORA-01721: USERENV(COMMITSCN) вызывается более одного раза в транзакции
  • ORA-01722: Неверный номер
  • ORA-01723: Нулевая длина колонок не позволена
  • ORA-01724: Точность плавающей точки вне границы (1: до 126)
  • ORA-01725: USERENV(‘COMMITSCN’) здесь не позволена
  • ORA-01726: Таблица здесь не позволена
  • ORA-01727: Спецификатор точности вне диапазона (1: до 38)
  • ORA-01728: Указатель числовой шкалы вне интервала (-84: до 127)
  • ORA-01729: Ожидается имя ссылки базы данных
  • ORA-01730: Указано неверное количество имен колонок
  • ORA-01731: Обнаружено цикличное определение представления
  • ORA-01732: Операции управления данными не позволены для этого представления
  • ORA-01733: Виртуальная колонка здесь не позволена
  • ORA-01734: Недопустимые параметры — EXTENT MIN больше чем EXTENT MAX
  • ORA-01735: Неверная опция ALTER TABLE
  • ORA-01736: Ожидается [NOT] SUCCESSFUL
  • ORA-01737: Допустимые режимы: [ROW] SHARE, [[SHARE] ROW] EXCLUSIVE, SHARE UPDATE
  • ORA-01738: Пропущено ключевое слово IN
  • ORA-01739: Пропущено ключевое слово MODE
  • ORA-01740: Пропущена двойная кавычка в идентификаторе
  • ORA-01741: Недопустимый идентификатор с нулевой длиной
  • ORA-01742: Комментарий не закрыт корректно
  • ORA-01743: Только чистые функции могут быть индексированы
  • ORA-01744: Несоотвествующий INTO
  • ORA-01745: Неверное заглавие/имя переменной
  • ORA-01746: Переменная индикатор здесь не позволена
  • ORA-01747: Неверная спецификация пользователь.таблица.колонка, таблица.колонка или колонка
  • ORA-01748: Здесь позволены только простые имена колонок
  • ORA-01749: Нельзя вывполнить GRANT/REVOKE с привелегиями самому себе
  • ORA-01750: UPDATE/REFERENCE может быть только отменена по всей таблице, но не по колонке
  • ORA-01751: Неверная опция снимка отмены
  • ORA-01752: Нельзя удалить из представления без одной ключевой таблицы
  • ORA-01753: Описание колонки не совместимо с описанием кластеризованной колонки
  • ORA-01754: Таблица может содержать только одну колонку с типом LONG
  • ORA-01755: Требуется указать номер экстента или номер блока
  • ORA-01756: Строка в кавычках не завершена правильно
  • ORA-01757: Требуется указать номер объекта
  • ORA-01758: Таблица должна быть пуста для добавления обязательной колонки (NOT NULL)
  • ORA-01759: Пользовательская функция определена некорректно
  • ORA-01760: Недопустимый аргумент для функции
  • ORA-01762: vopdrv: запрашиваемого блока представления нет в FROM
  • ORA-01763: Обновление или удаление вызывает внешне соединенную таблицу
  • ORA-01765: Указанное имя владельца таблицы не разрешено
  • ORA-01766: Таблица словаря не допустима в этом контексте
  • ORA-01767: UPDATE … SET выражение должно быть подзапросом
  • ORA-01768: Числовая строка слишком длинна
  • ORA-01769: Двойная опция спецификации CLUSTER
  • ORA-01770: Опция CLUSTER не позволена в команде CREATE CLUSTER
  • ORA-01771: Недопустимая опция для кластеризованной таблицы
  • ORA-01772: Значение для LEVEL должно быть указано
  • ORA-01773: Можно не указывать тип данных для колонок в этом предложении CREATE TABLE
  • ORA-01774: Опция снимка отмены указана более одного раза
  • ORA-01775: Циклическая цепочка синонимов
  • ORA-01776: Нельзя модифицировать более одной базовой таблицы через объединенное представление
  • ORA-01777: WITH GRANT OPTION не позволено в этой системе
  • ORA-01778: Превышено количество уровней вложенных запросов
  • ORA-01779: Нельзя изменить колонку ссылающуюся на не ключевую таблицу
  • ORA-01780: Требуется литерал строки
  • ORA-01781: UNRECOVERABLE не может быть указано без AS SELECT
  • ORA-01782: Нельзя указать UNRECOVERABLE для кластера или кластеризованной таблицы
  • ORA-01783: Указана может быть только одна опция или RECOVERABLE или UNRECOVERABLE
  • ORA-01784: RECOVERABLE не может быть указано с отключенным восстановлением базы данных
  • ORA-01785: Команда ORDER BY должна быть номером из списка выражения SELECT
  • ORA-01786: FOR UPDATE в этом запросе не позволено
  • ORA-01787: Только одно предложение разрешено в блоке запроса
  • ORA-01788: В этом блоке запроса требуется CONNECT BY
  • ORA-01789: Блок запроса имеет неправильное количетсво результирующих колонок
  • ORA-01790: Выражение должно иметь тот же тип данных, как соответствующее выражение
  • ORA-01791: Выражентие не SELECT
  • ORA-01792: Максимальное количество колонок в таблице или представлении равно 1000:
  • ORA-01793: Максимальное число индексируемых колонок равно 32:
  • ORA-01794: Максимальное количество кластеризованных колонок равно 32:
  • ORA-01795: Максимальное количество выражений в списке равно 1000
  • ORA-01796: Этот опреатор не может быть использован со списками
  • ORA-01797: Этот оператор должен сопровождаться ANY или ALL
  • ORA-01798: Пропущено ключевое слово EXCEPTION
  • ORA-01799: Колонка может не быть во внешнем объединении в подзапросе

Функциональные ошибки данных 1800-1899

  • ORA-01800: Литера в формате даты слишком велика для обработки
  • ORA-01801: Формат даты слишком длинный для внутреннего буфера
  • ORA-01802: Юлианская дата за пределами допустимого диапазона
  • ORA-01803: Провалено получение даты/времени
  • ORA-01804: Провалена инициализация информации о часовом поясе
  • ORA-01810: Код формата появляется дважды
  • ORA-01811: Юлианская дата предотвращает использование дня года
  • ORA-01812: Год может быть указан единожды
  • ORA-01813: Час может быть указан единожды
  • ORA-01814: AM/PM противоречит с использованием A.M/P.M.
  • ORA-01815: BC/AD противоречит с использованием B.C/A.D
  • ORA-01816: Месяц может быть указан единожды
  • ORA-01817: День недели может быть указан единожды
  • ORA-01818: ‘HH24’ исключает использование индикатора меридиана
  • ORA-01819: Год со знаком не требует использования BC/AD
  • ORA-01820: Форматный код не может появляться во входном формате даты
  • ORA-01821: Формат даты не распознан
  • ORA-01822: Формат кода эры не верен для этого календаря
  • ORA-01830: Картинка формата даты завершается перед преобразованием целой входной строки
  • ORA-01831: Год противоречит Юлианской дате
  • ORA-01832: День года противоречит Юлианской дате
  • ORA-01833: Месяц противоречит Юлианской дате
  • ORA-01834: День месяца противоречит Юлианской дате
  • ORA-01835: День недели противоречит Юлианской дате
  • ORA-01836: Час противоречит секундам в дне
  • ORA-01837: Минуты часа противоречат секундам в дне
  • ORA-01838: Секунды минуты противоречат секундам дня
  • ORA-01839: Дата не верна для укзанного месяца
  • ORA-01840: Входное значение недостаточно длинное для формата даты
  • ORA-01841: (полный) год должен быть между -4713: и +9999, и не должен быть равным 0
  • ORA-01842: Четверть должна быть между 1: и 4:
  • ORA-01843: Не верный месяц
  • ORA-01844: Неделя года должна быть между 1: и 52:
  • ORA-01845: Неделя месяца должна быть между 1: и 5:
  • ORA-01846: Неправильный день недели
  • ORA-01847: День месяца должен быть между 1: и последним днем месяца
  • ORA-01848: День года должен быть между 1: и 365: (366: для високосного года)
  • ORA-01849: Час должен быть между 1: и 12:
  • ORA-01850: Час должен быть между 0 и 23:
  • ORA-01851: Минуты должны быть между 0 и 59:
  • ORA-01852: Секунды должны быть между 0 и 59:
  • ORA-01853: Секунды в дне должны быть между 0 и 86399:
  • ORA-01854: Юлианская дата должна быть в интервале от 1: до 5373484:
  • ORA-01855: Требуется AM/A.M. или PM/P.M.
  • ORA-01856: Требуется BC/B.C. или AD/A.D.
  • ORA-01857: Не верный часовой пояс
  • ORA-01858: Не числовой символ обнаружен там, где ожидалось числовое значение
  • ORA-01859: Обнаружен не символ алфавита там, где ожидался символ алфавита
  • ORA-01860: Неделя года дложна быть от 1: до 53:
  • ORA-01861: Литера не совпадает со строкой формата
  • ORA-01862: Числовое значение не совпадает по длине с командой формата
  • ORA-01863: Год не поддерживается текущим календарем
  • ORA-01864: Дата за пределами допустимого диапазона для текущего календаря
  • ORA-01865: Не верная эра
  • ORA-01866: Класс дата/время не верный
  • ORA-01867: Неверный интервал
  • ORA-01868: Точность интервала слишком мала
  • ORA-01869: Зарезервировано для будущего использования
  • ORA-01870: Интервалы или дата/время взаимно не сопоставимы
  • ORA-01871: Количество секунд должно быть меньше 60
  • ORA-01872: Зарезервировано для будущего использования
  • ORA-01873: Точность интервала слишком мала
  • ORA-01874: Час часового пояса должен быть между -12: и 13:
  • ORA-01875: Минута часового пояса должна быть между -59: и 59:
  • ORA-01876: Год должен быть не меньше -4715:
  • ORA-01877: Строка слишком длиная для внутреннего буфера
  • ORA-01878: Указанное поле не найдено во временном интервале
  • ORA-01879: Поле HH25: должно быть между 0 и 24:
  • ORA-01880: Дробные секунды должны быть между 0 и 999999999:
  • ORA-01881: Идентификатор часового пояса не верен
  • ORA-01882: Часовой пояс региона [значение] не найден
  • ORA-01883: Перекрытие было отключено во время смены региона
  • ORA-01890: Обнаружена ошибка NLS
  • ORA-01891: Дата-время/Интервал внутреняя ошибка
  • ORA-01898: Много указателей точности
  • ORA-01899: Неверный указатель точности

Ошибки ORA-01900 — ORA-01999

  • ORA-01900: Ожидается ключевое слово LOGFILE
  • ORA-01901: Ожидается ключевое слово ROLLBACK
  • ORA-01902: Ожидается ключевое слово SEGMENT
  • ORA-01903: Ожидается ключевое слово EVENTS
  • ORA-01904: Ожидается ключевое слово DATAFILE
  • ORA-01905: Ожидается ключевое слово STORAGE
  • ORA-01906: Ожидается ключевое слово BACKUP
  • ORA-01907: Ожидается ключевое слово TABLESPACE
  • ORA-01908: Ожидается ключевое слово EXISTS
  • ORA-01909: Ожидается ключевое слово REUSE
  • ORA-01910: Ожидается ключевое слово TABLES
  • ORA-01911: Ожидается ключевое слово CONTENTS
  • ORA-01912: Ожидается ключевое слово ROW
  • ORA-01913: Ожидается ключевое слово EXCLUSIVE
  • ORA-01914: Неправильная проверочная опция для последовательности чисел
  • ORA-01915: Неправильная опция аудита для представлений
  • ORA-01916: Ожидается ключевое слово ONLINE, OFFLINE, RESIZE, AUTOEXTEND или END/DROP
  • ORA-01917: Пользователь или роль [значение] не существует
  • ORA-01918: Пользователь [значение] не существует
  • ORA-01919: Роль [значение] не существует
  • ORA-01920: Имя пользователя [значение] конфликтует с другим именем пользователя или ролью
  • ORA-01921: Роль [значение] конфликтует с другим именем пользователя или ролью
  • ORA-01922: Для удаления [значение] должна быть указана CASCADE
  • ORA-01923: CASCADE прервано, объекты заблокированы другим пользователем
  • ORA-01924: Роль [значение] не назначена или не существует
  • ORA-01925: Максимум разрешенных ролей [значение] превышен
  • ORA-01926: Нельзя выполнить GRANT к роли с WITH GRANT OPTION
  • ORA-01927: Нельзя выполнить REVOKE привелегиям, вы не дающий их
  • ORA-01928: Опция GRANT не дается для всех привелегий
  • ORA-01929: Нет привелегий для GRANT
  • ORA-01930: Аудит объекта не поддерживается
  • ORA-01931: Нельзя выдать [значение] роли
  • ORA-01932: Опция ADMIN не может быть выдана для роли [значение]
  • ORA-01933: Нельзя создать хранимый объект используя привелегии из роли
  • ORA-01934: Обнаружена циклическая выдача роли
  • ORA-01935: Пропущено имя пользователя или роли
  • ORA-01936: Нельзя определить владельца во время создания пользователя или роли
  • ORA-01937: Пропущено или неверное имя роли
  • ORA-01938: IDENTIFIED BY должно быть указано для CREATE USER
  • ORA-01939: Может быть указана только опция ADMIN OPTION
  • ORA-01940: Нельзя удалить пользователя который сейчас соединен
  • ORA-01941: Ожидается ключевое слово SEQUENCE
  • ORA-01942: IDENTIFIED BY и EXTERNALLY не могут быть указаны вместе
  • ORA-01943: Предложение IDENTIFIED BY уже указано
  • ORA-01944: Предложение IDENTIFIED EXTERNALLY уже указано
  • ORA-01945: Предложение DEFAULT ROLES уже указано
  • ORA-01946: Предложение DEFAULT TABLESPACE уже указано
  • ORA-01947: Предложение TEMPORARY TABLESPACE уже указано
  • ORA-01948: Длина идентификатора имени [значение] превышает максимум [значение]
  • ORA-01949: Ожидается ключевое слово ROLE
  • ORA-01950: Нет привелегий на табличное пространство [значение]
  • ORA-01951: ROLE [значение] не назначена [значение]
  • ORA-01952: Системные привелегии не назначены [значение]
  • ORA-01953: Команда больше не верна, смотрите ALTER USER
  • ORA-01954: Предложение DEFAULT ROLE не верно для CREATE USER
  • ORA-01955: DEFAULT ROLE [значение] не назначена пользователю
  • ORA-01956: Неверная команда во время использования OS_ROLES
  • ORA-01957: Ожидаются ключевые слова MIN или MAX, не найдены
  • ORA-01958: Требуется указать целое число для опции LAYER
  • ORA-01959: Требуется указать целое число для опции OPCODE
  • ORA-01960: Неверная опция снимка журнального файла
  • ORA-01961: Неверная опция снимка
  • ORA-01962: Требуется указать номер файла или номер последовательности журнала
  • ORA-01963: Требуется указать номер блока
  • ORA-01964: Требуется указать время для опции TIME
  • ORA-01965: Требуется указать PERIOD
  • ORA-01967: Неверная опция для CREATE CONTROFILE
  • ORA-01968: Только одна опция может быть указана RESETLOGS или NORESETLOGS
  • ORA-01969: Вы должны указать RESETLOGS или NORESETLOGS
  • ORA-01970: Вы должны указать имя базы данных для предложения CREATE CONTROLFILE
  • ORA-01971: Недопустимая опция ALTER TRACING
  • ORA-01972: Требуется указать строрку для ALTER TRACING ENABLE или DISABLE
  • ORA-01973: Пропущен номер изменения
  • ORA-01974: Недопустимая опция архива
  • ORA-01975: Недопустимый символ в номере изменения [значение]
  • ORA-01976: Пропущен номер изменения
  • ORA-01977: Пропущен номер потока
  • ORA-01978: Пропущен номер последовательности
  • ORA-01979: Пропущен или неверный пароль для роли [значение]
  • ORA-01980: Ошибка во время инициализации OS ROLE
  • ORA-01981: Для этого отзыва должно быть указано CASCADE CONSTRAINTS
  • ORA-01982: Неверная опция аудита для таблиц
  • ORA-01983: Неверная опция аудита для DEFAULT
  • ORA-01984: Неверная опция аудита для процедур/пакетов/функций
  • ORA-01985: Нельзя создать пользователя, потому что значение параметра LICENSE_MAX_USERS превышено
  • ORA-01986: Недопустимая опция для OPTIMIZER_GOAL
  • ORA-01987: Клиентское имя пользователя операционной системы слишком длинное
  • ORA-01988: Удаленная регистрация не позволена
  • ORA-01989: Роль [значение] не авторизована операционной системой
  • ORA-01990: Ошибка открытия файла паролей [значение]
  • ORA-01991: Неверный файл паролей [значение]
  • ORA-01992: Ошибка закрытия файла паролей [значение]
  • ORA-01993: Ошибка записи в файл паролей [значение]
  • ORA-01994: GRANT провалено: нельзя добавить пользователей в общий файл паролей
  • ORA-01995: Ошибка чтения файла паролей [значение]
  • ORA-01996: GRANT провалено: файл паролей [значение] заполнен
  • ORA-01997: GRANT провалено: пользователь [значение] идентифицируется внешне
  • ORA-01998: REVOKE провалено: пользователь SYS всегда SYSOPER и SYSDBA
  • ORA-01999: Режим файла паролей изменен с [значение] на [значение]

На правах рекламы (см.
условия):


Ключевые слова для поиска сведений о значениях ошибок Oracle в диапазоне ORA-01000 — ORA-01999:

На русском языке: ошибки Oracle, коды оракловых ошибок;

На английском языке: ORA-01000 — ORA-01999.


Страница обновлена 28.09.2022

Яндекс.Метрика


When trying to connect to an Oracle database, you might run into this error:

ORA-01045: user xxx lacks CREATE SESSION privilege; logon denied

The reason is that the username you are using to connect lacks the CREATE SESSION system privilege.

So to fix it, you need to grant the permission:

GRANT CREATE SESSION TO user_name;

And you should be able to login to your database by now.


Need a good GUI tool for databases? TablePlus provides a native client that allows you to access and manage Oracle, MySQL, SQL Server, PostgreSQL, and many other databases simultaneously using an intuitive and powerful graphical interface.

Download TablePlus for Mac.

Not on Mac? Download TablePlus for Windows.

On Linux? Download TablePlus for Linux

Need a quick edit on the go? Download TablePlus for iOS

TablePlus in Dark mode

Уровень сложности
Средний

Время на прочтение
17 мин

Количество просмотров 5.3K

Предисловие

Убедительная просьба, рассматривать данный текст только как продолжение к статье о «Событийной модели логирования». Эта статья будет полезна тем, у кого уже реализовано логирование событий в БД и кто хотел бы осуществлять сбор статистики и начать проводить аналитику этих событий. Только представьте, что ваша БД сможет информировать вас о критичных сбоях системы, накапливать информацию о событиях в БД (кол-во повторений, период повторений и т.д.). И всё это без использования стороннего ПО силами одного PL/SQL.

Введение

В этом цикле статей будет показано как реализованный функционал «логирования» позволяет фиксировать факт возникновения не только ошибок (сообщение с типом «Error»), но и сообщений с предупреждением (тип «Warning»), информативных сообщений (с типом «Info») и т.д., поэтому, в рамках данных статей введём термин — «Модель логирования событий» (далее по тексту — «модель») или коротко «Логирование событий», где под «событием» подразумевается некоторое ожидаемое действие, возникшее в ходе штатной/внештатной работы алгоритма.

Модель логирования позволяет реализовать:

  1. Единый подход в обработке и хранении событий (статья)

  2. Собственную нумерацию и идентификацию событий происходящих в БД

  3. Единый мониторинг событий (статья в разработке)

  4. Анализ событий происходящих в БД (статья в разработке)

Описанные выше характеристики указаны в порядке нумерации и каждый следующий пункт (шаг) есть улучшение и усложнение существующей модели. Описание этой модели будет сложно выполнить в рамках одной статьи, поэтому опишем их последовательно. В этой (второй) статье создадим собственную нумерацию кодов для событий, а также создадим функционал идентификации событий происходящих в БД.

Для чего это нужно?

Для начала давайте рассмотрим пример. Вы реализовали логирование ошибок в вашей БД. С течением времени в ваш лог «прилетают» самые разнообразные ошибки. Предположим, имеются две ошибки вида «no_data_found» возникшие в двух разных процедурах при двух разных запросах (select). Первая ошибка возникла при попытке найти «email» клиента, что в принципе не является критичной ошибкой. Вторая ошибка возникла при попытке найти номер лицевого счета клиента, что вполне может являться критичной ошибкой. При этом если мы посмотрим в таблицу лога (из статьи), то увидим, что указанные ошибки будут храниться с одинаковым кодом 1403 (ORA-01403) в столбце msgcode. Более того, текст указанных ошибок будет практически аналогичным (текст полученный с помощью функции SQLERRM) за исключением имен объектов, на которых произошла ошибка. Для того чтобы понять является ли критичной конкретная ошибка, разработчику необходимо вникать в текст ошибки, смотреть в каком объекте возникла ошибка и на основе этой информации сделать вывод о срочности исправления. При этом, если мы сможем задать более четкое описание ошибки отличное от текста Oracle (SQLERRM), то это позволит упростить понимание причин возникновения и способов решения ошибки.

Ошибка

Как сейчас

Как должно быть (в идеале)

Не найдена запись в таблице содержащей адреса электронной почты клиентов

ORA-01403: данные не найдены

USR0001: Не найден адрес электронной почты клиента id = *** (идентификатор клиента)

Не найдена запись в таблице содержащей лицевые счета клиентов

ORA-01403: данные не найдены

USR0002: Не найден лицевой счет клиента id = *** (идентификатор клиента)

 Из этого примера видно, что одна и та же ошибка «no_data_found» (ORA-01403: данные не найдены) может иметь совершенно разное значение с точки зрения бизнес логики, а значит нам необходимо разработать механизм, который позволит идентифицировать каждое событие происходящее в БД как отдельное событие с нашим внутренним уникальным кодом и текстом события (отличную от Oracle). Таким образом мы решаем две проблемы:

1) В месте возникновения ошибки мы устанавливаем уникальный код ошибки. В будущем это позволяет достаточно быстро найти место возникновения ошибки. Также, наличие уникальных кодов позволяет нам произвести точечный подсчет повторений и на основании этой информации принять решение об устранении данной ошибки.

2) Дополнительный «читаемый» текст позволяет сильно упростить понимание ошибки. В таблице выше показано, как одна и та же ошибка может запутать или разъяснить пользователю сведения об ошибке.

Надеюсь мне удалось объяснить зачем необходимо кодировать события в таблице логов. Далее по тексту, будут введены термины «Архитектурный лог» и «Пользовательский лог». На примере процедуры поиска активного номера телефона клиента будет показано как и зачем создано разделение на архитектурный и пользовательский лог.

Архитектурное логирование событий

Давайте рассмотрим пример, имеется процедура поиска активного номера телефона принадлежащего конкретному клиенту (для примера его id = 43). Предположим, что при постановке задачи для разработчика не было описания каких-либо особых условий т.е. по условиям задачи предполагалось, что для конкретного пользователя (id = 43, идентификатор передается в качестве параметра) в таблице client_telnumbers всегда будет хотя бы одна запись с номером телефона клиента и признаком «активный» (значение поля enddate равно дате 31.12.5999 23:59:59, что означает что номер используется клиентом. В случае, любой другой даты в указанном поле означает, что номер перестал быть активным и более не используется), поэтому наша процедура будет выглядеть примерно так:

Исходный код демонстрационной процедуры

procedure p_get_telnumber(p_userid    in number,
                          p_telnumber out number,
                          p_errcode   out number,
                          p_errtext   out varchar2)
  is
    v_objname   varchar2(60) := utl_call_stack.concatenate_subprogram(utl_call_stack.subprogram(1));
    v_telnumber client_telnumbers.telnumber%type;
  begin
    select telnumber
      into v_telnumber
      from client_telnumbers
     where id = p_userid
       and enddate = to_date('31.12.5999 23:59:59', 'dd.mm.yyyy hh24:mi:ss');

    p_telnumber := v_telnumber;
    p_errcode   := 1;
  exception
    when others then
      pkg_msglog.p_log_err(p_objname    => v_objname,
                           p_msgcode    => SQLCODE,
                           p_msgtext    => SQLERRM,
                           p_paramvalue => 'p_userid = '||p_userid,
                           p_backtrace  => dbms_utility.format_error_backtrace);
      raise;
  end p_get_telnumber;

Важно! Представленный код является примерным (примитивным) и служит только для демонстрации логирования в рамках данной статьи. В своих статьях я не выкладываю текст кода из реально действующих БД. Надеюсь, вы понимаете, что в реальности указанная процедура написана гораздо сложнее.

*Исходный код других используемых объектов смотрите в Git

  Если мы будем использовать логирование ошибок как показано в предыдущей статье, то с течением времени обнаружим, что идентифицировать ошибки из данной процедуры будет сложно. Поэтому для всех ошибок попадающих в обработку исключения «WHEN OTHERS» реализована процедура pkg_msglog.p_log_archerr, которая при первом возникновении ошибки автоматически присваивает ей уникальный код и сохраняет ошибку в таблице лога. В дальнейшем, при повторении данной ошибки процедура найдет ранее созданный код и использует его при логировании в таблице лога.

В итоге, после добавления блока «архитектурного» логирования (строки с 18 по 24), наша процедура будет выглядеть следующим образом:

Исходный код демонстрационной процедуры

procedure p_get_telnumber(p_userid    in number,
                          p_telnumber out number,
                          p_errcode   out number,
                          p_errtext   out varchar2)

  is
    v_objname   varchar2(60) := utl_call_stack.concatenate_subprogram(utl_call_stack.subprogram(1));
    v_telnumber client_telnumbers.telnumber%type;
  begin
    select telnumber
      into v_telnumber
      from client_telnumbers
     where id = p_userid
       and enddate = to_date('31.12.5999 23:59:59', 'dd.mm.yyyy hh24:mi:ss');

    p_telnumber := v_telnumber;
    p_errcode   := 1;
  exception
    -- Архитектурное логирование
    when others then
      pkg_msglog.p_log_archerr(p_objname    => v_objname,
                               p_msgcode    => SQLCODE,
                               p_msgtext    => SQLERRM,
                               p_paramvalue => 'p_userid = '||to_char(p_userid),
                               p_backtrace  => dbms_utility.format_error_backtrace);
      raise;
  end p_get_telnumber; 

*Исходный код других используемых объектов смотрите в Git

  На этапе написания текста процедуры разработчик не всегда может предугадать возникновение той или иной ошибки (если честно, не всегда есть на это время), поэтому на начальном этапе ему достаточно «отлавливать» абсолютно все ошибки возникающие в данной процедуре с помощью оператора «WHEN OTHERS». Таким образом мы можем ввести новый термин (в рамках данного цикла статей), «Архитектурные логирование» — это логирование всех ошибок, возникновение которых не предполагается при штатной работе алгоритма. Для функционала «Архитектурных ошибок» были созданы объекты: отдельный справочник ошибок messagecodes_arch и процедура pkg_msglog.p_log_archerr создания записи в таблице лога для указанного типа ошибок.

Исходный код таблицы

create table messagecodes_arch(objectname  varchar2(120) not null,
                               sqlerrcode  number        not null,
                               msgcode     varchar2(10)  not null,
                               insertdate  date          default sysdate,
                               constraint pk_msgcode_arch_id primary key (objectname,sqlerrcode));

Ограничение в таблице на комбинацию (Имя объекта, код ошибки SQLCODE). При первом появлении ошибки создается запись в таблице и генерируется код ошибки «SYS0000» + счетчик ошибок. При повторном появлении указанной ошибки будет взят уже сгенерированный ранее код ошибки.

рис. Пример содержимого таблицы messagecodes_arch

рис. Пример содержимого таблицы messagecodes_arch

*Исходный код других используемых объектов смотрите в Git

Обратите внимание, что при использовании описанной модели «архитектурного» логирования у вас появляется функционал позволяющий максимально быстро реагировать на первое появление ошибки (в конкретной функции/процедуре). Для этого необходимо реализовать отдельный мониторинг архитектурных ошибок, который постараюсь продемонстрировать в следующей (третьей) статье. Использование процедуры pkg_msglog.p_log_archerr не требует каких-либо действий кроме описания входных параметров.

Таким образом мы можем создать базовый шаблон процедуры (функции), использование которого позволит вам гарантированно отлавливать все архитектурные ошибки в вашем коде.

Шаблон процедуры/функции с архитектурным логированием

  -- Шаблон процедуры/функции для построения Событийной модели логирования
  -- Обратите внимание, что каждый блок "begin ... end" содержит исключение вида "when others",
  -- который осуществляет логирование Архитектурных ошибок.
  -- Все остальные исключения вида "no_data_found", "too_many_rows" и др. 
  -- будут осуществлять логирование Пользовательских ошибок
  procedure p_procedure_name(p_param1  in number,
                             p_param2  in varchar2,
                             p_param3  in date,
                             /* others param */
                             p_errcode out number,
                             p_errtext out varchar2)
  is
    v_objname varchar2(60) := utl_call_stack.concatenate_subprogram(utl_call_stack.subprogram(1));
    /* variable */
    v_msgcode   messagelog.msgcode%type;
    v_msgtext   messagelog.msgtext%type;
  begin
  
    /* code */

    begin
    
      /* code */
  
    exception
      -- Пользовательское логирование
      when no_data_found then
        v_msgcode := 'USR0000'; -- внутренний код
        v_msgtext := pkg_msglog.f_get_errcode(v_msgcode);
        pkg_msglog.p_log_wrn(p_objname    => v_objname,
                             p_msgcode    => v_msgcode,
                             p_msgtext    => v_msgtext,
                             p_paramvalue => 'p_param1 = '||to_char(p_param1)
                                                ||', p_param2 = '||p_param2
                                                ||', p_param3 = '||to_char(p_param3,'dd.mm.yyyy hh24:mi:ss'));
	      p_errcode := -1;
        p_errtext := v_msgtext;                                           
    end;   
    
    /* code */
    
    /* result */
    p_errcode := 1;
  exception
    -- Пользовательское логирование
    when no_data_found or too_many_rows then
      v_msgcode := 'USR0000';  -- внутренний код
      v_msgtext := pkg_msglog.f_get_errcode(v_msgcode);
      pkg_msglog.p_log_wrn(p_objname    => v_objname,
                           p_msgcode    => v_msgcode,
                           p_msgtext    => v_msgtext,
                           p_paramvalue => 'p_param1 = '||to_char(p_param1)
                                                ||', p_param2 = '||p_param2
                                                ||', p_param3 = '||to_char(p_param3,'dd.mm.yyyy hh24:mi:ss'));
    	p_errcode := -1;
      p_errtext := v_msgtext;
    -- Архитектурное логирование
    when others then
      pkg_msglog.p_log_archerr(p_objname    => v_objname,
                               p_msgcode    => SQLCODE,
                               p_msgtext    => SQLERRM,
                               p_paramvalue => 'p_param1 = '||to_char(p_param1)
                                                ||', p_param2 = '||p_param2
                                                ||', p_param3 = '||to_char(p_param3,'dd.mm.yyyy hh24:mi:ss'),
                               p_backtrace  => dbms_utility.format_error_backtrace);
      raise;
 end p_procedure_name;

Рекомендую использовать данный шаблон для построения «Событийной модели логирования».

*Исходный код других используемых объектов смотрите в Git

В рамках событийной модели логирования, предполагается, что все архитектурные ошибки будут исправляться отдельной задачей т.е. основная цель это устранить повторное появление ошибок с кодом «SYS****» в таблице лога. В указанной задаче вам необходимо либо устранить причины возникновения данной ошибки, либо добавить отдельную обработку ошибки отличную от «when others», которую в дальнейшем будем назвать «пользовательское» логирование (в рамках данного цикла статей).

Пользовательское логирование событий

Предположим, что однажды в нашей процедуре get_telnumber произошла «архитектурная ошибка». В частности, для конкретного пользователя в таблице client_telnumbers хранится два номера телефона с признаком «активный». В таком случае, процедура «упадёт» с ошибкой «ORA-01422: too_many_rows». При этом, наш функционал архитектурного логирования сгенерировал новый код ошибки «SYS0061» и создал запись в таблице лога.

рис. Код архитектурной ошибки SYS0061

рис. Код архитектурной ошибки SYS0061

Самое важно в такой ситуации это не откладывать «на потом» исправление архитектурных ошибок. В идеале, необходимо создать отдельную задачу (баг) и в рамках неё устранить ошибку.

Предположим ,что была создана отдельная задача для устранения ошибки и назначена разработчику. В рамках этой задачи, разработчик совместно с технологом, аналитиком и др. коллегами пришел к выводу, что указанная ошибка носит систематический характер, является некорректной работой системы и требует исправления. В качестве мер исправления было решено добавить обработку события «too_many_rows» с последующим логированием события в таблице лога и выводом текста ошибки для пользователя.

Для этого в процедуре get_telnumber добавлено исключение (exception) «too_many_rows» пользовательского логирования. Также, был создан справочник пользовательских ошибок отличный от архитектурного справочника, тем что в него все записи добавляются разработчиком «вручную». Наверное это самое слабое место во всей архитектуре логирования. Предполагается, что разработчик должен описать исключение (exception) и создать для него уникальный код ошибки. Также, желательно к указанной ошибке сформулировать читаемый текст ошибки (для своих коллег, пользователя, техподдержки и т.д.), что бывает иногда очень сложным (из личного опыта).

Таблица пользовательских ошибок и процедура их «регистрации» будет выглядеть следующим образом:

Исходный код таблицы пользовательских ошибок и процедуры регистрации

create table messagecodes(msgcode     varchar2(10)  not null,
                          rustext     varchar2(500) not null,
                          msgpriority number(1)     default 1,
                          insertdate  date          default sysdate,
                          lastupdate  date          default null,
                          constraint pk_messagecodes_id primary key (msgcode));

Регистрация пользовательских ошибок производится процедурой p_insert_msgcode. На вход подается код и текст ошибки. В случае, если по указанному коду нет записей в справочнике messagecodes, то создается новая запись (производится регистрация). В случае, если по коду ошибки найдена запись, то производится сравнение текстов ошибки, в случае расхождений производится обновление текста, иначе работа процедуры завершается без изменений. Таким образом мы всегда можем корректировать текст ошибок.

-- Пример регистации пользовательских ошибок
begin
  pkg_msglog.p_insert_msgcode('USR0001','Не найден адрес электронной почты клиента id = $1!',1);
  pkg_msglog.p_insert_msgcode('USR0002','Не найден лицевой счет клиента id = $1!',5);
  pkg_msglog.p_insert_msgcode('USR0003','Для клиента id = $1 найдено два и более активных номеров телефона!',1);
  pkg_msglog.p_insert_msgcode('USR0004','Номер мобильного телефона не соответствует маске (clientid = $2)',1);
  commit;
end;

Обратите внимание, что текст ошибок имеет параметризацию т.е. для ошибки в тексте имеются специальные символы $1, $2, $3 и т.д. Например, рассмотрим ошибку «USR0003» с текстом «Для клиента id = $1 найдено два и более активных номеров телефона!» при вызове функции f_get_errcode на вход подаётся код ошибки и параметры ошибки. Далее, функция по коду ошибки найдет строку, в тексте ошибки заменит подстроку «$1» на значение параметра to_char(p_userid) т.е. подставит значение to_char(p_userid).

v_msgcode := 'USR0003'; -- внутренний код
v_msgtext := pkg_msglog.f_get_errcode(p_msgcode  => v_msgcode,
                                      p_msgparam => to_char(p_userid));

В случае если в тексте ошибки будут два и более спецсимвола $1, $2, $3 и т.д., то параметры передаются с использованием символа-разделителя «;».

Итого, содержимое справочника пользовательских ошибок будет выглядеть следующим образом:

рис. Пример содержимого справочника пользовательских ошибок

рис. Пример содержимого справочника пользовательских ошибок

*Исходный код других используемых объектов смотрите в Git

После того, как мы «зарегистрировали» пользовательскую ошибку «USR0003» и добавив отдельную обработку пользовательского логирования (строки с 19 по 28), наша процедура get_telnumber будет выглядеть следующим образом:

Исходный код демонстрационной процедуры

  procedure p_get_telnumber(p_userid    in number,
                            p_telnumber out number,
                            p_errcode   out number,
                            p_errtext   out varchar2)
  is
    v_objname   varchar2(60) := utl_call_stack.concatenate_subprogram(utl_call_stack.subprogram(1));
    v_telnumber client_telnumbers.telnumber%type;
    v_msgcode   messagelog.msgcode%type;
    v_msgtext   messagelog.msgtext%type;
  begin
    select telnumber
      into v_telnumber
      from client_telnumbers
     where id = p_userid
       and enddate = to_date('31.12.5999 23:59:59', 'dd.mm.yyyy hh24:mi:ss');

    p_telnumber := v_telnumber;
    p_errcode   := 1;
  exception
    -- Пользовательское логирование
    when too_many_rows then
      v_msgcode := 'USR0003'; -- внутренний код
      v_msgtext := pkg_msglog.f_get_errcode(v_msgcode,to_char(p_userid));
      pkg_msglog.p_log_wrn(p_objname    => v_objname,
                           p_msgcode    => v_msgcode,
                           p_msgtext    => v_msgtext,
                           p_paramvalue => 'p_userid = '||to_char(p_userid));
      p_errcode := -1;
      p_errtext := v_msgtext;
    -- Архитектурное логирование
    when others then
      pkg_msglog.p_log_archerr(p_objname    => v_objname,
                               p_msgcode    => SQLCODE,
                               p_msgtext    => SQLERRM,
                               p_paramvalue => 'p_userid = '||to_char(p_userid),
                               p_backtrace  => dbms_utility.format_error_backtrace);
      raise;
  end p_get_telnumber;

*Исходный код других используемых объектов смотрите в Git

При повторном возникновении ошибки «too_many_rows» обработка события пройдет по нашему сценарию «пользовательского» логирования. Таким образом мы можем ввести второй термин (в рамках данного цикла статей), «Пользовательские логирование» — это логирование всех ошибок, возникновение которых предполагается и ожидается при нештатной работе алгоритма. В итоге, пользователь получит читаемый текст ошибки с кодом «USR0003», также, мы же всегда сможем подсчитать количество ошибок с указанным кодом. В случае большого количества ошибок у нас на руках будет «живая» статистика частоты возникновения ошибки и их количества, что позволит нам выйти на руководство с предложением по доработке/оптимизации процесса.

Давайте рассмотрим еще один пример (кейс из реального случая), в момент когда процедура get_telnumber по id клиента находит один «активный» номер телефона иногда возникает ситуация, что номер телефона не принадлежит мобильному оператору. Ситуации бывают разные иногда указанный номер мог быть номером городской телефонной сети, иногда номером международного оператора, а иногда вообще набор из нескольких цифр и т.д. Основным требованием от бизнес-заказчика было использование номера телефона российских операторов мобильной связи. Поэтому было решено добавить проверку соответствия найденного номера некому «корректному» шаблону (строки с 18 по 29). В случае обнаружения некорректного номера, логировать данное событие отдельным кодом «USR0004» и типом «WRN». Добавим функцию проверки корректности номера телефона, если номер соответствует шаблону (требованиям), то вернем номер телефона, иначе пустое значение.

Исходный код демонстрационной процедуры

  procedure p_get_telnumber(p_userid    in number,
                            p_telnumber out number,
                            p_errcode   out number,
                            p_errtext   out varchar2)
  is
    v_objname      varchar2(60) := utl_call_stack.concatenate_subprogram(utl_call_stack.subprogram(1));
    v_telnumber    client_telnumbers.telnumber%type;
    v_newtelnumber client_telnumbers.telnumber%type;
    v_msgcode      messagelog.msgcode%type;
    v_msgtext      messagelog.msgtext%type;
  begin
    select telnumber
      into v_telnumber
      from client_telnumbers
     where id = p_userid
       and enddate = to_date('31.12.5999 23:59:59', 'dd.mm.yyyy hh24:mi:ss');
    
    v_newtelnumber := f_check_telnumber(v_telnumber);
    if v_newtelnumber is not null then
      p_telnumber := v_telnumber;
      p_errcode   := 1;
    else
      -- Пользовательское логирование
      v_msgcode := 'USR0004'; -- внутренний код
      v_msgtext := pkg_msglog.f_get_errcode(v_msgcode,to_char(p_userid));
      pkg_msglog.p_log_wrn(p_objname    => v_objname,
                           p_msgcode    => v_msgcode,
                           p_msgtext    => v_msgtext,
                           p_paramvalue => 'p_userid = '||to_char(p_userid));
      p_errcode := -1;
      p_errtext := v_msgtext;
    end if;
  exception
    -- Пользовательское логирование
    when too_many_rows then
      v_msgcode := 'USR0003'; -- внутренний код
      v_msgtext := pkg_msglog.f_get_errcode(v_msgcode,to_char(p_userid));
      pkg_msglog.p_log_wrn(p_objname    => v_objname,
                           p_msgcode    => v_msgcode,
                           p_msgtext    => v_msgtext,
                           p_paramvalue => 'p_userid = '||to_char(p_userid));
      p_errcode := -1;
      p_errtext := v_msgtext;
    -- Архитектурное логирование
    when others then
      pkg_msglog.p_log_archerr(p_objname    => v_objname,
                               p_msgcode    => SQLCODE,
                               p_msgtext    => SQLERRM,
                               p_paramvalue => 'p_userid = '||to_char(p_userid),
                               p_backtrace  => dbms_utility.format_error_backtrace);
      raise;
 end p_get_telnumber;

*Исходный код других используемых объектов смотрите в Git

После сбора статистических данных по конкретной ошибке с кодом «USR0004», руководству стало понятно, что ошибка актуальна и количество ошибок с течением времени не только не уменьшается, а наоборот растет с линейной прогрессией. В дальнейшем, были выявлены источники «кривых» данных и были установлены внутренние требования по первичной обработке номера телефона клиентов. В итоге, со временем количество ошибок уменьшилось до нуля. И этого нельзя было добиться до тех пор, пока у всех участвующих лиц не возникло понимание о масштабе проблемы.

Выполняя самый банальный запрос в таблицу лога с группировкой по типу сообщения (msgtype), имени объекта (objname) и вашему внутреннему коду ошибки (msgcode) за отдельный квартал, вы сможете увидеть реальную картинку частоты возникновения той или иной ошибки. Как только в вашей БД появляется ошибка с большим количеством повторений вы всегда сможете выявить это событие и принять решение об устранении.

Исходный код запроса

select msgtype, 
       objname, 
       msgcode, 
       count(*) 
  from messagelog
where insertdate between to_date('01.01.2021', 'dd.mm.yyyy') and to_date('31.03.2021', 'dd.mm.yyyy')
group by msgtype, objname, msgcode
order by 4 desc

Результат запроса:

рис. Пример результата запроса с группировкой

рис. Пример результата запроса с группировкой

*Исходный код других используемых объектов смотрите в Git

Заключение

В заключении наверное скажу банальную вещь, о том что ваша БД является сложным механизмом ежесекундно выполняющая рутинные операции. Прямо сейчас в БД могут происходить различные ошибки. Критичные, которые вы исправляете практически сразу или некритичные, о которых вы можете вообще не знать. И если у вас нет информации о подобных ошибках, то возникает вопрос: «Нужно ли их вообще исправлять? Или можно подождать до тех пор, пока проблема не всплывёт?». Вопрос наверное «риторический».

Я же данной статьёй хотел показать один из способов ведения логирования с кодированием отдельных событий. Данный метод требует некоторых «обязательств» от разработчика и в нынешнее время этого тяжело добиться. В следующей статье постараюсь показать один из способов мониторинга ошибок основанный напрямую по кодам ошибок созданных в текущей статье.

Спасибо за внимание.

ORA-00910: specified length too long for its datatype

Cause: for datatypes CHAR and RAW, the length specified was > 2000; otherwise, the length specified was > 4000.

Action: use a shorter length or switch to a datatype permitting a longer length such as a VARCHAR2, LONG CHAR, or LONG RAW

ORA-00911: invalid character

Cause: identifiers may not start with any ASCII character other than letters and numbers. $#_ are also allowed after the first character. Identifiers enclosed by doublequotes may contain any character other than a doublequote. Alternative quotes (q’#…#’) cannot use spaces, tabs, or carriage returns as delimiters. For all other contexts, consult the SQL Language Reference Manual.

Action: None

ORA-00912: input parameter too long

Cause: one of your input strings was too long

Action: shorten the input parameter length

ORA-00953: missing or invalid index name

Cause: An index name of the form [ <identifier> . ] <identifier> is expected but not present. If OIDINDEX clause, index name must be <identifier>

Action: Enter an appropriate index name.

ORA-00956: missing or invalid auditing option

Cause: AUDIT or NOAUDIT statement contains an invalid auditing option.

Action: Use a valid option.

ORA-00960: ambiguous column naming in select list

Cause: A column name in the order-by list matches more than one select list columns.

Action: Remove duplicate column naming in select list.

ORA-00962: too many group-by / order-by expressions

Cause: The group-by or order-by column list contain more than 1000 expressions.

Action: Use 1000 or less expressions in the group-by or order-by list.

ORA-00964: table name not in FROM list

Cause: The table name referred in the select list is not specified in the from list.

Action: Make sure the name is correctly specified and matches one of the names in the from list.

ORA-00965: column aliases not allowed for ‘*’

Cause: The statement is trying to alias the * expression in the select list which is not legal.

Action: Remove the alias.

ORA-00972: identifier is too long

Cause: An identifier with more than 30 characters was specified.

Action: Specify at most 30 characters.

ORA-00976: Specified pseudocolumn or operator not allowed here.

Cause: LEVEL, PRIOR, ROWNUM, CONNECT_BY_ROOT, CONNECT_BY_ISLEAF or CONNECT_BY_ISCYCLE was specified at an illegal location.

Action: Remove LEVEL, PRIOR, ROWNUM, CONNECT_BY_ROOT, CONNECT_BY_ISLEAF or CONNECT_BY_ISCYCLE.

ORA-00977: duplicate auditing option

Cause: AUDIT or NOAUDIT statement specifies an option more than once

Action: Either use ALL with no other auditing options or make sure no option is listed more than once.

ORA-00980: synonym translation is no longer valid

Cause: A synonym did not translate to a legal target object. This could happen for one of the following reasons:

1. The target schema does not exist.

2. The target object does not exist.

3. The synonym specifies an incorrect database link.

4. The synonym is not versioned but specifies a versioned target object.

Action: Change the synonym definition so that the synonym points at a legal target object.

ORA-00981: cannot mix table and system auditing options

Cause: Table and system-wide auditing options were specified in the same AUDIT or NOAUDIT statement.

Action: You must issue table and system options in separate statements.

ORA-00983: cannot audit or noaudit SYS user actions

Cause: An attempt was made to AUDIT or NOAUDIT SYS user actions.

Action: Execute the statement again with a valid user.

ORA-00991: only MAC privileges may be granted to procedures

Cause: Object privileges or non-MAC system privileges were granted to the procedure.

Action: Only grant MAC privileges using the PROCEDURE clause.

ORA-01002: fetch out of sequence

Cause: This error means that a fetch has been attempted from a cursor which is no longer valid. Note that a PL/SQL cursor loop implicitly does fetches, and thus may also cause this error. There are a number of possible causes for this error, including: 1) Fetching from a cursor after the last row has been retrieved and the ORA-1403 error returned. 2) If the cursor has been opened with the FOR UPDATE clause, fetching after a COMMIT has been issued will return the error. 3) Rebinding any placeholders in the SQL statement, then issuing a fetch before reexecuting the statement.

Action: 1) Do not issue a fetch statement after the last row has been retrieved — there are no more rows to fetch. 2) Do not issue a COMMIT inside a fetch loop for a cursor that has been opened FOR UPDATE. 3) Reexecute the statement after rebinding, then attempt to fetch again.

ORA-01010: invalid OCI operation

Cause: One of the following: 1) You attempted an invalid OCI operation. 2) You are using an Oracle client application linked with version 7.1 (or higher) libraries, the environment variable ORA_ENCRYPT_LOGIN is set to TRUE, and you attempted to connect to a version 7.0 (or lower) Oracle Server. 3) You are connected to a version 7.1 (or higher) Oracle Server, the initialization parameter DBLINK_ENCRYPT_LOGIN is set to TRUE, and you attempted to use a database link pointing to a version 7.0 (or lower) Oracle Server. 4) You are connected to a version 9.0.2(or higher) Oracle Server and you attempted to use a database link pointing to a version 9.0.1(or lower) Oracle Server for distributed autonomous transaction.

Action: For the above causes: 1) Do not use the invalid OCI operation. 2) If you do not wish to use encrypted connect passwords in your distributed database, set ORA_ENCRYPT_LOGIN to FALSE. If you wish to use encrypted connect passwords, you must upgrade all Oracle Servers to version 7.1 (or higher). 3) If you do not wish to use encrypted database links in your distributed database, set DBLINK_ENCRYPT_LOGIN to FALSE. If you wish to use encrypted database links, you must upgrade all Oracle Servers to version 7.1 (or higher). 4) Do not attempt distributed autonomous transaction on version 9.0.1(or lower) Oracle Server.

ORA-01016: This function can be called only after a fetch

Cause: Cursor in an invalid state.

Action: Make sure that the oci/upi function is called after fetch.

ORA-01019: unable to allocate memory in the user side

Cause: The user side memory allocator returned error.

Action: Increase the processes heap size or switch to the old set of calls.

ORA-01022: database operation not supported in this configuration

Cause: The attempted database operation does not conform to the user programming interface (UPI) for the two communicating ORACLE servers.

Action: You may need to upgrade one or more of your ORACLE servers or re-link your user side application with new libraries. Report the problem to Worldwide Customer Support.

ORA-01023: Cursor context not found (Invalid cursor number)

Cause: The cursor number is not a valid open cursor.

Action: Make sure that the cursor is open.

ORA-01025: UPI parameter out of range

Cause: An integer parameter to a upi function is out of range.

Action: This usually indicates an error in a tool built on top of the oracle dbms. Report the error to your customer support representative.

ORA-01026: multiple buffers of size > 4000 in the bind list

Cause: More than one long buffer in the bind list.

Action: Change the buffer size to be less than 4000 for the bind variable bound to a normal column.

ORA-01027: bind variables not allowed for data definition operations

Cause: An attempt was made to use a bind variable in a SQL data definition operation.

Action: Such bind variables are not allowed.

ORA-01028: internal two task error

Cause: Received send long message but don’t have the cursor context.

Action: Report as a bug.

ORA-01029: internal two task error

Cause: Received a request to send the long again when there is no long

Action: Report as a bug

ORA-01030: SELECT … INTO variable does not exist

Cause: The SELECT… INTO specified in the bind call does not correspond to a variable in the SQL statement.

Action: If it is not possible to correct the statement, call customer support.

ORA-01031: insufficient privileges

Cause: An attempt was made to change the current username or password without the appropriate privilege. This error also occurs if attempting to install a database without the necessary operating system privileges. When Trusted Oracle is configure in DBMS MAC, this error may occur if the user was granted the necessary privilege at a higher label than the current login.

Action: Ask the database administrator to perform the operation or grant the required privileges. For Trusted Oracle users getting this error although granted the the appropriate privilege at a higher label, ask the database administrator to regrant the privilege at the appropriate label.

ORA-01032: no such userid

Cause: This is an internal error message related to Export/Import.

Action: Contact customer support.

ORA-01033: ORACLE initialization or shutdown in progress

Cause: An attempt was made to log on while Oracle is being started up or shutdown.

Action: Wait a few minutes. Then retry the operation.

ORA-01034: ORACLE not available

Cause: Oracle was not started up. Possible causes include the following:

— The SGA requires more space than was allocated for it.

— The operating-system variable pointing to the instance is improperly defined.

Action: Refer to accompanying messages for possible causes and correct the problem mentioned in the other messages. If Oracle has been initialized, then on some operating systems, verify that Oracle was linked correctly. See the platform specific Oracle documentation.

ORA-01035: ORACLE only available to users with RESTRICTED SESSION privilege

Cause: Logins are disallowed because an instance started in restricted mode. Only users with RESTRICTED SESSION system privilege can log on.

Action: Request that Oracle be restarted without the restricted option or obtain the RESTRICTED SESSION system privilege.

ORA-01036: illegal variable name/number

Cause: Unable to find bind context on user side

Action: Make sure that the variable being bound is in the sql statement.

ORA-01037: maximum cursor memory exceeded

Cause: Attempting to process a complex sql statement which consumed all available memory of the cursor.

Action: Simplify the complex sql statement.

ORA-01038: cannot write database file version string with ORACLE version string

Cause: Attempting to write datafile headers in an old format. The new format can not be used until after the database has been verified as being compatible with this software version.

Action: Open the database to advance to the new file formats, then repeat the operation. If the operation is required before the database can be opened, then use the previous software release to do the operation.

ORA-01039: insufficient privileges on underlying objects of the view

Cause: Attempting to explain plan on other people’s view without the necessary privileges on the underlying objects of the view.

Action: Get necessary privileges or do not perform the offending operation.

ORA-01040: invalid character in password; logon denied

Cause: There are multibyte characters in the password or some characters in the password are not in US7ASCII range.

Action: Resubmit password with valid characters.

ORA-01041: internal error. hostdef extension doesn’t exist

Cause: Pointer to hstdef extension in hstdef is null.

Action: Report as a bug

ORA-01042: detaching a session with open cursors not allowed

Cause: An attempt was made to detach a seesio n which had open cursors.

Action: Close all the cursors before detaching the session.

ORA-01043: user side memory corruption [string], [string], [string], [string]

Cause: The application code corrupted some of the usr memory used by oracle

Action: Make sure that the application code is not overwriting memory.

ORA-01044: size string of buffer bound to variable exceeds maximum string

Cause: An attempt was made to bind a buffer whose total size would exceed the maximum size allowed. Total array size for arrays is calculated as: (element_size)*(number of elements)

Action: Reduce buffer size.

ORA-01045: user string lacks CREATE SESSION privilege; logon denied

Cause: A connect was attempted to a userid which does not have create session privilege.

Action: Grant the user CREATE SESSION privilege.

ORA-01048: Couldn’t find the specified procedure in the given context

Cause: The procedure user specified in deferred RPC doesn’t exist.

Action: Check to make sure that the procedure exists and is visible to the replication process.

ORA-01049: Bind by name is not spupportted in streamed RPC

Cause: A newer version of server is talking with this version requesting an operation not supported in this version.

Action: None

ORA-01051: deferred rpc buffer format invalid

Cause: The deferred rpc data in sys.def$_call is corrupted.

Action: Contact your customer support representive.

ORA-01052: required destination LOG_ARCHIVE_DUPLEX_DEST is not specified

Cause: A valid destination for parameter LOG_ARCHIVE_DUPLEX_DEST was not specified when parameter LOG_ARCHIVE_MIN_SUCCEED_DEST was set to two.

Action: Either specify a value for parameter LOG_ARCHIVE_DUPLEX_DEST, or reduce the value for parameter LOG_ARCHIVE_MIN_SUCCEED_DEST to one.

ORA-01055: Object datatypes not supported for bind or define in this mode

Cause: Bind or Define used for objects with an invalid mode

Action: Change the mode.

ORA-01058: internal New Upi interface error

Cause: Attempt to delete non existant hstdef extension.

Action: Report as a bug.

ORA-01059: parse expected before a bind or execute

Cause: The client application attempted to bind a variable or execute a cursor opened in a PL/SQL block before the statement was parsed.

Action: Ensure the statement is parsed before a bind or execute.

ORA-01060: array binds or executes not allowed

Cause: The client application attempted to bind an array of cursors or attempted to repeatedly execute against a PL/SQL block with a bind variable of type cursor.

Action: Bind a single cursor or execute the PL/SQL block once.

ORA-01061: cannot start up a V8 server using a V7 client application

Cause: You are using an Oracle client application linked with version 7 (or lower) libraries and you attempted to start up a V8 (or higher) server.

Action: Use a client application linked with V8 (or higher) libraries.60

ORA-01062: unable to allocate memory for define buffer

Cause: Exceeded the maximum buffer size for current plaform

Action: Use piecewise fetch with a smaller buffer size

ORA-01070: Using an old version of Oracle for the server

Cause: Using pre 7.0.10.1 version of oracle for server

Action: Upgrade server to post 7.0.10.1 version

ORA-01071: cannot perform operation without starting up ORACLE

Cause: Obvious

Action: None

ORA-01072: cannot stop ORACLE; ORACLE not running

Cause: Obvious

Action: None

ORA-01073: fatal connection error: unrecognized call type

Cause: An illegal internal operation was attempted.

Action: Contact your customer support representative.

ORA-01074: cannot shut down ORACLE; inside a login session — log off first

Cause: Obvious

Action: None

ORA-01075: you are currently logged on

Cause: Attempt to login while logged in.

Action: None

ORA-01076: multiple logons per process not yet supported

Cause: Obvious

Action: None

ORA-01077: background process initialization failure

Cause: Failure during initialization of ORACLE background processes.

Action: Further diagnostic information should be in the error stack or in the trace file.

ORA-01078: failure in processing system parameters

Cause: Failure during processing of INIT.ORA parameters during system startup.

Action: Further diagnostic information should be in the error stack.

ORA-01079: ORACLE database was not properly created, operation aborted

Cause: There was an error when the database or control file was created.

Action: s to recreate the database or a new control file.

ORA-01080: error in shutting down ORACLE

Cause: Failure during system shutdown.

Action: Further diagnostic information should be in the error stack.

ORA-01081: cannot start already-running ORACLE — shut it down first

Cause: Obvious

Action: None

ORA-01082: ‘row_locking = always’ requires the transaction processing option

Cause: «row_locking = always» is specified in INIT.ORA file. This feature is not supported by ORACLE without the transaction processing option.

Action: Remove it from INIT.ORA file or set it to «default» or «intent».

ORA-01083: value of parameter «string» is inconsistent with that of other instances

Cause: The value of the given parameter is required to be the same for all instances in the cluster database configuration. ROW_LOCKING and SERIALIZABLE are 2 examples.

Action: Change the value of the parameter in INIT.ORA file to match that of other cluster database instances.

ORA-01084: invalid argument in OCI call

Cause: The failing OCI call contains an argument with an invalid value.

Action: Use valid argument values. For more information, see the Programmer’s Guide to the Oracle Call Interfaces and the appropriate programming language supplement.

ORA-01085: preceding errors in deferred rpc to «string.string.string«

Cause: Errors were encountered when the named procedure was executed as a deferred remoted procedure call.

Action: Correct the cause of the preceding errors.

ORA-01086: savepoint ‘string‘ never established in this session or is invalid

Cause: An attempt was made to roll back to a savepoint that was never established in this session, or was invalid.

Action: Try rolling back to the savepoint from the session where it is established.

ORA-01088: shutdown in progress — operation not permitted until restart

Cause: The SHUTDOWN command was used to shut down a running Oracle instance but the shutdown operation was not complete.

Action: Wait for the instance to be restarted or contact your database administrator.

ORA-01089: immediate shutdown in progress — no operations are permitted

Cause: The SHUTDOWN IMMEDIATE command was used to shut down a running ORACLE instance, so your operations have been terminated.

Action: Wait for the instance to be restarted, or contact your DBA.

ORA-01090: shutdown in progress — connection is not permitted

Cause: The SHUTDOWN command was used to shut down a running ORACLE instance, so you cannot connect to ORACLE.

Action: Wait for the instance to be restarted, or contact your DBA.

ORA-01091: failure during startup force

Cause: Unable to destroy the old SGA.

Action: Manually remove the old SGA and reissue the STARTUP command

ORA-01092: ORACLE instance terminated. Disconnection forced

Cause: The instance this process was connected to was terminated abnormally, probably via a shutdown abort. This process was forced to disconnect from the instance.

Action: Examine the alert log for more details. When the instance has been restarted, retry action.

ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected

Cause: There is at least one more session other than the current one logged into the instance. ALTER DATABASE CLOSE is not permitted.

Action: Find the other sessions and log them out and resubmit the command

ORA-01095: DML statement processed zero rows

Cause: During a call to OTEX, an update, delete, or insert statement being executed processed zero rows. The execution of statements by OTEX was halted at this point.

Action: None

ORA-01096: program version (string) incompatible with instance (string)

Cause: A program is trying to connect to an instance using a different version of code than the database was started with. This is not allowed.

Action: Either relink the program with the same version as the database or restart the database using the old version of code.

ORA-01097: cannot shutdown while in a transaction — commit or rollback first

Cause: Obvious

Action: None

ORA-01099: cannot mount database in SHARED mode if started in single process mode

Cause: Obvious

Action: None

ORA-01100: database already mounted

Cause: A database is already mounted in this instance.

Action: None

ORA-01101: database being created currently mounted by some other instance

Cause: Some other instance has the database of same name currently mounted and you are trying to create it.

Action: Either change the database name or shutdown the other instance.

ORA-01102: cannot mount database in EXCLUSIVE mode

Cause: Some other instance has the database mounted exclusive or shared.

Action: Shutdown other instance or mount in a compatible mode.

ORA-01103: database name ‘string‘ in control file is not ‘string

Cause: The database name in the control file does not match your database name.

Action: Either find the correct control file or change your database name.

ORA-01104: number of control files (string) does not equal string

Cause: The number of control files used by this instance disagrees with the number of control files in an existing instance.

Action: Check to make sure that all control files are listed.

ORA-01105: mount is incompatible with mounts by other instances

Cause: An attempt to mount the database discovered that another instance mounted a database by the same name, but the mount is not compatible. Additional errors are reported explaining why.

Action: See accompanying errors.

ORA-01106: database must be closed before dismounting

Cause: Obvious

Action: None

ORA-01107: database must be mounted for media recovery

Cause: An attempt to perform media recovery was made but the database is not mounted.

Action: Mount the database.

ORA-01108: file string is in backup or media recovery

Cause: Either media recovery is actively being applied to the file, or it is being backed up while the database is in NOARCHIVELOG mode. It cannot be used for normal database access or crash recovery.

Action: Complete or cancel the media recovery session or backup.

ORA-01109: database not open

Cause: A command was attempted that requires the database to be open.

Action: Open the database and try the command again

ORA-01110: data file string: ‘string

Cause: Reporting file name for details of another error. The reported name can be of the old file if a data file move operation is in progress.

Action: See associated error message.

ORA-01111: name for data file string is unknown — rename to correct file

Cause: The data file was missing from a CREATE CONTROLFILE command or backup control file recovery was done with a control file that was saved before the file was created.

Action: Rename the MISSING file to the name of the real file.

ORA-01112: media recovery not started

Cause: An attempt to continue media recovery is being made but media recovery was not started.

Action: None

ORA-01113: file string needs media recovery

Cause: An attempt was made to online or open a database with a file that is in need of media recovery.

Action: First apply media recovery to the file.

ORA-01114: IO error writing block to file string (block # string)

Cause: The device on which the file resides is probably offline. If the file is a temporary file, then it is also possible that the device has run out of space. This could happen because disk space of temporary files is not necessarily allocated at file creation time.

Action: Restore access to the device or remove unnecessary files to free up space.

ORA-01115: IO error reading block from file string (block # string)

Cause: Device on which the file resides is probably offline

Action: Restore access to the device

ORA-01116: error in opening database file string

Cause: Usually the file is not accessible.

Action: Restore the database file.

ORA-01117: adding file ‘string‘ with illegal block size: string; limit is string

Cause: An attempt was made to add a database file with a block size that is greater than the maximum block size allowed.

Action: Retry the DDL command with a smaller block size.

ORA-01118: cannot add any more database files: limit of string exceeded

Cause: There is no more room in the control file for adding database files.

Action: Resize the control file or drop other tablespaces.

ORA-01119: error in creating database file ‘string

Cause: Usually due to not having enough space on the device.

Action: None

ORA-01120: cannot remove online database file string

Cause: Attempting to drop a datafile when it is online

Action: Take file offline before dropping.

ORA-01121: cannot rename database file string — file is in use or recovery

Cause: Attempted to use ALTER DATABASE RENAME to rename a datafile that is online in an open instance or is being recovered.

Action: Close database in all instances and end all recovery sessions.

ORA-01122: database file string failed verification check

Cause: The information in this file is inconsistent with information from the control file. See accompanying message for reason.

Action: Make certain that the db files and control files are the correct files for this database.

ORA-01123: cannot start online backup; media recovery not enabled

Cause: An attempt to start backup of an on-line tablespace failed because media recovery is not enabled.

Action: Enable media recovery and retry this operation.

ORA-01124: cannot recover data file string — file is in use or recovery

Cause: An attempt to do media recovery found that the file was not available for recovery. Either it is online and the database is open in some instance, or another process is curently doing media recovery on the file.

Action: Do not do media recovery.

ORA-01125: cannot disable media recovery — file string has online backup set

Cause: An attempt to disable media recovery found that an online backup is still in progress.

Action: End the backup of the offending tablespace and retry this command.

ORA-01126: database must be mounted in this instance and not open in any instance

Cause: Obvious

Action: None

ORA-01127: database name ‘string‘ exceeds size limit of string characters

Cause: Obvious

Action: None

ORA-01128: cannot start online backup — file string is offline

Cause: An attempt to start an online backup found that one of the files is offline.

Action: Bring the offending files online and retry this command or do a cold backup.

ORA-01129: user’s default or temporary tablespace does not exist

Cause: The user’s default or temporary tablespace was dropped.

Action: Reassign the default or temporary tablespace.

ORA-01135: file string accessed for DML/query is offline

Cause: Attempted to access a data file that is offline

Action: Bring the data file back online

ORA-01136: specified size of file string (string blocks) is less than original size of string blocks

Cause: A file size was specified in the AS clause of ALTER DATABASE CREATE DATAFILE, and the size was smaller the the size needed

Action: Create the file with a larger size.

ORA-01137: data file string is still in the middle of going offline

Cause: It was not possible to get the lock for a file that is offline when attempting to bring it online. The most likely cause is that the lock is still held by the instance that is took it offline.

Action: Wait a bit and try to online the file again.

ORA-01138: database must either be open in this instance or not at all

Cause: The requested operation can not be done when the database is mounted but not open in this instance, and another instance has the database open.

Action: Execute the operation in an open instance, open the datbase in this instance, or close the database in the other instances.

ORA-01139: RESETLOGS option only valid after an incomplete database recovery

Cause: The RESETLOGS option was given in ALTER DATABASE OPEN, but there has been no incomplete recovery session.

Action: Retry the ALTER DATABASE OPEN without specifying RESETLOGS

ORA-01140: cannot end online backup — all files are offline or readonly

Cause: All the files were found to be offline or readonly when attempting to end an online backup.

Action: None. Online backup does not need to be ended for this tablespace.

ORA-01141: error renaming data file string — new file ‘string‘ not found

Cause: An attempt to change a data file’s name in the control file failed because no file was found with the new name.

Action: Make sure that the data file has been properly renamed by the operating system and retry.

ORA-01142: cannot end online backup — none of the files are in backup

Cause: None of the files were found to be in online backup when attempting to end an online backup.

Action: None. Online backup does not need to be ended for this tablespace.

ORA-01143: cannot disable media recovery — file string needs media recovery

Cause: An attempt to disable media recovery found a file that needs media recovery, thus media recovery cannot be disabled.

Action: Recover the offending file or drop the tablespace it belongs to and retry this command.

ORA-01144: File size (string blocks) exceeds maximum of string blocks

Cause: Specified file size is larger than maximum allowable size value.

Action: Specify a smaller size.

ORA-01145: offline immediate disallowed unless media recovery enabled

Cause: ALTER TABLESPACE … OFFLINE IMMEDIATE or ALTER DATABASE DATAFILE … OFFLINE is only allowed if database is in ARCHIVELOG mode.

Action: Take tablespace offline normally or shutdown abort. Reconsider your backup strategy. You could do this if you were archiving your logs.

ORA-01146: cannot start online backup — file string is already in backup

Cause: When starting an online backup it was noticed that an online backup was already started for one of the data files.

Action: End the first backup before beginning another.

ORA-01147: SYSTEM tablespace file string is offline

Cause: A file belonging to the SYSTEM tablespace has been marked offline by the DBA. The database cannot be started until all SYSTEM tablespace files are online and openable.

Action: Bring the file online.

ORA-01148: cannot refresh file size for datafile string

Cause: An operating system or device error occurred when retrieving the file’s size. The device on which the file resides may have been offline.

Action: Restore access to the device.

ORA-01149: cannot shutdown — file string has online backup set

Cause: An attempt to shutdown normally found that an online backup is still in progress.

Action: End the backup of the offending tablespace and retry this command.

ORA-01150: cannot prevent writes — file string has online backup set

Cause: An attempt to make a tablespace read only or offline normal found that an online backup is still in progress. It will be necessary to write the file header to end the backup, but that would not be allowed if this command succeeded.

Action: End the backup of the offending tablespace and retry this command.

ORA-01151: use media recovery to recover block, restore backup if needed

Cause: Error 1172 occurred.

Action: This is additional information for error 1172.

ORA-01152: file string was not restored from a sufficiently old backup

Cause: An incomplete recovery session was started, but an insufficient number of logs were applied to make the database consistent. This file is still in the future of the last log applied. The most likely cause of this error is forgetting to restore the file from a backup before doing incomplete recovery.

Action: Either apply more logs until the database is consistent or restore the database file from an older backup and repeat recovery.

ORA-01153: an incompatible media recovery is active

Cause: Attempted to start an incompatible media recovery or open resetlogs during media recovery or RMAN backup . Media recovery sessions are incompatible if they attempt to recover the same data file. Incomplete media recovery or open resetlogs is incompatible with any media recovery. Backup or restore by RMAN is incompatible with open resetlogs

Action: Complete or cancel the other media recovery session or RMAN backup

ORA-01154: database busy. Open, close, mount, and dismount not allowed now

Cause: Some operation is in progress that expects the opened/mounted state of this instance to remain the same.

Action: Wait for the operation to complete then retry. If attempting to do a shutdown, SHUTDOWN ABORT will work. If this is a shutdown of a standby database that is operating in NO DATA LOSS mode, you must shutdown the primary database first.

ORA-01155: the database is being opened, closed, mounted or dismounted

Cause: The requested operation needs the instance to be in a particular state but the state is being changed.

Action: Wait for the open, close, mount, or dismount to complete then retry the operation. If necessary, a SHUTDOWN ABORT will always work.

ORA-01156: recovery or flashback in progress may need access to files

Cause: Either media recovery, instance recovery, or flashback was in progress. The recovery or flashback in progress may need the files to which this operation is being applied.

Action: Wait for recovery or flashback to complete.

ORA-01157: cannot identify/lock data file string — see DBWR trace file

Cause: The background process was either unable to find one of the data files or failed to lock it because the file was already in use. The database will prohibit access to this file but other files will be unaffected. However the first instance to open the database will need to access all online data files. Accompanying error from the operating system describes why the file could not be identified.

Action: Have operating system make file available to database. Then either open the database or do ALTER SYSTEM CHECK DATAFILES.

ORA-01158: database string already mounted

Cause: Another instance has a database by this name mounted.

Action: Find which instance is still running. Perhaps you have not lost the control files after all.

ORA-01159: file is not from same database as previous files — wrong database id

Cause: Not all of the files specified in CREATE CONTROLFILE are from the same database. The database ID of this file does not match that from the first file specified.

Action: Please double check the list of files provided to the CREATE

ORA-01160: file is not a string

Cause: The named file in the DATAFILE or LOGFILE section of the CREATE CONTROLFILE command does not appear to be as stated.

Action: Please double check the mentioned file.

ORA-01161: database name string in file header does not match given name of string

Cause: The database name given at the command line does not match the database name found in the file header.

Action: Chance are good that the database name specified at the command line is incorrect. Resolve the descepency, and resubmit the command. If you are attempting to change the database name, be sure to use the SET DATABASE option.

ORA-01162: block size string in file header does not match configured block sizes

Cause: CREATE CONTROLFILE discovered that the block size for this file is incompatible with any of the configured cache blocksizes in the INIT.ORA file.

Action: Configure the appropriate cache for this block size using one of the various (db_2k_cache_size, db_4k_cache_size, db_8k_cache_size, db_16k_cache_size, db_32K_cache_size) parameters.

ORA-01163: SIZE clause indicates string (blocks), but should match header string

Cause: The size specified in bytes in the SIZE clause of the CREATE CONTROLFILE statement does not equate to the number of blocks recorded in the header.

Action: Specify the correct filename and size ( in bytes ).

ORA-01164: MAXLOGFILES may not exceed string

Cause: MAXLOGFILES specified on the command line too large.

Action: Resubmit the command with a smaller MAXLOGFILES

ORA-01165: MAXDATAFILES may not exceed string

Cause: MAXDATAFILES specified on the command line too large.

Action: Resubmit the command with a smaller MAXDATAFILES

ORA-01166: file number string is larger than string (string)

Cause: File mentioned in CREATE CONTROLFILE has a file number which is larger than that specified for MAXDATAFILES or MAXLOGFILES.

Action: Increase the maximum specified on the command line.

ORA-01167: two files are the same file/group number or the same file

Cause: There is an overlap of file numbers in the files specified on the command line or the same file is specified twice. If they are not the exact same file then one is likely to be a backup of the other. If they are two members of the same log they must be specified together in a group file spec. This message will also appear if the same control file appears more than once in the control_files parameter in the init.ora file. If this happens, check for additional error messages.

Action: Confirm that the file mentioned is not a repeat of a file already mentioned in the command. If they are different files then omit the earlier backup. If they are members of the same log, insure they are in the same group file specification. If this message appears because of a duplicate control file, check the control_files parameter in the init.ora file and see if a file is specified more than once. If all files names appear to be unique, check to make sure that the actual control files themselves are unique. For example, in UNIX check for a symbolic or a hard link to another control file in the list.

ORA-01168: physical block size string does not match size string of other members

Cause: The file is located on a device with a different physical block size than the other members in the group

Action: Use a physical device with matching block size.

ORA-01169: DATAFILE number 1 not found. Must be present

Cause: Datafile number 1 was not specified in a CREATE CONTROLFILE command.

Action: Locate datafile number 1 and resubmit the CREATE CONTROLFILE command.

ORA-01170: file not found ‘string

Cause: ALL datafiles and, if NORESETLOGS, ALL logfiles MUST be accessible by the process for CREATE CONTROLFILE.

Action: The file specified probably contains a typing error. Double check command and the existance of all files and then resubmit.

ORA-01171: datafile string going offline due to error advancing checkpoint

Cause: The checkpoint in the file header could not be advanced. See accompanying errors for the reason. The datafile will be taken offline the same as for a write error of a data block.

Action: See accompanying errors for details. Restore access to the file, do media recovery, and bring it back online.

ORA-01172: recovery of thread string stuck at block string of file string

Cause: Crash recovery or instance recovery could not apply a change to a block because it was not the next change. This can happen if the block was corrupted and then repaired during recovery.

Action: Do a RECOVER DATAFILE for the file containing the block. If this does not resolve the problem then restore the file from a backup and recover it.

ORA-01173: data dictionary indicates missing data file from system tablespace

Cause: Either the database has been recovered to a point in time in the future of the control file or a datafile from the system tablespace was omitted from the create control file command previously issued.

Action: For the former problem you need to recover the database from a more recent control file. For the latter problem, simply recreate the control file checking to be sure that you include all the datafiles in the system tablespace.

ORA-01174: DB_FILES is string buts needs to be string to be compatible

Cause: The maximum number of database files supported by this instance is not the same as for the other instances. All instances must be able to open all the files any instance can open.

Action: Change the value of the DB_FILES parameter to be compatible

ORA-01175: data dictionary has more than the string files allowed by the instance

Cause: The data dictionary is found to have more files than that which can be supported by this instance.

Action: Shutdown the instance and restart with a larger number of db_files

ORA-01176: data dictionary has more than the string files allowed by the controlfie

Cause: After a CREATE CONTROLFILE, the data dictionary was found to have more datafiles than that supported by the control file.

Action: Recreate the control file with a larger MAXDATAFILES.

ORA-01177: data file does not match dictionary — probably old incarnation

Cause: When comparing the control file with the data dictionary after a CREATE CONTROLFILE or OPEN RESETLOGS, it was noted that this datafile was inconsistent with the dictionary. Most likely the file is a backup of a file that was dropped from the database, and the same file number was reused for a new file. It may also be that an incomplete recovery stopped at a time when this file number was used for another datafile.

Action: Do a CREATE CONTROLFILE with the correct file or none at all.

ORA-01178: file string created before last CREATE CONTROLFILE, cannot recreate

Cause: Attempted to use ALTER DATABASE CREATE DATAFILE to recreate a datafile that existed at the last CREATE CONTROLFILE command. The information needed to recreate the file was lost with the control file that existed when the file was added to the database.

Action: Find a backup of the file, and recover it. Do incomplete recovery to time before file was originally created.

ORA-01179: file string does not exist

Cause: During datafile recovery, a file was listed which was not part for the database.

Action: Recheck the datafile name. Remember to use double quotes at the SQLDBA command line and remember that the file name is translated in the environment of the SQLDBA.

ORA-01180: can not create datafile 1

Cause: Attempting to create datafile 1 using ALTER DATABASE CREATE DATAFILE.

Action: Recover file from a backup or recreate database.

ORA-01181: file string created before last known RESETLOGS, cannot recreate

Cause: Attempted to use ALTER DATABASE CREATE DATAFILE to recreate a datafile that existed before the last known RESETLOGS.

Action: Find a backup of the file, and recover it. Do incomplete recovery to time before file was originally created.

ORA-01182: cannot create database file string — file is in use or recovery

Cause: Attempted to use ALTER DATABASE CREATE DATAFILE to recreate a datafile that is online in an open instance or is being recovered.

Action: Close database in all instances and end all recovery sessions

ORA-01183: cannot mount database in SHARED mode

Cause: Some other instance has the database mounted exclusive.

Action: Shutdown other instance then mount shared.

ORA-01184: logfile group string already exists

Cause: An ALTER DATABASE ADD LOGFILE command specified a log number for the new log which is already in use.

Action: Specify a different logfile number, or let the database choose an unused value.

ORA-01185: logfile group number string is invalid

Cause: An ALTER DATABASE ADD LOGFILE command specified a log number for the new log which is too large.

Action: Specify a correct logfile number.

ORA-01186: file string failed verification tests

Cause: The data file did not pass the checks to insure it is part of the database. See the accompanying error messages for the reason the verification failed.

Action: Make the correct file available to the database. Then, either open the database, or execute ALTER SYSTEM CHECK DATAFILES.

ORA-01187: cannot read from file string because it failed verification tests

Cause: The data file did not pass the checks to insure it is part of the database. Reads are not allowed until it is verified.

Action: Make the correct file available to the database. Then, either open the database, or execute ALTER SYSTEM CHECK DATAFILES.

ORA-01188: The block size specified string does not match header block size string

Cause: The block size specified in the BLOCKSIZE clause of the CREATE CONTROLFILE statement does not equate to the block size recorded in the log file header.

Action: Specify the correct block size.

ORA-01189: file is from a different RESETLOGS than previous files

Cause: In a CREATE CONTROLFILE command either this file or all previous files were backups from before the last RESETLOGS. This may also occur if this is a file that is offline and has been offline since before the last RESETLOGS.

Action: If the file was taken offline normal before the last RESETLOGS, and is still offline, omit it from the CREATE CONTROLFILE command. Rename and online the file after the database is open. Otherwise find the version of the mentioned file consistent with the rest of the datafiles and resubmit the command.

ORA-01190: control file or data file string is from before the last RESETLOGS

Cause: Attempting to use a data file when the log reset information in the file does not match the control file. Either the data file or the control file is a backup that was made before the most recent ALTER DATABASE OPEN RESETLOGS.

Action: Restore file from a more recent backup.

ORA-01191: file string is already offline — cannot do a normal offline

Cause: When attempting to do a normal tablespace offline it was discovered that one of the files in the tablespace was already offline.

Action: Either bring the datafile online first, or use another tablespace offline option.

ORA-01192: must have at least one enabled thread

Cause: You must specify at least two logfiles from at least one thread at the create contolfile command line.

Action: Find the missing logfiles and resubmit the command with the newly found logfiles included in the command line.

ORA-01193: file string is not the same file seen at start of recovery

Cause: A different copy of the file was accessed the last time media recovery looked at the file header. A backup of the file was restored or the meaning of the file name changed during recovery.

Action: Ensure the correct file is available, then retry recovery.

ORA-01194: file string needs more recovery to be consistent

Cause: An incomplete recovery session was started, but an insufficient number of logs were applied to make the file consistent. The reported file was not closed cleanly when it was last opened by the database. It must be recovered to a time when it was not being updated. The most likely cause of this error is forgetting to restore the file from a backup before doing incomplete recovery.

Action: Either apply more logs until the file is consistent or restore the file from an older backup and repeat recovery.

ORA-01195: online backup of file string needs more recovery to be consistent

Cause: An incomplete recovery session was started, but an insufficient number of logs were applied to make the file consistent. The reported file is an online backup which must be recovered to the time the backup ended.

Action: Either apply more logs until the file is consistent or restore the database files from an older backup and repeat recovery.

ORA-01196: file string is inconsistent due to a failed media recovery session

Cause: The file was being recovered but the recovery did not terminate normally. This left the file in an inconsistent state. No more recovery was successfully completed on this file.

Action: Either apply more logs until the file is consistent or restore the backup again and repeat recovery.

ORA-01197: thread string only contains one log

Cause: During CREATE CONTROLFILE all threads represented in the logs must be represented by at least two logs. A «last log» and a second log. The named thread does not contain two such logs.

Action: Either find more logs from the named thread. Or use the RESETLOGS option to CREATE CONTROLFILE.

ORA-01198: must specify size for log file if RESETLOGS

Cause: File sizes must be given for all logfiles if doing a CREATE CONTROLFILE with the RESETLOGS option.

Action: Resubmit the command with the appropriate logfile size.

ORA-01199: file string is not in online backup mode

Cause: Attempting to end an online backup for a file that is not in online backup.

Action: Do not enter command since it is not needed.

ORA-01200: actual file size of string is smaller than correct size of string blocks

Cause: The size of the file as returned by the operating system is smaller than the size of the file as indicated in the file header and the control file. Somehow the file has been truncated. Maybe it is the result of a half completed copy.

Action: Restore a good copy of the data file and do recovery as needed.

ORA-01201: file string header failed to write correctly

Cause: An I/O error was reported for the file header. The error was trapped and a second attempt will be made.

Action: The file probably will require recovery. Further error messages will indicate what is needed.

ORA-01202: wrong incarnation of this file — wrong creation time

Cause: The creation time in the file header is not the same as the creation time in the control file. This is probably a copy of a file that was dropped.

Action: Restore a current copy of the data file and do recovery as needed.

ORA-01203: wrong incarnation of this file — wrong creation SCN

Cause: The creation SCN in the file header is not the same as the creation SCN in the control file. This is probably a copy of a file that was dropped.

Action: Restore a current copy of the data file and do recovery as needed.

ORA-01204: file number is string rather than string — wrong file

Cause: The file number in the file header is not correct. This is probably a restored backup of the wrong file, but from the same database.

Action: Restore a copy of the correct data file and do recovery as needed.

ORA-01205: not a data file — type number in header is string

Cause: The file type in the header is not correct for a data file. This is probably a log file or control file. If the type is not a small non-zero positive number then the header is corrupted.

Action: Restore a copy of the correct data file and do recovery as needed.

ORA-01206: file is not part of this database — wrong database id

Cause: The database ID in the file header does not match the database id in the control file. The file may be from a different database, or it may not be a database file at all. If the database was rebuilt, this may be a file from before the rebuild. Note that if you see this error when the file is supposed to be plugged in from another database via the Transportable Tablespace feature, it means the database ID in the file header does not match the one expected.

Action: Restore a copy of the correct data file and do recovery as needed.

ORA-01207: file is more recent than control file — old control file

Cause: The control file change sequence number in the data file is greater than the number in the control file. This implies that the wrong control file is being used. Note that repeatedly causing this error can make it stop happening without correcting the real problem. Every attempt to open the database will advance the control file change sequence number until it is great enough.

Action: Use the current control file or do backup control file recovery to make the control file current. Be sure to follow all restrictions on doing a backup control file recovery.

ORA-01208: data file is an old version — not accessing current version

Cause: The checkpoint in the file header is less recent than in the control file. If opening a database that is already open by another instance, or if another instance just brought this file online, the file accessed by this instance is probably a different version. Otherwise, a backup of the file probably was restored while the file was in use.

Action: Make the correct file available to the database. Then, either open the database, or execute ALTER SYSTEM CHECK DATAFILES.

ORA-01209: data file is from before the last RESETLOGS

Cause: The reset log data in the file header does not match the control file. If the database is closed or the file is offline, the backup is old because it was taken before the last ALTER DATABASE OPEN RESETLOGS command. If opening a database that is open already by another instance, or if another instance just brought this file online, the file accessed by this instance is probably a different version. Otherwise, a backup of the file probably was restored while the file was in use.

Action: Make the correct file available to the database. Then, either open the database, or execute ALTER SYSTEM CHECK DATAFILES.

ORA-01210: data file header is media corrupt

Cause: The file header block is internally inconsistent. The beginning of the block has a header with a checksum and other data for insuring the consistancy of the block. It is possible that the last disk write did not operate correctly. The most likely problem is that this is not a datafile for any database.

Action: Have operating system make correct file available to database. If the trace file dump indicates that only the checksum is wrong, restore from a backup and do media recovery.

ORA-01211: Oracle7 data file is not from migration to Oracle8

Cause: The file is not a copy of the file LAST used under Oracle7. This datafile is either a backup taken from before the migration, or the database was opened by Oracle7 after the migration utility was run. When converting a database from Oracle7 to Oracle8, the migration program MUST be the LAST utility to access the database under Oracle7. Only the datafiles that were current when the migration was done may be accessed by Oracle8.

Action: Have operating system make correct data file available to database, or repeat the Oracle7 to Oracle8 migration. Make sure that database is NOT opened after migration utility is run.

ORA-01212: MAXLOGMEMBERS may not exceed string

Cause: MAXLOGMEMBERS specified on the command line too large.

Action: Resubmit the command with a smaller MAXLOGMEMBERS

ORA-01213: MAXINSTANCES may not exceed string

Cause: MAXINSTANCES specified on the command line too large.

Action: Resubmit the command with a smaller MAXINSTANCES

ORA-01214: MAXLOGHISTORY may not exceed string

Cause: MAXLOGHISTORY specified on the command line too large.

Action: Resubmit the command with a smaller MAXLOGHISTORY

ORA-01215: enabled thread string is missing after CREATE CONTROLFILE

Cause: A CREATE CONTROLFILE statement was given which did not list all the enabled threads for the database.

Action: Reissue the CREATE CONTROLFILE statement, including all enabled threads.

ORA-01216: thread string is expected to be disabled after CREATE CONTROLFILE

Cause: A thread that was given during CREATE CONTROLFILE is enabled, but the datafiles indicate that it should be disabled. This is probably because the logs supplied to the CREATE CONTROLFILE are old (from before the disabling of the thread).

Action: This thread is not required to run the database. The CREATE CONTROLFILE statement can be reissued without the problem thread, and, if desired, the thread can be recreated after the database is open.

ORA-01217: logfile member belongs to a different logfile group

Cause: A member of a multiple-member logfile group specified in a CREATE CONTROLFILE is not part of the same group as previous members.

Action: Group together the correct members for the CREATE CONTROLFILE command.

ORA-01218: logfile member is not from the same point-in-time

Cause: A member of a multiple-member logfile group is from a different point in time. One of the members specified may be an older (backup) copy of the log.

Action: Find the correct version of the log, or leave it out of the CREATE CONTROLFILE command.

ORA-01219: database not open: queries allowed on fixed tables/views only

Cause: A query was issued against an object not recognized as a fixed table or fixed view before the database has been opened.

Action: Re-phrase the query to include only fixed objects, or open the database.

ORA-01220: file based sort illegal before database is open

Cause: A query issued against a fixed table or view required a temporary segment for sorting before the database was open. Only in-memory sorts are supported before the database is open.

Action: Re-phrase the query to avoid a large sort, increase the values of the SORT_AREA_SIZE and/or SORT_AREA_RETAINED_SIZE initialization parameters to enable the sort to be done in memory.

ORA-01221: data file string is not the same file to a background process

Cause: When the database writer opens the data file, it is accessing a different physical file than the foreground doing the recovery. The timestamp set in the file header by the foreground was not found by the background. It may be that the background process could not read the file at all.

Action: Look in the DBWR trace file for the error it recieved when attempting to read the file header. Reconfigure the operating system as needed to have the file name successfully access the same file when opened by a background process.

ORA-01222: MAXINSTANCES of string requires MAXLOGFILES be at least string, not string

Cause: Attemping to create a database or control file that does not have room for at least two logs per thread of redo. A thread of redo must have two online logs in order to be enabled. It does not make sense to allow more redo threads than can be supported by the logs.

Action: Either reduce the MAXINSTANCES argument or increase MAXLOGFILES.

ORA-01223: RESETLOGS must be specified to set a new database name

Cause: The SET database name option was specified to CREATE CONTROLFILE, but RESETLOGS was not specified. The database name can only be changed when opening the database with RESETLOGS.

Action: Either add the RESETLOGS option or drop the SET option to CREATE CONTROLFILE.

ORA-01224: group number in header string does not match GROUP string

Cause: Group number specified at CREATE CONTROLFILE does not match the group number stored in the header. Most likely the specification is wrong.

Action: Omit the GROUP option or give the correct one.

ORA-01225: thread number string is greater than MAXINSTANCES string

Cause: The log is for a thread greater than the MAXINSTANCES argument.

Action: Increase the value for MAXINSTANCES and resubmit the command.

ORA-01226: file header of log member is inconsistent with other members

Cause: The log file member in the accompanying error is for the same group as the previous members, but other fields in the header are different. Either a file header is corrupted, or some file is a member of a deleted log.

Action: Find the correct log member or omit this member from the command.

ORA-01227: log string is inconsistent with other logs

Cause: The log file in the accompanying error is inconsistent with the contents of other logs given in the CREATE CONTROLFILE command. Either a file header is corrupted, or some file is an old copy rather than the current version. The problem may not be with the log listed since all that can be detected is that there is an inconsistancy. All log files listed in the command must be the current versions of the online logs.

Action: Find the correct online logs or use the RESETLOGS option.

ORA-01228: SET DATABASE option required to install seed database

Cause: The SET DATABASE option was not included in the CREATE CONTROLFILE command when installing a seed database. The database does not have a database ID because it is intended to be installed at multiple sites, and each site needs to be a different database with its own database id. Both the SET DATABASE and RESETLOGS options must be specified to create the control file for this database.

Action: Resubmit command with the SET DATABASE and RESETLOGS options.

ORA-01229: data file string is inconsistent with logs

Cause: The data file in the accompanying error is inconsistent with the contents of the logs given in the CREATE CONTROLFILE command. The most likely cause is that one or more of the online logs was missing from the command. It is also possible that one or more of the logs is an old copy rather than the current version. All online log files must be listed in the command and must be the current versions of the online logs.

Action: Find the correct online logs or use the RESETLOGS option.

ORA-01230: cannot make read only — file string is offline

Cause: An attempt to make a tablespace read only found that one of its files is offline.

Action: Bring the file online and retry this command.

ORA-01231: cannot make read write — file string is offline

Cause: An attempt to make a tablespace read write found that one of its files is offline.

Action: Bring the file online and retry this command.

ORA-01232: cannot start online backup — file string is being made read-only

Cause: An attempt to start an online backup found that one of the files is in transition to read-only mode.

Action: Wait for the transition to complete and then retry the command, if this is an ALTER DATABASE BEGIN BACKUP command, or take the backup without any begin or end commands, if this is an ALTER TABLESPACE BEGIN BACKUP command.

ORA-01233: file string is read only — cannot recover using backup control file

Cause: An attempt to do media recovery using a backup control file found that one of the files is marked read only. Read only files do not normally need to be recovered, but recovery with a backup control file must recover all online files.

Action: If the file really is read only, take it offline before the recovery, and bring the read only tablespace online after the database is open. If the file does need recovery use a control file from the time the file was read-write. If the correct control file is not available, use CREATE CONTROLFILE to make one.

ORA-01234: cannot end backup of file string — file is in use or recovery

Cause: Attempted to end an online backup of file when the file is busy. Some operation such as recovery or rename may be active, or there may still be some instance that has the database open with this file online.

Action: If there is an instance with the database open then the backup can be ended there by using the ALTER TABLESPACE command. Otherwise wait for the completion of the other operation.

ORA-01235: END BACKUP failed for string file(s) and succeeded for string

Cause: One or more of the files in an end backup command failed. Some other files given in the same command may have succeeded.

Action: See the accompanying error messages for the reason the backups could not be ended. Any files not listed in the error messages were successful.

ORA-01236: Error string occurred during initialization of file header access

Cause: The indicated error occurred while doing initialization processing of file headers.

Action: The error indicated should be corrected. An attempt is made to recover from this error by using a slower access algorithm.

ORA-01237: cannot extend datafile string

Cause: An operating system error occurred during the resize.

Action: Fix the cause of the operating system error and retry the command.

ORA-01238: cannot shrink datafile string

Cause: An operating system error occurred during the resize.

Action: The error is ignored, operation continues normally.

ORA-01239: database must be in ARCHIVELOG mode to use external cache

Cause: An online file uses an external cache, but the database is in NOARCHIVELOG mode. Since an external cache may require media recovery this can not be allowed.

Action: Change database to be in ARCHIVELOG mode or do not use an external cache.

ORA-01240: too many data files to add in one command

Cause: The command specifies adding more data files than can be done in one command. It is necessary to fit all the file names into one log entry, but that would make the entry too large.

Action: If this is a CREATE TABLESPACE command, create with fewer files then add the other files later. If this is an ADD DATAFILE command, break it up into multiple commands.

ORA-01241: an external cache has died

Cause: The external cache may have been restarted.

Action: Take the file mentioned in the error stack offline, perform media recovery, bring the file online, and retry the attempted operation. You may also restart all instances to make sure they access all data files through consistent external caches.

ORA-01242: data file suffered media failure: database in NOARCHIVELOG mode

Cause: The database is in NOARCHIVELOG mode and a database file was detected as inaccessible due to media failure.

Action: Restore accessibility to the file mentioned in the error stack and restart the instance.

ORA-01243: system tablespace file suffered media failure

Cause: A system tablespace file was detected as inaccessible due to media failure.

Action: Restore accessibility to the file mentioned in the error stack and restart the instance.

ORA-01244: unnamed datafile(s) added to control file by media recovery

Cause: Media recovery with a backup control file or a control file that was rebuilt, encountered the creation of a datafile that was not in the control file. An entry has been added to the control file for the new datafiles, but with the file name UNNAMEDnnnn, where nnnn is the file number. Attached errors describe the file names that were originally used to create the files.

Action: Rename the files to valid file names and resume recovery. If necessary the command ALTER DATABASE CREATE DATAFILE may be used to create a file suitable for recovery and do the rename. If the file is not going to be recovered then take it offline with the FOR DROP option.

ORA-01245: offline file string will be lost if RESETLOGS is done

Cause: Attempting to do an OPEN RESETLOGS with a file that will be lost because it is offline. The file was not taken offline with the FOR DROP option.

Action: Either bring the file online and recover it, or take it offline with the FOR DROP option.

ORA-01246: recovering files through TSPITR of tablespace string

Cause: The files named in the accompanying errors are backups that were made before a tablespace point in time recovery of this tablespace. They cannot be recovered to a time after the point in time recovery.

Action: Restore more recent backups and recover them.

ORA-01247: database recovery through TSPITR of tablespace string

Cause: Recovery of the whole database encountered redo indicating there was a point in time recovery of the tablespace. The new version of the files in the tablespace should be included in the recovery, but that was not done.

Action: If the tablespace should not be recovered, take its file offline for drop. If it should be recovered, then restore or rename as needed and restart the recovery.

ORA-01248: file string was created in the future of incomplete recovery

Cause: Attempting to do a RESETLOGS open with a file entry in the control file that was originally created after the UNTIL time of the incomplete recovery. Allowing such an entry may hide the version of the file that is needed at this time. The file number may be in use for a different file which would be lost if the RESETLOGS was allowed.

Action: If more recovery is desired then apply redo until the creation time of the file is reached. If the file is not wanted and the same file number is not in use at the stop time of the recovery, then the file can be taken offline with the FOR DROP option. Otherwise a different control file is needed to allow the RESETLOGS. Another backup can be restored and recovered, or a control file can be created via CREATE CONTROLFILE.

ORA-01249: archiving not allowed in a clone database

Cause: Attempting to archive an online redo log or enable archiving for a clone database.

Action: Do not attempt to archive from a clone. The archive log destination could easily be the same as the primary database destroying its archived logs. If archiving is needed then recreate database as not a clone.

ORA-01250: Error string occurred during termination of file header access

Cause: The indicated error occurred while terminating the processing of file headers. The error was other than a write error.

Action: The indicated error should be corrected.

ORA-01251: Unknown File Header Version read for file number string

Cause: Read of the file header returned a record but its version cannot be identified. Either the header has been corrupted, or the file is not a valid database file.

Action: Have the operating system make the correct file available to the database, or recover the file.

ORA-01252: cannot prevent writes — file string in recovery manager backup

Cause: An attempt to make a tablespace read only or offline normal found that a recovery manager proxy backup is in progress. If the file is made offline or read-only, then the file header cannot be updated when the backup is complete.

Action: Wait for the Recovery Manager backup to complete and retry this command.

ORA-01253: cannot start online backup — file string in recovery manager backup

Cause: The specified file is being backed up by Recovery Manager.

Action: Wait for the Recovery Manager proxy backup to complete before starting another backup.

ORA-01254: cannot end online backup — file string in recovery manager backup

Cause: The specified file is being backed up by Recovery Manager.

Action: Wait for the Recovery Manager proxy backup to complete. Recovery Manager backup mode cannot be initiated or terminated manually.

ORA-01255: cannot shutdown — file string in recovery manager backup

Cause: An attempt to shutdown normally found that a Recovery Manager backup is still in progress.

Action: Wait for the Recovery Manager proxy backup to complete and retry this command.

ORA-01256: error in locking database file string

Cause: The file is in use by another database instance.

Action: Determine which database instance legitimately owns the file.

ORA-01257: cannot reuse database file string, unknown file size

Cause: The size of the raw partion cannot be determined

Action: Add the datafile/logfile by specifying the size parameter.

ORA-01258: unable to delete temporary file string

Cause: A DROP TABLESPACE INCLUDING CONTENTS AND DATAFILES or ALTER DATABASE TEMPFILE DROP INCLUDING DATAFILES operation was not able to delete a temporary file in the database.

Action: Subsequent errors describe the operating system error that prevented the file deletion. Fix the problem, if possible, and manually purge the file.

ORA-01259: unable to delete datafile string

Cause: A DROP TABLESPACE INCLUDING CONTENTS AND DATAFILES operation was not able to delete a datafile in the tablespace.

Action: Subsequent errors describe the operating system error that prevented the file deletion. Fix the problem, if possible, and manually purge the file.

ORA-01260: warning: END BACKUP succeeded but some files found not to be in backup mode

Cause: END BACKUP completed successfully for all files that were in online backup mode. However one or more modifiable files were found not to be in online backup mode. Backup of those files (if it was done) can be invalid and, if restored, can result in an inconsistent database.

Action: Check the alert log for a list of the files that were found not to be in backup mode. If there is a possibility that those files have been modified during online backup, then replace their backups with new ones.

ORA-01261: Parameter string destination string cannot be translated

Cause: The value for the specified parameter contained a destination string that could not be translated.

Action: Use a valid destination string in the specified parameter.

ORA-01262: Stat failed on a file destination directory

Cause: Unable to get information about an Oracle managed files destination directory.

Action: Check the permissions on the directory or use a different directory name.

ORA-01263: Name given for file destination directory is invalid

Cause: The name given for an Oracle managed files destination does not correspond to a directory.

Action: Use a different name.

ORA-01264: Unable to create string file name

Cause: Unable to create an Oracle managed file name.

Action: , if possible, and retry the command.

ORA-01265: Unable to delete string string

Cause: An error prevented the file from being deleted.

Action: See the subsequent error messsages that describe the operating system error that prevented the file from being deleted. If possible, fix the problem and manually delete the file.

ORA-01266: Unable to create unique file name

Cause: Unable to create a unique file name for an Oracle managed file. Oracle tried several names but each file name was already in use in the default destination directory for the file type.

Action: Retry the operation. If that fails, also, it may be necessary to change the default destination directory for the file type and then retry.

ORA-01267: Failure getting date/time

Cause: Could not get date/time when trying to create unique file name.

Action: Internal error — contact Oracle Customer Support.

ORA-01268: invalid TEMPFILE clause for alter of permanent TABLESPACE

Cause: A TEMPFILE clause was specified for an ALTER TABLESPACE for a permanent tablespace.

Action: Retry with a DATAFILE clause.

ORA-01269: Destination parameter string is too long

Cause: The value for DB_CREATE_FILE_DEST, DB_CREATE_ONLINE_LOG_DEST_n or DB_RECOVERY_FILE_DEST parameter was too long.

Action: Replace the destination value for the specified parameter with a shorter character string.

ORA-01270: string operation is not allowed if STANDBY_PRESERVES_NAMES is true

Cause: An operation that renames or adds/drops a file was attempted at a standby database and STANDBY_PRESERVES_NAMES is true.

Action: Set STANDBY_PRESERVES_NAMES false if the operation must be performed.

ORA-01271: Unable to create new file name for file string

Cause: During standby database recovery an error occurred when trying to create a new file name for the indicated file.

Action: Use the ALTER DATABASE CREATE DATAFILE command with a new unique name and then resume the standby database recovery.

ORA-01272: REUSE only allowed when a file name is provided.

Cause: The REUSE parameter was specified in a command without a file name.

Action: Either supply a file name or remove the REUSE parameter.

ORA-01273: STANDBY_FILE_MANAGEMENT = AUTO needs COMPATIBLE = string or higher

Cause: Automated standby file management was disabled, so an added file

Action: Restart the instance with COMPATIBLE set to the correct release.

ORA-01274: cannot add datafile ‘string‘ — file could not be created

Cause: Automated standby file management was disabled, so an added file could not automatically be created on the standby. The error from the creation attempt is displayed in another message. The control file file entry for the file is ‘UNNAMEDnnnnn’.

Action: Use the ALTER DATABASE CREATE DATAFILE statement to create the file, or set STANDBY_FILE_MANAGEMENT to AUTO and restart standby recovery.

ORA-01275: Operation string is not allowed if standby file management is automatic.

Cause: An operation that renames, adds, or drops a file was attempted at a standby database and STANDBY_FILE_MANAGEMENT was set to AUTO.

Action: Set STANDBY_FILE_MANAGEMENT to MANUAL if the operation must be performed.

ORA-01276: Cannot add file string. File has an Oracle Managed Files file name.

Cause: An attempt was made to add to the database a datafile, log file, control file, snapshot control file, backup control file, datafile copy, control file copy or backuppiece with an Oracle Managed Files file name.

Action: Retry the operation with a new file name.

ORA-01277: file ‘string‘ already exists

Cause: An ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS ‘filename’ command specified a file name which is already in use.

Action: Either specify a different file name, or add the REUSE parameter to the command to overwrite the existing file.

ORA-01278: error creating file ‘string

Cause: An operating system error occurred while attempting to create a trace file specified in the command ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS ‘filename’.

Action: Check the error stack for more detailed information.

ORA-01279: db_files too large

Cause: db_files has been set too high to be supported by the system.

Action: Decrease the number of db_files.

ORA-01280: Fatal LogMiner error.

Cause: An internal error occurred inside LogMiner.

Action: Check the alert log and trace files for further information.

ORA-01281: SCN range specified is invalid

Cause: StartSCN may be greater than EndSCN, or the SCN specified may be invalid.

Action: Specify a valid SCN range.

ORA-01282: date range specified is invalid

Cause: startTime may be greater than endTime. startTime or endTime may be greater than year 2110. startTime may be less than year 1988.

Action: Specify a valid date range.

ORA-01283: Options specified is invalid

Cause: The specified options parameter is invalid for the procedure.

Action: Specify valid Options parameter.

ORA-01284: file string cannot be opened

Cause: The file or directory may not exist or may be inaccessible. Pathname exceeds 256 characters.

Action: Ensure that the file and the directory exist and are accessible.

ORA-01285: error reading file string

Cause: The file or directory may not exist or is inaccessible.

Action: Specify valid file or directory. Make sure that file and directory are accessible.

ORA-01286: start interval required

Cause: Options were supplied which require a starting time or starting SCN

Action: Specify a starting interval (time or SCN).

ORA-01287: file string is from a different database incarnation

Cause: The logfile is produced by a different incarnation of the database.

Action: Add a logfile that is produced by the same incarnation.

ORA-01288: cannot apply this DDL to the Logminer Dictionary

Cause: A command that is not supported by Logminer was present in a logfile. Commands that change the character set of the database are not supported by Logminer. «ALTER DATABASE SET TIME_ZONE» is not supported by Logminer.

Action: Do not execute unsupported commands when using Streams, Logical Standby, or Logminer. Turn off DDL tracking in order for Logminer to skip unsupported commands.

ORA-01289: cannot add duplicate logfile string

Cause: The logfile specified has already been added to the list of logfiles.

Action: Specify a different logfile.

ORA-01290: cannot remove unlisted logfile string

Cause: The user attempted to remove a logfile that is not present in the list.

Action: Specify a valid logfile.

ORA-01291: missing logfile

Cause: Not all logfiles corresponding to the time or scn range specified have been added to the list.

Action: Check the v$logmnr_logs view to determine the missing scn range, and add the relevant logfiles.

ORA-01292: no log file has been specified for the current LogMiner session

Cause: No logfile has been specified for the LogMiner session.

Action: Specify atleast one log file.

ORA-01293: mounted database required for specified LogMiner options

Cause: Options were specified which required the database to be mounted

Action: Specify different options or mount the database.

ORA-01294: error occurred while processing information in dictionary file string, possible corruption

Cause: The dictionary file is corrupt.

Action: Get a new dictionary file.

ORA-01295: DB_ID mismatch between dictionary string and logfiles

Cause: The dictionary file is produced by a database that is different from that produced the logfiles.

Action: Specify a compatible dictionary file.

ORA-01296: character set mismatch between dictionary string and logfiles

Cause: The character set of the database that produced the dictionary file is different from the charatcter set of the database that produced the logfiles.

Action: Specify a dictionary file with the same character set.

ORA-01297: redo version mismatch between dictionary string and logfiles

Cause: The redo version of the database generating the dictionary is different from the one generating the logfiles.

Action: None

ORA-01298: conflicting dictionary option

Cause: More than one dictionary source was specified or DDL_DICT_TRACKING was specified with DICT_FROM_ONLINE_CATALOG.

Action: None

ORA-01299: dictionary string corresponds to a different database incarnation

Cause: The dictionary file was extracted from a different incarnation of the database.

Action: Specify a dictionary file extracted from the correct database incarnation.

ORA-01300: writable database required for specified LogMiner options

Cause: Options were specified which required the database to be writable.

Action: Specify different options or open the database for write access.

ORA-01301: error writing to file during flat file build

Cause: Error writing to file during flat file build

Action: None

ORA-01302: dictionary build options missing or incorrect

Cause: Missing dictionary build options or incorrectly specified options

Action: Specify either a build to redo log or to flat file. If build to flat file, specify filename and directory.

ORA-01303: subordinate process error: number. Check alert and trace logs

Cause: A process subordinate to this Logminer process has exited with this error status.

Action: Search for this error in the alert log and trace files for additional information.

ORA-01304: subordinate process error. Check alert and trace logs

Cause: A process subordinate to this Logminer process has exited with an error condition.

Action: Look in the alert log and trace files for additional information.

ORA-01306: dbms_logmnr.start_logmnr() must be invoked before selecting from v$logmnr_contents

Cause: A select was issued from v$logmnr_contents without first invoking the dbms_logmnr.start_logmnr() procedure.

Action: Invoke the dbms_logmnr.start_logmnr() procedure before issuing a select from the v$logmnr_contents view.

ORA-01307: no LogMiner session is currently active

Cause: A select was issued from v$logmnr_contents without first invoking the dbms_logmnr.start_logmnr() procedure. Otherwise, dbms_logmnr.end_logmnr() was called without a prior call to dbms_logmnr.start_logmnr() or dbms_logmnr.add_logfile()

Action: Invoke the dbms_logmnr.start_logmnr() procedure before issuing a select from the v$logmnr_contents view.

ORA-01308: initialization parameter utl_file_dir is not set

Cause: utl_file_dir is not set in the initialization file.

Action: Set utl_file_dir to the appropriate directory.

ORA-01309: invalid session

Cause: The specified Logminer session ID or session handle is invalid.

Action: Use a valid Logminer session ID or session handle.

ORA-01310: requested return type not supported by the lcr_mine function

Cause: The return type requested by the user is not supported by lcr_mine»

Action: Pick a return type supported by the lcr_mine function»

ORA-01311: Illegal invocation of the mine_value function

Cause: An attempt was made to use mine_value function on a column other than redo_value or undo_value columns of SYS.X$LOGMNR_CONTENTS or SYS.V$LOGMNR_CONTENTS fixed table/view.

Action: Rewrite the SQL statement with a legal invocation of mine_value

ORA-01312: Specified table/column does not exist

Cause: The table/column specified in the lcr_mine call does not exist at the the specified SCN. The table/column definition has to exist at the start SCN specified for lcr_mine to be able to identify the table/column correctly.

Action: Create a LogMiner session at a start SCN at which the table definition is available.

ORA-01313: LogMiner dictionary column type different from specified type

Cause: The return type specified for the column in lcr_mine call is different from the actual type of the column.

Action: Rewrite the lcr_mine invocation with the right return type.

ORA-01314: Name of the column to be mined should be a string literal

Cause: The fully qualified name of the column to be mined by the LogMiner functions should be string literal.

Action: If the fully qualified name of the column to be mined is a.b.c.d, enclose the column name in quotes as in ‘a.b.c.d’.

ORA-01315: Log file has been added or removed during select

Cause: A redo log file has been added or removed while selecting on the v$logmnr_logs fixed view.

Action: Re-issue the SQL select statement on the v$logmnr_logs view.

ORA-01316: Already attached to a Logminer session

Cause: A Logminer attach session was issued while already attached to a Logminer session.

Action: Detach from the current Logminer session and attach to the requested session.

ORA-01317: Not attached to a Logminer session

Cause: A command or procedure was issued which requires an attached Logminer session.

Action: Attach to a Logminer session before issuing the command or procedure.

ORA-01319: Invalid Logminer session attribute

Cause: A session attribute was supplied which is invalid.

Action: Re-issue with valid session attribute.

ORA-01320: Invalid Logminer dictionar attribute

Cause: A Logminer dictionary attribute was supplied which is invalid.

Action: Re-issue with valid dictionary attribute.

ORA-01321: No Logminer Dictionary for requested start SCN

Cause: The requested session start SCN is less than the SCN of any available Logminer Dictionary build. It is not possible to unwind a Logminer Dictionary to the requested start SCN.

Action: Re-issue the start_logminer request with a start SCN for which a Logminer Dictionary is available.

ORA-01322: No such table

Cause: An non-existent table was supplied to Logminer include_src_tbl() or exclude_src_table().

Action: Re-issue with valid table name.

ORA-01323: Invalid state

Cause: A Logminer routine was called from the wrong state.

Action: None

ORA-01324: cannot add file string due to DB_ID mismatch

Cause: The logfile is produced by a different database than other logfiles already added to the list.

Action: Specify a logfile produced by the same database.

ORA-01325: archive log mode must be enabled to build into the logstream

Cause: Database does not have archivelog mode enabled.

Action: Mount the database, then issue commands to enable archivelog mode. startup pfile=init.ora mount alter database archivelog alter database open

ORA-01326: compatability of 9.0 or greater required to build into the logstream

Cause: Compatibility mode set to some value less than 9.0

Action: Ensure that init.ora parameter establishing a compatability of 9.0 or greater is set. For example: compatible=9.0.0.0.0

ORA-01327: failed to exclusively lock system dictionary as required by build

Cause: Other users are performing DDL operations.

Action: None

ORA-01328: only one build operation may occur at one time

Cause: Another processes is simultaneously attempting to run build();

Action: Wait until the other processes completes.

ORA-01329: unable to truncate required build table

Cause: The table may be missing, or locked by another user.

Action: None

ORA-01332: internal Logminer Dictionary error

Cause: Unexpected error condition

Action: Check trace and/or alert logs

ORA-01333: failed to establish Logminer Dictionary

Cause: No previously established Logminer Dictionary is available and a complete gather of a source system data dictionary was not found in the logstream. build() may not have been run to force the gathering of a source system data dictiony. Or add_log_file() may not have been called to add all log files which contain the complete gathered system data dictionary.

Action: If build() was not employed prior to this mining session the Logminer Ad Hoc user may elect to employ an alternate dictionary such as the current system catalog or a previously built flat file dictionary. Other Logminer clients must run build() prior to mining. If build() has been run, ensure that all logfiles which comprise the gathered system dictionary have beed added. The following query, run on the system which build() was run, can be helpful in identifying the requried files. select DICTIONARY_BEGIN, DICTIONARY_END, name from v$archived_log; Minimally a set of files beginning with one which has DICTIONARY_BEGIN = ‘YES’ and all following log files through one marked DICTIONARY_END = ‘YES’ must be added.

ORA-01334: invalid or missing logminer dictionary processes context

Cause: Unexpected internal error condition

Action: None

ORA-01336: specified dictionary file cannot be opened

Cause: The dictionary file or directory does not exist or is inaccessible.

Action: Make sure that the dictionary file and directory exist and are accessible.

ORA-01337: log file has a different compatibility version

Cause: The logfile has a different compatibility version then the rest of the logfile in the session»

Action: Make sure that the logfile has the same compatibility version as the rest of the logfiles in the session.

ORA-01338: Other process is attached to LogMiner session

Cause: Can not do this when other process is attached to LogMiner session.

Action: None

ORA-01339: LogMiner BUILD: Error copying system catalog metadata to LogMiner dictionary

Cause: Unexpected result while accessing system catalog metadata.

Action: Check the alert log.

ORA-01340: NLS error

Cause: Could not load NLS package.

Action: None

ORA-01341: LogMiner out-of-memory

Cause: The LogMiner session requires more system resources than is currently available.

Action: Allocate more SGA for LogMiner.

ORA-01342: LogMiner can not resume session due to inability of staging checkpointed data

Cause: Logmnr can not resume session because there is not enough SGA memory available to read in checkpointed data. Logminer periodically checkpoints data to enable faster crash recovery.

Action: Specify a bigger max_sga for the given LogMiner session and try again.

ORA-01343: LogMiner encountered corruption in the logstream

Cause: Log file is missing a range of scn values.

Action: Verify the contiguity of the scn range reprented by the log files added to LogMiner.

ORA-01344: LogMiner coordinator already attached

Cause: A coordinator process is already attached to the specified logminer context.

Action: Detach from the active coordinator session and retry the attach.

ORA-01345: Must be a LogMiner coordinator process

Cause: A LogMiner client attempted to perform a privileged operation.

Action: Issue the operation from the coordinator process.

ORA-01346: LogMiner processed redo beyond specified reset log scn

Cause: LogMiner has detected a new branch with resetlogs scn information prior to redo already mined.

Action: Contact your customer support representative.

ORA-01347: Supplemental log data no longer found

Cause: The source database instance producing log files for this LogMiner session was altered to no longer log supplemental data.

Action: Destroy this Logminer session. Re-enable supplemental log data on the source system and create a new LogMiner session.

ORA-01350: must specify a tablespace name

Cause: Invocation failed to specify a valid tablespace

Action: Reformat invocation of DBMS_LOGMNR_D.SET_TABLESPACE to include the name of a valid tablespace.

ORA-01351: tablespace given for Logminer dictionary does not exist

Cause: The tablespace name given as a parameter to DBMS_LOGMNR_D.SET_TABLESPACE does not exist.

Action: Check spelling of the tablespace name. If spelling is correct verify that the named tablespace has already been created. DBMS_LOGMNR_D.SET_TABLESPACE does not create a tablespace.

ORA-01352: tablespace given for Logminer spill does not exist

Cause: The tablespace name given as the parameter to DBMS_LOGMNR_D.SET_TABLESPACE does not exist.

Action: Check spelling of the tablespace name. If spelling is correct verify that the named tablespace has already been created. DBMS_LOGMNR_D.SET_TABLESPACE does not create a tablespace.

ORA-01353: existing Logminer session

Cause: An attempt was made to execute DBMS_LOGMNR_D.SET_TABLESPACE while a Logminer session(s) was active.

Action: First cause all Logminer sessions to be closed. A Logminer session can exist as a result of executing DBMS_LOGMNR.START_LOGMNR or as the result of using Oracle features such as Data Guard SQL Apply or Streams which use Logminer. Next, execute DBMS_LOGMNR_D.SET_TABLESPACE.

ORA-01354: Supplemental log data must be added to run this command

Cause: An attempt was made to perform an operation that required that supplemental log data be enabled.

Action: Execute a command such as ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; and then reissue the command that failed with this error.

ORA-01355: logminer tablespace change in progress

Cause: The tables used by logminer are in the process of being moved to another tablespace.

Action: Wait until the move is complete and try again.

ORA-01356: active logminer sessions found

Cause: Logminer sessions are currently active.

Action: End all logminer sessions and retry.

ORA-01358: LogMiner version is less than mined dictionary version

Cause: An attempt was made to mine a LogMiner dictionary from redo logs. The version of the Oracle database that created the logs was higher than the Oracle database version that attempted to mine the logs.

Action: Mine the logs using a newer version of the Oracle database having a version number that is equal to or greater than the dictionary version.

ORA-01361: global name mismatch

Cause: The database global name where the log file was generated did not match the user-specified global name of the Streams Capture process.

Action: Start a new capture process and ensure that the user-specified global name matches that of the database that generated the log file.

ORA-01362: Specified SQL_REDO_UNDO parameter is invalid

Cause: The specified input value for the parameter was not a valid number.

Action: Specify a valid number and try again.

ORA-01363: Specified COLUMN_NAME parameter is NULL

Cause: NULL was specified for input value of parameter.

Action: Specify a non-NULL value and try again.

ORA-01364: waiting for branch at SCN string

Cause: LogMiner reader process has completed mining of physical standby terminal logs up to the stop SCN. LogMiner reader is now waiting for logs from the new branch.

Action: No action necessary. This informational statement is provided to record the event for diagnostic purposes. If there is a problem with log transport, the files can be registered manually using the ALTER DATABASE REGISTER LOGICAL LOGFILE statement.

ORA-01365: waiting for new branch registration

Cause: LogMiner reader process has completed mining of physical standby terminal logs up to the stop SCN. The builder process is now waiting for logs from the new branch to be registered before continuing.

Action: No action necessary. This informational statement is provided to record the event for diagnostic purposes. If there is a problem with log transport, the files may be registered manually using the ALTER DATABASE REGISTER LOGICAL LOGFILE statement.

ORA-01366: failed to find redo logs required for terminal apply

Cause: LogMiner failed to find all the expected log files required to complete the terminal apply, requested using the FINISH APPLY clause. During terminal apply, LogMiner does not wait for logs to be registered. It expects all logs between the starting point and the last log on any redo branch that it will or could mine through, to be present at the mining site.

Action: Examine system.logmnr_log$ to see which logs are known to LogMiner. Then, locate or restore any missing logs and use the ALTER DATABASE REGISTER LOGICAL LOGFILE statement to register them. Alternatively, do not use the FINISH APPLY clause, but if activating a logical standby, only do this when you are sure that the missing log files can not be located and registered as this can lead to data loss.

ORA-01370: Specified restart SCN is too old

Cause: specified restart scn is too old, logmnr could not find a proper checkpoint.

Action: Specify a bigger restart SCN to try again

ORA-01371: Complete LogMiner dictionary not found

Cause: One or more log files containing the LogMiner dictionary was not found.

Action: Add into LogMiner all log files containing the dictionary.

ORA-01372: Insufficient processes for specified LogMiner operation

Cause: The number of processes requested by the caller can not be allocated

Action: Increase number of parallel servers allocated to the instance

ORA-01373: insufficient memory for staging persistent LogMiner session

Cause: The maximum number of concurrent persistent LogMiner sessions allowed is limited by LOGMNR_MAX_PERSISTENT_SESSIONS parameter. Not enough memory has been set aside at instance startup to allocate the new LogMiner session.

Action: Increase LOGMNR_MAX_PERSISTENT_SESSIONS and restart instance.

ORA-01374: _log_parallelism_max greater than 1 not supported in this release

Cause: LogMiner does not mine redo records generated with _log_parallelism_max set to a value greater than 1.

Action: None

ORA-01375: Corrupt logfile string recovered

Cause: A corrupt logfile has been recovered by RFS

Action: None. Logical Standby should automatically restart. If logfile is still corrupt, may need to manually copy and reregister the logfile on the standby.

ORA-01377: Invalid log file block size

Cause: An invalid value was specified in the BLOCKSIZE clause.

Action: Use correct syntax.

ORA-01378: The logical block size (string) of file string is not compatible with the disk sector size (media sector size is string and host sector size is string)

Cause: One of the following occurred: (1) An attempt was made to create a file. (2) A file was moved to disks with different sector size.

Action: Create file or move file to the proper disk.

ORA-01380: Instance string (thread string) has less than two string block size log files

Cause: One of the following occurred: (1) An attempt was made to switch to specified block size logs for all threads. (2) An attemp was made to open a thread.

Action: Add log files to the thread that signals error, and try again.

ORA-01381: Dropping log string would leave less than two log files with block size string for instance string (thread string)

Cause: The database was migrated to use a specified log block size. Dropping all the logs specified would leave fewer than the required two log files with the specified block size per enabled thread.

Action: Either drop fewer logs or disable the thread before deleting the logs. It may be possible to clear the log rather than drop it.

ORA-01382: Thread string failed to open log file string. The log file’s block size (string) is larger than the disk sector size (string)

Cause: Log file was created on bigger sector disks, and moved to smaller sector disks.

Action: Move the log file back to bigger sector disks.

ORA-01383: Thread string failed to open string block size log file ‘string‘ on string sector native-mode disks

Cause: Log file was copied from smaller sector disks to larger sector native-mode disks.

Action: Move the log file back to smaller sector disks.

ORA-01400: cannot insert NULL into (string)

Cause: An attempt was made to insert NULL into previously listed objects.

Action: These objects cannot accept NULL values.

ORA-01401: inserted value too large for column

Cause: The value inserted was too large for the given column.

Action: Do not insert a value greater than what the column can hold.

ORA-01403: no data found

Cause: No data was found from the objects.

Action: There was no data from the objects which may be due to end of fetch.

ORA-01406: fetched column value was truncated

Cause: The fetched column values were truncated.

Action: Use the right data types to avoid truncation.

ORA-01409: NOSORT option may not be used; rows are not in ascending order

Cause: Creation of index with NOSORT option when rows were not ascending. For non-unique indexes the rowid is considered part of the index key. Therefore, if you create an index nosort and two of the rows in the table have the same key and are stored in ascending order, but get split accross two extents where the dba of the first block in the second extent is less than the dba of the last block in the first extent, then the create index nosort may fail.

Action: Create the index without the NOSORT option, or ensure table is stored in one extent.

ORA-01411: cannot store the length of column in the indicator

Cause: Tried to fetch a column of size more than 64K and couldn’t store the length of the column in the given indicator of size 2 bytes.

Action: Use the new bind type with call backs to fetch the long column.

ORA-01412: zero length not allowed for this datatype

Cause: The length for type 97 is 0

Action: Specify the correct length.

ORA-01413: illegal value in packed decimal number buffer

Cause: The user buffer bound by the user as packed decimal number contained an illegal value.

Action: Use a legal value.

ORA-01414: invalid array length when trying to bind array

Cause: An attempt was made to bind an array without either a current array length pointer or a zero maximum array length.

Action: Sepcify a valid length.

ORA-01415: too many distinct aggregate functions

Cause: The query contains more distinct aggregates than can be processed. The current limit is 255.

Action: Reduce the number of distinct aggregate functions in the query.

ORA-01417: a table may be outer joined to at most one other table

Cause: a.b (+) = b.b and a.c (+) = c.c is not allowed

Action: Check that this is really what you want, then join b and c first in a view.

ORA-01422: exact fetch returns more than requested number of rows

Cause: The number specified in exact fetch is less than the rows returned.

Action: Rewrite the query or change number of rows requested

ORA-01424: missing or illegal character following the escape character

Cause: The character following the escape character in LIKE pattern is missing or not one of the escape character, ‘%’, or ‘_’.

Action: Remove the escape character or specify the missing character.

ORA-01425: escape character must be character string of length 1

Cause: Given escape character for LIKE is not a character string of length 1.

Action: Change it to a character string of length 1.

ORA-01426: numeric overflow

Cause: Evaluation of an value expression causes an overflow/underflow.

Action: Reduce the operands.

ORA-01429: Index-Organized Table: no data segment to store overflow row-pieces

Cause: No overflow segment defined.

Action: Add overflow segment.

ORA-01438: value larger than specified precision allowed for this column

Cause: When inserting or updating records, a numeric value was entered that exceeded the precision defined for the column.

Action: Enter a value that complies with the numeric column’s precision, or use the MODIFY option with the ALTER TABLE command to expand the precision.

ORA-01451: column to be modified to NULL cannot be modified to NULL

Cause: the column may already allow NULL values, the NOT NULL constraint is part of a primary key or check constraint.

Action: if a primary key or check constraint is enforcing the NOT NULL constraint, then drop that constraint.

ORA-01453: SET TRANSACTION must be first statement of transaction

Cause: self-evident

Action: commit (or rollback) transaction, and re-execute

ORA-01456: may not perform insert/delete/update operation inside a READ ONLY transaction

Cause: A non-DDL insert/delete/update or select for update operation was attempted

Action: commit (or rollback) transaction, and re-execute

ORA-01463: cannot modify column datatype with current constraint(s)

Cause: An attempt was made to modify the datatype of column which has referential constraints; or has check constraints which only allows changing the datatype from CHAR to VARCHAR or vise versa.

Action: Remove the constraint(s) or do not perform the offending operation.

ORA-01466: unable to read data — table definition has changed

Cause: Query parsed after tbl (or index) change, and executed w/old snapshot

Action: commit (or rollback) transaction, and re-execute

ORA-01469: PRIOR can only be followed by a column name

Cause: Attempting to specify «PRIOR <something>» where <something> is not a column name.

Action: Only a column name can follow PRIOR. Replace with a column name.

ORA-01470: In-list iteration does not support mixed operators

Cause: Constants of different types are specified in an in-list.

Action: Use constants of same type for in-lists.

ORA-01478: array bind may not include any LONG columns

Cause: User is performing an array bind with a bind variable whose maximum size is greater than 2000 bytes.

Action: Such bind variables cannot participate in array binds. Use an ordinary bind operation instead.

ORA-01479: last character in the buffer is not Null

Cause: A bind variable of type 97 does not contain null at the last position

Action: Make the last character null

ORA-01480: trailing null missing from STR bind value

Cause: A bind variable of type 5 (null-terminated string) does not contain the terminating null in its buffer.

Action: Terminate the string with a null character

ORA-01481: invalid number format model

Cause: The user is attempting to either convert a number to a string via TO_CHAR or a string to a number via TO_NUMBER and has supplied an invalid number format model parameter.

Action: Consult your manual.

ORA-01482: unsupported character set

Cause: The character set used to perform the operation, such as the CONVERT function, is not a supported character set.

Action: Use one of the supported character sets.

ORA-01483: invalid length for DATE or NUMBER bind variable

Cause: A bind variable of type DATE or NUMBER is too long.

Action: Consult your manual for the maximum allowable length.

ORA-01484: arrays can only be bound to PL/SQL statements

Cause: You tried to bind an array to a non-PL/SQL statement.

Action: None

ORA-01485: compile bind length different from execute bind length

Cause: You bound a buffer of type DTYVCS (VARCHAR with the two byte length in front) and at execute time the length in the first two bytes is more than the maximum buffer length (given in the bind call). The number of elements in the array and the current number of elements in the array cannot be more than the maximum size of the array.

Action: None

ORA-01486: size of array element is too large

Cause: You tried to bind a data value which was either too large for the datatype (for example, NUMBER) or was greater than 4000 bytes (for example, VARCHAR or LONG).

Action: None

ORA-01487: packed decimal number too large for supplied buffer

Cause: An impossible request for decimal to oracle number conversion was made

Action: This conversion cannot be performed

ORA-01488: invalid nibble or byte in the input data

Cause: An impossible request for decimal to oracle number conversion was made

Action: This conversion cannot be performed

ORA-01489: result of string concatenation is too long

Cause: String concatenation result is more than the maximum size.

Action: Make sure that the result is less than the maximum size.

ORA-01490: invalid ANALYZE command

Cause: Incorrect syntax specified

Action: Retry the command

ORA-01491: CASCADE option not valid

Cause: The CASCADE option is only valid for tables or clusters.

Action: Do not specify CASCADE

ORA-01492: LIST option not valid

Cause: The LIST option is only valid for tables or clusters.

Action: Do not specify LIST

ORA-01493: invalid SAMPLE size specified

Cause: The specified SAMPLE size is out of range

Action: Specify a value within the proper range.

ORA-01494: invalid SIZE specified

Cause: The specified histogram SIZE value was out of range.

Action: Specify a value within the proper range.

ORA-01495: specified chain row table not found

Cause: The specified table either does not exist or user does not have the proper privleges.

Action: Specify the correct table to use.

ORA-01496: specified chain row table form incorrect

Cause: The specified table does not have the proper field definitions.

Action: Specify the correct table to use.

ORA-01497: illegal option for ANALYZE CLUSTER

Cause: The FOR COLUMNS <column-list> clause may not be used with ANALYZE CLUSTER.

Action: Retry with a legal syntax.

I am getting ORA-01403: no data found exception for the following query. What are the possibilities of this error?

SELECT trim(name)
  INTO fullname
  FROM ( SELECT n.name
         FROM directory dir, store n
        WHERE dir.name = n.name
          AND dir.status NOT IN ('F', 'L', 'M')
        ORDER BY n.imp, dir.date)
  WHERE rownum <= 1;

How can I handle this error?

diziaq's user avatar

diziaq

6,92116 gold badges55 silver badges98 bronze badges

asked Jan 17, 2014 at 12:47

Nidheesh's user avatar

4

Although you have put a WHERE condition, a better way would be to handle case of record not found or ‘No Data Found’ error. I would write above code with wrapping the SELECT statement with it’s own BEGIN/EXCEPTION/END block.

Code could be something like this:

BEGIN
    SELECT trim(name) 
    INTO fullName
    FROM (
        SELECT n.name
        FROM directory dir, store n
        WHERE dir.name = n.name
        AND dir.STATUS NOT IN ('F','L','M')           
        ORDER BY n.imp, dir.date
    )
    WHERE rownum <= 1;
EXCEPTION
    WHEN NO_DATA_FOUND THEN
        fullName := NULL;
END;

Robin A. Meade's user avatar

answered Jan 17, 2014 at 12:59

Sandeep's user avatar

SandeepSandeep

5685 silver badges7 bronze badges

4

If the standard exception handling described by Sandeep seems to much overhead (like in my case) and you’re fine with a NULL or some individual <not found> value), you might just transform it like this:

select  col  into  v_foo  from  bar  where 1=0  -- would provoke ORA-01403

=> no ORA-01403 raised:

-- if NULL would be fine:

select  (select  col  from  bar  where 1=0)  into  v_foo  from dual

-- if individual "NOT_FOUND" value should be set to avoid standard exception handling:
--    (it depends on your col type, so it could e.g. be 'NOT_FOUND' or -1 
--     or to_date( 'yyyy-mm-dd', '2100-01-01') )

select  nvl(  (select  col  from  bar  where 1=0),  'NOT_FOUND'  )  into  v_foo  from dual

answered Feb 23, 2017 at 12:12

Andreas Covidiot's user avatar

Andreas CovidiotAndreas Covidiot

4,3265 gold badges51 silver badges97 bronze badges

1

Probably because your Query

SELECT n.name
        FROM directory dir,
          store n
        WHERE dir.name            = n.name
        AND dir.STATUS NOT                IN ('F','L','M')           
        ORDER BY n.imp,
          dir.date

is not returning any rows

answered Jan 17, 2014 at 12:53

A Nice Guy's user avatar

A Nice GuyA Nice Guy

2,6764 gold badges30 silver badges54 bronze badges

If dir.status has any nulls in your table, then not in is probably not doing what you think it is. You may get zero rows even though you think you should get one or more rows. You can switch to and not (dir.status in ('F,'L','M')) instead of dir.status not in ('F','L','M').

See this for reference.

answered Jan 17, 2014 at 15:40

GriffeyDog's user avatar

GriffeyDogGriffeyDog

8,2063 gold badges23 silver badges34 bronze badges

forget the exceptions… just use the dual table:

select (
SELECT trim(name)
  FROM ( SELECT n.name
         FROM directory dir, store n
        WHERE dir.name = n.name
          AND dir.status NOT IN ('F', 'L', 'M')
        ORDER BY n.imp, dir.date)
  WHERE rownum <= 1
) into fullname
from dual;

B-) that way if your query don’t return anything the variable will be populated with null.

answered Sep 26, 2022 at 16:07

Rafael Gil's user avatar

Понравилась статья? Поделить с друзьями:
  • Osf ошибка частотника
  • Ora 01034 ora 27101 ошибка
  • Ora 01033 ошибка как исправить
  • Ora 01031 insufficient privileges ошибка
  • Ospp vbs ошибка 2147217394