|
|
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
ну про 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) то данные лажовый тейблспейс в трейс-файле обнаруживается. Это законное поведение? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 12:00 |
|
||
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
DBAshnik, чуднЫ дела.. получить, разумеется, все вы можете легко и странно очень, что ваши партнеры лудят в базу вам нечто тоннами и даже не протоколируя (на уровне приложения, хотя бы) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 12:17 |
|
||
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
orawishDBAshnik, чуднЫ дела.. получить, разумеется, все вы можете легко ну DDL-триггер не годится, так как он срабатывает когда DDL проходит успешно! (или я чего то не знаю тут) А нужно отлавливать именно падающие "Create Table"s ! orawishи странно очень, что ваши партнеры лудят в базу вам нечто тоннами и даже не протоколируя (на уровне приложения, хотя бы) да не то слово! :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 15:19 |
|
||
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
DBAshnikну DDL-триггер не годится, так как он срабатывает когда DDL проходит успешно! (или я чего то не знаю тут) Ну так ты попробуй. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 15:24 |
|
||
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 15:35 |
|
||
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
тип триггера "after servererror on database" тоже пробывал. Но он тоже ничего не ловит (n := ora_sql_txt(sql_text); n - возвращается c NULL). Короче помогите пожалуйста разобраться! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 16:25 |
|
||
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
как вариант alter system set events '910 trace name errorstack level 3'; получаем свою ошибку ошибку alter system set events '910 trace name errorstack off'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 17:16 |
|
||
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
DBAshnik, Тут дело до выполнения не доходит, все падает при модерации ) Поставь программу, которая сканирует sql запросы, типа SQL Tracker от Quest Software и посмотри что идет от чужого софта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 17:23 |
|
||
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
DBAshnik, Тут дело до выполнения не доходит, все падает при модерации ) Поставь программу, которая сканирует sql запросы, типа SQL Tracker от Quest Software и посмотри что идет от чужого софта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 17:25 |
|
||
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
errorstackкак вариант alter system set events '910 trace name errorstack level 3'; получаем свою ошибку ошибку alter system set events '910 trace name errorstack off'; спасибо! Это единственное что пока реально помогло!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2016, 18:08 |
|
||
|
чужой софт огребает на Create Table ora-00910! Как получить полный трейс statement-a?
|
|||
|---|---|---|---|
|
#18+
DBAshnikно проблема в том, что в трейс файле не виден подробно этот Create Table! Patch 18705302 должен помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 14:28 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39350925&tid=1886967]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
156ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 252ms |
| total: | 475ms |

| 0 / 0 |
