Вывести список локальных объектов
На страницу 1, 2 След.
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
montes Участник
Вступление в Клуб: 05.04.2013
|
Пт Апр 05, 2013 03:47  Вывести список локальных объектов |
|
Полезность: Нет оценки
|
Добрый день.
Подскажите. Каким образом вывести запросом список локальных объектов банка или может кто-нибудь подскажет готовое представление в котором это реализовано? Речь не идет о хаке Просто есть необходимость контроля количества локальных объектов системы и желание уменьшить их количество путем анализа неиспользуемых. |
|
 |
Andry Участник - экстремал
Вступление в Клуб: 14.01.2009
|
Пт Апр 05, 2013 08:03   |
|
Полезность: Нет оценки
|
А как ты проанализаруешь их неиспользуемость?
На всех локальных операциях надо ставить признак журналирования, и писать представление которое показывает - какие не запускались за период... |
|
 |
montes Участник
Вступление в Клуб: 05.04.2013
|
Пт Апр 05, 2013 08:08   |
|
Полезность: Нет оценки
|
Ну да. У меня только такой способ. |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Пт Апр 05, 2013 08:43   |
|
Полезность: Нет оценки
|
Можно воспользоваться запросом:
Код: |
pragma pl_sql(true);
type main is
SELECT x(
....
) IN methods%rowtype
|
В условие вставить like по префиксу вашего банка. Потом крыжить список чего надо, а чего нет. |
|
 |
montes Участник
Вступление в Клуб: 05.04.2013
|
Пт Апр 05, 2013 09:12   |
|
Полезность: Нет оценки
|
Можно, но попадут не все. Не на всех есть наш префикс, есть например операции по интеграции с банк-клиентом, там вообще префиксов нет, есть еще и хуки. |
|
 |
yaffil Профи
Вступление в Клуб: 18.08.2011
|
Пт Апр 05, 2013 09:17   |
|
Полезность: Нет оценки
|
Без префиксов, вас ЦФТ будет долго и упорно драть, присылая эти объекты сравненные с эталонной базой. У нас из за этого в прошлом банке год на сопровождение не брали. А хуки локальные они все в одном месте справочника, не так уж и много их локальных. |
|
 |
montes Участник
Вступление в Клуб: 05.04.2013
|
Пт Апр 05, 2013 09:35   |
|
Полезность: Нет оценки
|
Ну на поддержку нас уже взяли , а держать еще в уме что есть хуки и их тоже как-то нужно обработать как-то не системно.
Поэтому и хотелось бы узнать, кроме использования префиксов в наименовании операции, как определить дистрибутив это или локаль. |
|
 |
Ghost Профи
Вступление в Клуб: 24.11.2007
|
Пт Апр 05, 2013 09:54   |
|
Полезность: Нет оценки
|
montes пишет: | Ну на поддержку нас уже взяли , а держать еще в уме что есть хуки и их тоже как-то нужно обработать как-то не системно.
Поэтому и хотелось бы узнать, кроме использования префиксов в наименовании операции, как определить дистрибутив это или локаль. |
Попросите у ЦФТ *.pck с эталонной схемы, все что не отметится и будет ваш локал. Или как вариант саму эталонную схему и выполните сравнение. |
|
 |
Ezhik Участник со стажем
Вступление в Клуб: 17.04.2009
|
Пт Апр 05, 2013 10:06   |
|
Полезность: Нет оценки
|
Либо сравнение с эталоном, либо с таблицей OBJECTS_OPTIONS |
|
 |
montes Участник
Вступление в Клуб: 05.04.2013
|
Пт Апр 05, 2013 10:18   |
|
Полезность: Нет оценки
|
Ghost пишет: | Попросите у ЦФТ *.pck с эталонной схемы, все что не отметится и будет ваш локал. Или как вариант саму эталонную схему и выполните сравнение. |
Задача не найти эти локальные объекты (их можно посмотреть и в администраторе дистрибутива), а использовать их в запросе для определения как часто они используются. |
|
 |
montes Участник
Вступление в Клуб: 05.04.2013
|
Пт Апр 05, 2013 10:35   |
|
Полезность: Нет оценки
|
Ezhik пишет: | Либо сравнение с эталоном, либо с таблицей OBJECTS_OPTIONS | С таблицей - это вариант. Подскажите, а с представлениями как я могу подобное сравнение сделать |
|
 |
Ezhik Участник со стажем
Вступление в Клуб: 17.04.2009
|
Пт Апр 05, 2013 11:31   |
|
Полезность: Нет оценки
|
montes пишет: | Ezhik пишет: | Либо сравнение с эталоном, либо с таблицей OBJECTS_OPTIONS | С таблицей - это вариант. Подскажите, а с представлениями как я могу подобное сравнение сделать | Там все объекты, включая представления. Т. е. брать представление и смотреть, есть ли там запись с таким же SHORT_NAME |
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Пт Апр 05, 2013 11:35   |
|
Полезность: Нет оценки
|
Я бы создал справочник, в который заносится имя объекта и счетчик на количество инициализаций _________________ всегда есть как минимум 2 выхода |
|
 |
Andry Участник - экстремал
Вступление в Клуб: 14.01.2009
|
Пт Апр 05, 2013 15:16   |
|
Полезность: Нет оценки
|
Alexsey пишет: | Я бы создал справочник, в который заносится имя объекта и счетчик на количество инициализаций |
Зачем, если можно включить журналирование запуска?
Код: |
pragma include([SYS_DIARYS]::[CRIT_DIARY]);
pragma macro (date1, 'to_date(sys_context(USER_CONTEXT, ''SUM_USAGE_DATE_1''), ''dd/mm/yyyy'')', substitute);
pragma macro (date2, 'to_date(sys_context(USER_CONTEXT, ''SUM_USAGE_DATE_2''), ''dd/mm/yyyy'')', substitute);
type main is
select m(
m.CLASS_ID,
m.ID : ID,
nvl(d.user_id, 'Nobody') : c_user_id,
m.class_id||'.'||m.short_name : c_sname,
m.name : c_name,
decode(nvl(d.user_id,'Nobody'),'Nobody',0, nvl(count(d.sname),0)) : c_count,
decode(m.user_driven, 1, 'Yes', 0, 'No') : c_user_driven
)
in METHODS%rowtype, (DIARY_EXEC%rowtype all :d)
where
m.id = d.method_id(true)
-- Критерий локальных операций - префикс
and upper(substr(m.short_name,1,3)) = 'SUM'
-- Только те, которые журналируются
and (m.PROPERTIES like '%PARAMS Y%' or (m.PROPERTIES like '%COMPILER %' and m.PROPERTIES not like '%COMPILER 0%'))
and nvl(trunc(d.time(true)), trunc(&date1)+1) >= trunc(&date1)
and nvl(trunc(d.time(true)), trunc(&date2)-1) <= trunc(&date2)
group by
m.CLASS_ID,
m.ID,
nvl(d.user_id,'Nobody'),
m.class_id||'.'||m.short_name,
m.name,
d.user_id,
m.USER_DRIVEN
order by 2
;
|
|
|
 |
Alexsey Эксперт
Вступление в Клуб: 06.09.2007
|
Пт Апр 05, 2013 15:35   |
|
Полезность: Нет оценки
|
Кому как удобнее. Не на всех операциях включено журналирование. Тем более после сбора статистики придется журналирование на лишних операциях отключать. _________________ всегда есть как минимум 2 выхода |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|