CftClub.ru
Клуб специалистов ЦФТ-Банк

Подскажите где посмотреть невалидные представления?

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle
Предыдущая тема :: Следующая тема  
Автор Сообщение
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеСр Окт 21, 2015 02:50   Подскажите где посмотреть невалидные представления? Ответить с цитатой
Полезность: Нет оценки
Подскажите где посмотреть невалидные представления?

Сунулся в user_objects , dba_objects, там нет цфт-шных невалидных
, только валидные...
Random
Эксперт


Вступление в Клуб: 27.06.2011
СообщениеСр Окт 21, 2015 06:07   Re: Подскажите где посмотреть невалидные представления? Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
Подскажите где посмотреть невалидные представления?

Сунулся в user_objects , dba_objects, там нет цфт-шных невалидных
, только валидные...


дык это оракловые объекты.
а ЦФТшные лежат в ibs.methods, ibs.criteria. Сравнение оракловских объектов и цфт-шных даёт состояние Smile
Ну или вот
Код:
select NVL(IBS.METHOD.GET_OBJ_STATUS(C.SHORT_NAME, 'VIEW'), 'NOT EXISTS') status,c.* from ibs.criteria c where NVL(IBS.METHOD.GET_OBJ_STATUS(C.SHORT_NAME, 'VIEW'), 'NOT EXISTS') <> 'VALID'
;


А на методах поле status есть.
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеСр Окт 21, 2015 06:18    Ответить с цитатой
Полезность: Нет оценки
Спасибо. только надо все расширения вьюх выкинуть из сравнения ибо не может быть таких объектов...
prankster
Профи


Вступление в Клуб: 22.08.2014
СообщениеСр Окт 21, 2015 08:36    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
Спасибо. только надо все расширения вьюх выкинуть из сравнения ибо не может быть таких объектов...


Код:
select * from criteria x where x.tag <> 'EXTENSION' and not exists(select 1 from all_views z where z.VIEW_NAME = x.short_name and z.OWNER = 'IBS')


Чего нет в all_views - те и невалиды
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеСр Окт 21, 2015 08:55    Ответить с цитатой
Полезность: Нет оценки
prankster пишет:
Alkov пишет:
Спасибо. только надо все расширения вьюх выкинуть из сравнения ибо не может быть таких объектов...


Код:
select * from criteria x where x.tag <> 'EXTENSION' and not exists(select 1 from all_views z where z.VIEW_NAME = x.short_name and z.OWNER = 'IBS')


Чего нет в all_views - те и невалиды


nvl забыл Wink

select * from criteria x
where nvl(x.tag,'null') <> 'EXTENSION'
and not exists(select 1 from all_views z where z.VIEW_NAME = x.short_name and z.OWNER = 'IBS')
prankster
Профи


Вступление в Клуб: 22.08.2014
СообщениеСр Окт 21, 2015 09:03    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
prankster пишет:
Alkov пишет:
Спасибо. только надо все расширения вьюх выкинуть из сравнения ибо не может быть таких объектов...


Код:
select * from criteria x where x.tag <> 'EXTENSION' and not exists(select 1 from all_views z where z.VIEW_NAME = x.short_name and z.OWNER = 'IBS')


Чего нет в all_views - те и невалиды


nvl забыл Wink


Каюсь Very Happy
nobel
Профи


Вступление в Клуб: 28.09.2011
СообщениеЧт Окт 22, 2015 07:55    Ответить с цитатой
Полезность: Нет оценки
У нас есть скрипт для проверки операций/представлений/пакетов и прочего на валидность(досталось от проверяющих ЦФТ).Вот выкладываю касательно представлений:
Код:

