A ver, la respuesta corta: Compactar en el sentido de Access no tiene lugar, no existe, en los motores serios, pero aclaro, en el sentido de Access.
Que sucede, que los motores serios, Firebird (lo pongo primero solo por esta vez), SQL Server, Oracle, Teradata, etc gestionan ellos mismos este tema.
Doc, Jet Engine que es el motor de Access es un motor muy básico, no le puedes pedir mucho, los motores serios son mas sofisticados, ellos mismos gestionan varios temas, no solo reutilizan esos espacios marcados como borrados, también regeneran los indices, resguardan la integridad de la información, etc etc..., en conclusión lo mejoran, y a eso le llaman: Optimización (suena mas bonito no?)
Por cierto que también son susceptible a daños, los problemillas se puedan dar sobre Windows, sobre Linux el riesgo es menor, claro que si quieres un ejemplo a prueba de balas tendríamos que irnos a los sistema AS-400 con base de datos DB2, es mas probable que se joda el servidor y no la BD. je
Concluyendo toda esta parlada. Compactación no existe en motores serios, pero eso no quita que cada tiempo por un mejor desempeño le metas tu Optimizada. En el caso de Firebird es usando el Gbak para backupear y restaurar.
Saludos