Créer un sparse file avec "dd"

Un sparse file est un fichier dont tous les morceaux ne sont pas alloués. Oracle peut dans certain cas créer des sparse file comme par exemple pour les tablespaces temporaires. Dans le cas où vous créez des fichiers qui servent de coquille pour le disque d’une machine virtuelle, un sparse file est idéal. Voici comment en créer un avec la comande dd sous Oracle Enterprise Linux:

time dd if=/dev/zero of=Oracle.img bs=1M seek=10000 count=1
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.026489 seconds, 39.6 MB/s

real 0m0.067s
user 0m0.000s
sys 0m0.000s

Voilà 26 ms pour créer un fichiers de presque 10 Go, ça pourrait même faire rêver un administrateur Exadata; mais contrairement à ce que reporte la commande ls, le fichier fait en réalité 1M

ls -ltra Oracle.img
-rw-r--r-- 1 root root 10486808576 Jun 26 02:42 Oracle.img
du -hs Oracle.img
1.1M Oracle.img