Ви також хочете переконатися в марках дати кожної таблиці. Шукайте будь-які метадані в системі для кожної таблиці, упорядкуйте такий список за останнім часом оновленим датою та виведіть вихід у порядку desc до дати. Ви також можете перевірити розмір столу на предмет навіть незначної зміни розміру.
Наприклад, у 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 DBA повинні також озвучувати свої відповіді, оскільки концепція схеми, що є колекцією в екземплярі бази даних, розмита в MySQL, але дуже суворо дотримується в SQLServer та Oracle.