powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
12 сообщений из 12, страница 1 из 1
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39350912
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну про ora-00910 одним словом: "You tried to create a VARCHAR2 or CHAR column, but you specified a length that exceeded Oracle's limits."

Поставщик софта делает круглые глаза и просит прислать подробный Create Table который его детище хреначит в нашу базу! Гы гы ))
Ну мы отлавливаем соотв. сессию ( sid, serial# ) стартуем трассировку (как указано тут: http://www.orafaq.com/wiki/SQL_Trace )
но проблема в том, что в трейс файле не виден подробно этот Create Table! Видно только что Create Table XYZ в схеме такой-то? Как получить создаваемые колонки(а в них то похоже и проблема!), тейблспейс и прочие аттрибуты?? (поднимали уже trace-level до максимума - до 12 то есть - не помогает!)
(дело происходит на 11gR2, Enterprise Edition)

P.S. заметили по ходу дела интересную фишку - если на клиенте (Oracle SQL Developer) указать Create Table в несуществующий тейблспейс, то клиент его "выпилит" очевидно не допустив до исполнения на базе, и в трейсе ничего не найти потом. Но если тоже самое (с лажовым тейблспейс-ом) выполнить на серваке (sqlplus / as sysdba) то данные лажовый тейблспейс в трейс-файле обнаруживается. Это законное поведение?
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39350925
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBAshnik,

чуднЫ дела..
получить, разумеется, все вы можете легко
и странно очень, что ваши партнеры лудят в базу вам нечто тоннами и даже не протоколируя (на уровне приложения, хотя бы)
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39351150
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
orawishDBAshnik,

чуднЫ дела..
получить, разумеется, все вы можете легко
ну DDL-триггер не годится, так как он срабатывает когда DDL проходит успешно! (или я чего то не знаю тут) А нужно отлавливать именно падающие "Create Table"s !


orawishи странно очень, что ваши партнеры лудят в базу вам нечто тоннами и даже не протоколируя (на уровне приложения, хотя бы)
да не то слово! :-(
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39351156
Фотография AlexFF__|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBAshnikну DDL-триггер не годится, так как он срабатывает когда DDL проходит успешно! (или я чего то не знаю тут)
Ну так ты попробуй.
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39351166
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexFF__|DBAshnikну DDL-триггер не годится, так как он срабатывает когда DDL проходит успешно! (или я чего то не знаю тут)
Ну так ты попробуй.

ну так я пробую:

авторCREATE OR REPLACE TRIGGER IIVP.create_table_trigger_vmi_tmp --AFTER CREATE ON SCHEMA
--after ddl on schema
before ddl on schema
DECLARE
lRes clob;
BEGIN
dbms_output.put_line( 'tsssst: ...' );
IF SYS.DICTIONARY_OBJ_TYPE = 'TABLE' THEN
dbms_output.put_line( 'SYS.DICTIONARY_OBJ_TYPE: ' || DICTIONARY_OBJ_TYPE || ', ora_dict_obj_name=' || ora_dict_obj_name );
END IF;
END;


такое он ловит:
авторcreate table IIVP.justTstTbl ( x varchar2(1300) );

а такое уже нет:
авторcreate table IIVP.justTstTbl ( x varchar2(5300) );
, ибо оно _раньше_ огребает: ORA-00910
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39351225
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тип триггера "after servererror on database" тоже пробывал. Но он тоже ничего не ловит (n := ora_sql_txt(sql_text); n - возвращается c NULL). Короче помогите пожалуйста разобраться!
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39351275
errorstack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
как вариант

alter system set events '910 trace name errorstack level 3';

получаем свою ошибку ошибку

alter system set events '910 trace name errorstack off';
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39351279
Фотография AlexFF__|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBAshnik,

Тут дело до выполнения не доходит, все падает при модерации )
Поставь программу, которая сканирует sql запросы, типа SQL Tracker от Quest Software и посмотри что идет от чужого софта.
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39351280
Фотография AlexFF__|
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBAshnik,

Тут дело до выполнения не доходит, все падает при модерации )
Поставь программу, которая сканирует sql запросы, типа SQL Tracker от Quest Software и посмотри что идет от чужого софта.
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39351326
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
errorstackкак вариант

alter system set events '910 trace name errorstack level 3';

получаем свою ошибку ошибку

alter system set events '910 trace name errorstack off';

спасибо! Это единственное что пока реально помогло!!!
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39351869
Timur Akhmadeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DBAshnikно проблема в том, что в трейс файле не виден подробно этот Create Table!
Patch 18705302 должен помочь.
...
Рейтинг: 0 / 0
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
    #39352660
DBAshnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timur AkhmadeevDBAshnikно проблема в том, что в трейс файле не виден подробно этот Create Table!
Patch 18705302 должен помочь.

спасибо!
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]