powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Инвентаризация объектов БД
6 сообщений из 6, страница 1 из 1
Инвентаризация объектов БД
    #39992176
ТукТум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем Привет!

Только что пересели на борт борт ASA 17.0.10.6089
и хотим провести инвентаризацию "багажа" с предыдущего рейса.

Код: sql
1.
2.
3.
4.
5.
6.
7.
select
    s.table_name
FROM
    systable s
where 
s.creator >0 
AND s.table_type ='BASE'



Дает впечатляющую картину окружающего "богатства и разнообразия" ...

Нужно срочно очистить багажный отсек о ненужного хлама.
Для этого нужно сначала определить список активных объектов, а потом переименовать и удалить (по усмотрению) все что осталось.

Включение profiler дает полную картину активных процессов (CRUD), но выгрузить данные в текстовом виде не удается, и
это принуждает к "ручному" составлению списка активных объектов БД.
т.е. Создаем новую схему и переносим туда все, что увидели в profiler.

Список измененных объектов можно получить через анализ sql-скрипта (dbtran log-file sql-скрипт) через регулярные выражения, но там будет все кроме select from join

т.е. опять возвращаемся к profiler и смотрим ...

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

Буду очень благодарен за совет!
...
Рейтинг: 0 / 0
Инвентаризация объектов БД
    #39994047
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТукТум
Может есть вариант выгрузки данных из профайлера по фильтру, а мы его не увидели?
Прежде чем выбирать технические средства для решения задачи нужно понимать- для чего вы это делаете. Чего хотите добиться, какую цену готовы заплатить и какую ответственность понести. Ну порежете вы всё "лишнее", а в конце года выяснится, что любимый отчёт финансового отдела требующийся только раз в год почему-то не работает. Сделайте технический обзор всей системы, в т.ч. клиентской части, тогда, может быть, что-то прояснится.
...
Рейтинг: 0 / 0
Инвентаризация объектов БД
    #39994061
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В техническом смысле- если хотите особенных приключений, то повесьте на каждую таблицу триггер и логгируйте как можно больше за как можно долгий период времени. Конечно, это не спасёт от readonly таблиц и редковызываемых отчётов, зато узнаете много нового. У вас, ведь, не боевой сервер.
...
Рейтинг: 0 / 0
Инвентаризация объектов БД
    #39994323
ТукТум
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tunknown,

Поскольку тема смещается в сторону постановки задач, тут вероятно ответ - только hardcore.


авторПрежде чем выбирать технические средства для решения задачи нужно понимать- для чего вы это делаете.


Это совершенно верный подход.
Мы хотим это сделать, чтобы ясно видеть все объекты базы, которые использует текущее техническое решение (Оно очень загадочное), и освободить место на диске. Конечно все операции проходят на тестовом сервере.

А если учесть, что софт все равно следует переписать, то может и правда не стоит "болото осушать".

Спасибо за ответ.
...
Рейтинг: 0 / 0
Инвентаризация объектов БД
    #39994336
tunknown
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТукТум
Конечно все операции проходят на тестовом сервере.
Я несколько не это имел в виду. Хорошо, что вы об этом теперь упомянули явно.

ТукТум
Мы хотим это сделать, чтобы ясно видеть все объекты базы, которые использует текущее техническое решение (Оно очень загадочное),
Триггер на все таблицы даст более точный и более быстрый результат. Не знаю, насколько такой код для MSSQL подойдёт для Sybase, но могу предложить генератор триггеров логгирования. При любом техническом методе вам нужен метод эмуляции боевой нагрузки не только для тестирования перед отдачей пользователям, но и для самого нахождения того, что нужно рефакторить.

ТукТум
и освободить место на диске.
Нужно уменьшить объём данных операционной базы или только размер бекапа? Наличие неиспользуемых таблиц большого объёма либо удивительно, либо очевидно. Например, забытые огромные таблицы логов очевидны к сокращению количества записей или удалению. Ещё можно поискать поля избыточных типов данных, например, nvarchar, если хватит varchar или bigint, если хватит tinyint. Но это автоматизированно найти непросто.
...
Рейтинг: 0 / 0
Инвентаризация объектов БД
    #39995584
Mikle83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТукТум,

вы себе две разные задачи поставили. Очистка места - одна война, сокращение числа объектов и декомит неиспользуемых = совершенно другая.

Конечно же, у них есть пересечение, но минимальное.

Я бы рекомендовал в первую очередь посмотреть на первую - очистка места.
Обычно делаю следующее:
1. Собрать статистику по росту объектов в течение продолжительного времени (не менее месяца).
2. Оценить приемлемый объем объектов для анализа (зачем смотреть в таблицы несколько МБ, если у вас база Гигабайт).
Может работать стандартный принцип 80% места будет под 20% объектов - их и анализировать дальше
3. Оценить основные профили поведения объектов:
а) константый объем - либо справочники, либо хорошо очищаемые операционные таблицы (их на потом)
б) константный рост - очень вероятный претендент на очистку, скорее всего не попал под текущие условия удержания данных в системе.
в) "пила" - рост / падение с явной периодичностью = т.е. четко работающий механизм очистки.
Пила с явной динамикой роста на большом промежутке - первый и главный пациент на очистку, т.к. уже существует механизм очистки и вам его надо только скорректировать, дабы предотвратить рост.
4. Оценить как будете чистить данные - одноразовый процесс / сделаете периодическую зачистку и т.п.


по второй задаче, на мой взгляд, смысла убирать объекты из базы на первом этапе (года два с момента "десанта" в систему)
никакого, кроме технического перфекционизма, сопряженного с желанием получить адреналин после каждой DDL операции :)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Инвентаризация объектов БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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