ORA-06502 при подключении к Oracle 12 c с использованием новых SQL учетных данных - PullRequest
0 голосов
/ 22 февраля 2020

Привет! Я пытаюсь подключиться к экземпляру Oracle 12 c, используя дескриптор подключения и недавно созданные учетные данные SQL. Но когда я пытаюсь подключиться, используя учетные данные, я получаю:

ORA-00604: error occurred at recursive SQL level 1
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 18

Мне удалось отследить возможную документацию по этому адресу: https://support.oracle.com/knowledge/Oracle%20Database%20Products/1274538_1.html

Но, к сожалению, я У вас нет учетной записи поддержки Oracle для просмотра деталей. Мое личное предположение - какой-то вход в систему PL / SQL (триггер или процедура) выполняется, и может быть проблема с информацией, полученной для предоставленных мне учетных данных. Из-за рекурсивной ошибки уровня SQL я думаю, что что-то вроде NULL возвращается для некоторой ожидаемой записи в некоторой таблице словаря / таблицы поиска при запуске PL / SQL. Буду признателен, если кто-нибудь может знать, почему это могло произойти. В то же время я свяжусь с администратором базы данных для расследования.

Обновление

Администраторы обратились ко мне и помогли изменить триггер. Ничего дополнительного мне не потребовалось.

1 Ответ

1 голос
/ 24 февраля 2020

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


СИМПТОМЫ Создан новый пользователь, который пытается подключиться к Oracle:

SQL> создать пользовательский тест, определенный пользователями по умолчанию для табличного пространства;

пользователь создан.

SQL> предоставить создать сеанс для тестирования;

предоставить успешно.

SQL> проверка соединения / ОШИБКА: ORA-00604: ошибка возникла на рекурсии SQL уровень 1 ORA-06502: PL / SQL: цифра c или ошибка значения ORA-06512 : в строке 7 ИЗМЕНЕНИЯ Создан новый пользователь.


ПРИЧИНА Как и в этом случае, проблема может быть вызвана существующим триггером входа в систему.


SOLUTION Подключитесь как sysdba и отключите триггер.

SQL> выберите имя триггера из dba_triggers, где triggering_event похож на '% LOGON%';

SQL> изменить триггер отключить;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...