Вы также хотите удостовериться в отметках даты и времени каждой таблицы. Выполните поиск любых метаданных в системе для каждой таблицы, упорядочите такой список по дате и времени последнего обновления и отобразите выходные данные в порядке убывания по дате и времени. Вы также можете проверить размер таблицы даже для небольшого изменения размера.
Например, в MySQL 5.x у вас есть information_schema.tables, которая выглядит так:
mysql> desc information_schema.tables;
+-----------------+---------------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------------+------+-----+---------+-------+
| TABLE_CATALOG | varchar(512) | NO | | | |
| TABLE_SCHEMA | varchar(64) | NO | | | |
| TABLE_NAME | varchar(64) | NO | | | |
| TABLE_TYPE | varchar(64) | NO | | | |
| ENGINE | varchar(64) | YES | | NULL | |
| VERSION | bigint(21) unsigned | YES | | NULL | |
| ROW_FORMAT | varchar(10) | YES | | NULL | |
| TABLE_ROWS | bigint(21) unsigned | YES | | NULL | |
| AVG_ROW_LENGTH | bigint(21) unsigned | YES | | NULL | |
| DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |
| MAX_DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |
| INDEX_LENGTH | bigint(21) unsigned | YES | | NULL | |
| DATA_FREE | bigint(21) unsigned | YES | | NULL | |
| AUTO_INCREMENT | bigint(21) unsigned | YES | | NULL | |
| CREATE_TIME | datetime | YES | | NULL | |
| UPDATE_TIME | datetime | YES | | NULL | |
| CHECK_TIME | datetime | YES | | NULL | |
| TABLE_COLLATION | varchar(32) | YES | | NULL | |
| CHECKSUM | bigint(21) unsigned | YES | | NULL | |
| CREATE_OPTIONS | varchar(255) | YES | | NULL | |
| TABLE_COMMENT | varchar(2048) | NO | | | |
+-----------------+---------------------+------+-----+---------+-------+
21 rows in set (0.01 sec)
Столбец UPDATE_TIME записывает, когда в последний раз любые INSERT, UPDATE или DELETE последний раз применялись к таблице. Вы можете выполнить такие запросы, чтобы узнать, когда к каждой базе данных обращались в последний раз:
Последний раз к таблице обращались в каждой базе данных:
SELECT table_schema,MAX(update_time) last_accessed
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
AND update_time IS NOT NULL
GROUP BY table_schema;
Последний раз к таблице обращались в любой базе данных:
SELECT MAX(update_time) last_accessed FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql');
Последние 10 дат обращения к таблице:
SELECT * FROM
(SELECT * FROM
(SELECT last_accessed,COUNT(1) access_count
FROM (SELECT DATE(update_time) last_accessed
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
AND update_time IS NOT NULL) A
GROUP BY last_accessed) AA
ORDER BY last_accessed DESC) AAA
LIMIT 10;
Это всего лишь несколько примеров того, как получить такие метаданные из MySQL. Я уверен, что Oracle и SQL Server имеют похожие или лучшие методы.
Если вы уверены, как часто или редко обращаетесь к базе данных (или схеме), вам следует вручную вывести / экспортировать устаревшие базы данных вместе с копиями самой схемы, кроме данных. Пожалуйста, извините, что мой ответ не является независимым от БД. Администраторы SQLServer и Oracle также должны здесь озвучить свои ответы, поскольку концепция схемы, являющейся коллекцией в экземпляре базы данных, в MySQL размыта, но в SQLServer и Oracle очень строго соблюдается.