-- 3. Вывод представлений, имеющих проблемы с "Валидностью", но существующих в all_object
-- select count(1) as Количество_Не_Валидных_Crit
 select c.class_id, a.object_name, a.STATUS
 from all_objects a, criteria c
 where SUBSTR(a.object_name,1,Cool = 'VW_CRIT_' and a.status <> 'VALID' and a.object_type = 'VIEW'
   and c.short_name = a.object_name
 order by c.class_id, c.short_name
 
-- 4. Вывод представлений для отчетов, имеющих проблемы с "Валидностью", но существующих в all_object
-- select count(1) as Количество_Не_Валидных_RPT
 select a.owner, c.class_id, a.object_name, a.STATUS
 from all_objects a, criteria c
 where SUBSTR(a.object_name,1,7) = 'VW_RPT_' and a.status <> 'VALID' and a.object_type = 'VIEW'
   and c.short_name = a.object_name
 order by c.class_id, c.short_name;
 
-- 5. Вывод представлений, не существующих в user_object ("NOT EXIST")
-- select count(1) as Количество_Не_Существующ_Crit
 select c.class_id, c.short_name, c.tag
       from criteria c, (select * from user_objects where object_type = 'VIEW') a
       where c.short_name = a.object_name (+)
          and a.object_name is null
          and (c.tag is Null
            or c.tag <> 'EXTENSION')
 order by c.class_id, c.short_name
egor_spb
Участник - экстремал


Вступление в Клуб: 28.09.2007
СообщениеЧт Окт 22, 2015 09:59   Re: Подскажите где посмотреть невалидные представления? Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
Подскажите где посмотреть невалидные представления?

Сунулся в user_objects , dba_objects, там нет цфт-шных невалидных
, только валидные...


Можно в Навигаторе: Банковские продукты- ТМЦ Импорт - Журнал "инвалидных" представлений. Поставить фильтр на "Не похоже" на %EXT
dvt
Участник со стажем


Вступление в Клуб: 22.10.2012
СообщениеЧт Ноя 24, 2016 10:14    Ответить с цитатой
Полезность: Нет оценки
nobel пишет:
У нас есть скрипт для проверки операций/представлений/пакетов и прочего на валидность(досталось от проверяющих ЦФТ).Вот выкладываю касательно представлений:
Код:

-- 3. Вывод представлений, имеющих проблемы с "Валидностью", но существующих в all_object
-- select count(1) as Количество_Не_Валидных_Crit
 select c.class_id, a.object_name, a.STATUS
 from all_objects a, criteria c
 where SUBSTR(a.object_name,1,Cool = 'VW_CRIT_' and a.status <> 'VALID' and a.object_type = 'VIEW'
   and c.short_name = a.object_name
 order by c.class_id, c.short_name
 
-- 4. Вывод представлений для отчетов, имеющих проблемы с "Валидностью", но существующих в all_object
-- select count(1) as Количество_Не_Валидных_RPT
 select a.owner, c.class_id, a.object_name, a.STATUS
 from all_objects a, criteria c
 where SUBSTR(a.object_name,1,7) = 'VW_RPT_' and a.status <> 'VALID' and a.object_type = 'VIEW'
   and c.short_name = a.object_name
 order by c.class_id, c.short_name;
 
-- 5. Вывод представлений, не существующих в user_object ("NOT EXIST")
-- select count(1) as Количество_Не_Существующ_Crit
 select c.class_id, c.short_name, c.tag
       from criteria c, (select * from user_objects where object_type = 'VIEW') a
       where c.short_name = a.object_name (+)
          and a.object_name is null
          and (c.tag is Null
            or c.tag <> 'EXTENSION')
 order by c.class_id, c.short_name

Это фрагмент файла (кажется valid назывался) скриптами, который был где-то на форуме. Я его лично скачивал отсюда. Сейчас понадобился... и я не смог найти его. Sad Подскажите, пожалуйста, где он на форуме или выложите здесь. Думаю не мне одному будет полезно.

Спасибо.
dvt
Участник со стажем


Вступление в Клуб: 22.10.2012
СообщениеСр Дек 14, 2016 16:51    Ответить с цитатой
Полезность: Нет оценки
Вопрос был актуален. Сейчас актуален. И будет актуален. Smile
vtar
Эксперт


Вступление в Клуб: 20.03.2009
СообщениеЧт Дек 15, 2016 09:11    Ответить с цитатой
Полезность: 1
dvt пишет:
Вопрос был актуален. Сейчас актуален. И будет актуален. Smile


в этой теме какой то скрипт есть, он ?

http://cftclub.ru/viewtopic.php?t=2565&highlight=%ED%E5%E2%E0%EB%E8%E4
dvt
Участник со стажем


Вступление в Клуб: 22.10.2012
СообщениеЧт Дек 15, 2016 14:51    Ответить с цитатой
Полезность: Нет оценки
vtar пишет:
dvt пишет:
Вопрос был актуален. Сейчас актуален. И будет актуален. Smile


в этой теме какой то скрипт есть, он ?

http://cftclub.ru/viewtopic.php?t=2565&highlight=%ED%E5%E2%E0%EB%E8%E4

Да, он. Спасибо большое!!!
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Разработка в PL/PLUS. Оптимизация запросов Oracle Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru