Você também deseja certificar-se dos carimbos de data e hora de todas as tabelas. Pesquise qualquer metadado no sistema para todas as tabelas, ordene essa lista por data e hora atualizadas pela última vez e exiba a saída em ordem descendente por data e hora. Você também pode verificar o tamanho da tabela até mesmo para uma ligeira alteração no tamanho.
Por exemplo, no MySQL 5.x, você tem information_schema.tables que se parece com isso:
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)
A coluna UPDATE_TIME registra a última vez que qualquer INSERT, UPDATE ou DELETE foi aplicado pela última vez à tabela. Você pode executar consultas como estas para descobrir quando cada banco de dados foi acessado pela última vez:
A última vez que uma tabela foi acessada em cada banco de dados:
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;
A última vez que uma tabela foi acessada em qualquer banco de dados:
SELECT MAX(update_time) last_accessed FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql');
Últimas 10 datas em que uma tabela foi acessada:
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;
Estes são apenas alguns exemplos de como obter esses metadados do MySQL. Tenho certeza de que o Oracle e o SQL Server têm métodos semelhantes ou melhores.
Depois de ter certeza de quantas vezes ou raramente um banco de dados (ou esquema) é acessado, você deve despejar / exportar manualmente os bancos de dados antigos, juntamente com cópias do próprio esquema, além dos dados. Por favor, desculpe que minha resposta não seja DB independente. Os DBAs SQLServer e Oracle também devem expressar suas respostas aqui, já que o conceito de um esquema como sendo uma coleção dentro de uma instância de banco de dados é obscurecido no MySQL, mas seguido rigorosamente no SQLServer e Oracle.