Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Автоматизация анализа кода - поиск завивимостей  [new]
nagisa
Member

Откуда: Красноярск
Сообщений: 143
Работаю с объемным легаси-кодом, и разбираю в нем ошибки

в частности напрягает ORA-08103: ОБЪЕКТ БОЛЬШЕ НЕ СУЩЕСТВУЕТ

сам код - многоэтапная обработка данных - с кучей таблиц и вьюх
технически причина этой может быть в удалении партиции таблицы или транкейте

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

ALL_DEPENDENCIE к сожалению хорош только для вьюх
а для обычных таблиц очевидно не катит:
беру табличку А1
она обрабатывается в коде B1 там есть insert в A1
в ALL_DEPENDENCIE будет только запись
что код A1 зависит от B1
а вот из чего собирается B1 - те сам запрос и связи там отсутствуют


соответственно вопрос - какие пути автоматизации доступны ?
те можно ли оперировать p-кодом для упрощения вытягивания зависимостей ? если можно то как ? тк явной информации не нашел

хочется чего-то более простого, чем построение запроса который разбирает текст запросов в пакетах и выуживает оттуда связи
20 ноя 20, 10:29    [22235893]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация анализа кода - поиск завивимостей  [new]
oragraf
Member

Откуда: Moscow
Сообщений: 1317
nagisa,

серебряной пули нет. техдолг - это сурово. Только переписывание увольнение долгая ручная работа
20 ноя 20, 11:20    [22235920]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация анализа кода - поиск завивимостей  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15487
nagisa,

all_constraints 2 раза + all_cons_columns ,только внимательно
примеров масса и здесь (stff) тоже
20 ноя 20, 11:38    [22235937]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация анализа кода - поиск завивимостей  [new]
nagisa
Member

Откуда: Красноярск
Сообщений: 143
orawish
nagisa,

all_constraints 2 раза + all_cons_columns ,только внимательно
примеров масса и здесь (stff) тоже


пардон, причем тут констрейнты ?

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

мне нужно найти на основании каких таблиц он это делает
и затем построить дерево
T1  - merge
    + T2
        +V_T3  
           +T7
T1 - insert 
  + V4
    +T2
    +T9


итд

те речь о разборе хранимого кода
20 ноя 20, 13:01    [22235992]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация анализа кода - поиск завивимостей  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2798
nagisa

вот у меня в каком-то пакете есть мерж

я думал Вам наоборот надо искать TRUNCATE/SPLIT которые могут привести к 8103

.....
stax
20 ноя 20, 13:32    [22236010]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация анализа кода - поиск завивимостей  [new]
nagisa
Member

Откуда: Красноярск
Сообщений: 143
Stax
nagisa

вот у меня в каком-то пакете есть мерж

я думал Вам наоборот надо искать TRUNCATE/SPLIT которые могут привести к 8103

.....
stax


в конечном счете да, но надо сначала понять цепочку зависимостей
те вложенность (из того что уже накопал) до 7ого уровня

так что руками реально печально
20 ноя 20, 13:53    [22236021]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация анализа кода - поиск завивимостей  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2798
nagisa,

я б начал с TRUNCATE, хто/когда/зачем/где... делает

после переноса напр на ночное время, мож и ORA уйдет

.....
stax
20 ноя 20, 14:31    [22236056]     Ответить | Цитировать Сообщить модератору
 Re: Автоматизация анализа кода - поиск завивимостей  [new]
nagisa
Member

Откуда: Красноярск
Сообщений: 143
Stax
nagisa,
я б начал с TRUNCATE, хто/когда/зачем/где... делает
после переноса напр на ночное время, мож и ORA уйдет
.....
stax

в маленькой системе я бы так и сделал
но тут этих транкейтов больше тысячи ;-)
21 ноя 20, 08:38    [22236316]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить