25 Février 2018
Hello
Dans un article précédent, nous avons vu comment créer un volume ACFS :(http://www.lami-dba.com/2018/02/rac-creer-un-volume-acfs.html).
Ceci, étant fait, nous allons voir qu'un des avantages du volume ACFS est de pouvoir un peu comme votre virtualBox ou VmWare, créer des snapshots de votre volume, et ainsi sécuriser des opérations de modification de scripts, ou autres.
Ci-dessous le contenu de mon volume ACFS (/ora/export)
[oracle@jumbo export]$ ll total 4128 -rw-r----- 1 oracle dba 3346432 Feb 25 20:30 expDB.dmp -rw-r--r-- 1 oracle dba 8370 Feb 25 20:30 expDB.log -rw-r--r-- 1 oracle oinstall 90 Feb 25 20:25 exp.par drwx------ 2 root root 65536 Feb 20 21:11 lost+fund drwxr-xr-x 2 oracle oinstall 4096 Feb 25 20:19 scripts_new drwxr-xr-x 2 oracle oinstall 4096 Feb 25 20:19 scripts_prod -rw-r--r-- 1 oracle oinstall 44 Feb 25 20:07 test.log
Me sachant amené à intervenir sur certain fichiers, je vais donc créer un snasphot du volume.
[oracle@jumbo export]$ /sbin/acfsutil snap create snap_AvtModif /ora/export/
acfsutil snap create: Snapshot operation is complete.
Le snapshot a bien été crée. D'ailleurs, si je regarde les informations de mon volume, je peux apercevoir que les deux dernières lignes m'indiquent le nombre de snapshots et l'espace utilisé par le snapshot.
[oracle@jumbo export]$ /sbin/acfsutil info fs /ora/export/
/ora/export/
ACFS Version: 12.2.0.1.0
on-disk version: 40.0
compatible.advm: 11.2.0.2.0
ACFS compatibility: 11.2.0.2.0
flags: MountPoint,Available
mount time: Sun Feb 25 19:13:39 2018
mount sequence number: 0
allocation unit: 4096
metadata block size: 512
volumes: 1
total size: 5368709120 ( 5.00 GB )
total free: 5211295744 ( 4.85 GB )
file entry table allocation: 49152
primary volume: /dev/asm/export-277
label:
state: Available
major, minor: 252, 141825
logical sector size: 512
size: 5368709120 ( 5.00 GB )
free: 5211295744 ( 4.85 GB )
metadata read I/O count: 1404
metadata write I/O count: 1282
total metadata bytes read: 137186816 ( 130.83 MB )
total metadata bytes written: 1685504 ( 1.61 MB )
ADVM diskgroup: ACFSDISK1
ADVM resize increment: 536870912
ADVM redundancy: unprotected
ADVM stripe columns: 8
ADVM stripe width: 1048576
number of snapshots: 1
snapshot space usage: 49152 ( 48.00 KB )
Remarque : On constate que la taille du snapshot est light. C'est le principe même du snapshot. La taille du snapshot va évoluer en fonction du différentiel des modifications.
Après quelques manipulations malencontreuses, je me rends compte que j'ai supprimé mon fichier exp.par.
[oracle@jumbo export]$ ls -lht total 4.1M -rw-r----- 1 oracle dba 3.2M Feb 25 20:30 expDB.dmp drwxr-xr-x 2 oracle oinstall 4.0K Feb 25 20:19 scripts_new drwxr-xr-x 2 oracle oinstall 4.0K Feb 25 20:19 scripts_prod -rw-r--r-- 1 oracle oinstall 44 Feb 25 20:07 test.log
Cependant, si j'interroge, l'état du volume au moment du snapshot, je vois qu'il est bien présent. Encore heureux, c'était quand même le but de faire un snapshot.
[oracle@jumbo export]$
[oracle@jumbo export]$ ls -lht .ACFS/snaps/snap_AvtModif/
total 4.0M
-rw-r--r-- 1 oracle dba 8.2K Feb 25 20:30 expDB.log
-rw-r----- 1 oracle dba 3.2M Feb 25 20:30 expDB.dmp
-rw-r--r-- 1 oracle oinstall 90 Feb 25 20:25 exp.par
drwxr-xr-x 2 oracle oinstall 4.0K Feb 25 20:19 scripts_new
drwxr-xr-x 2 oracle oinstall 4.0K Feb 25 20:19 scripts_prod
-rw-r--r-- 1 oracle oinstall 44 Feb 25 20:07 test.log
Il ne me reste donc plus qu'à récuperer le fichier via un cp classique.J'inclus ici la clause -p afin de conserver les droits sur les fichiers.
[oracle@jumbo export]$
[oracle@jumbo export]$ cp -p .ACFS/snaps/snap_AvtModif/exp.par /ora/export/
[oracle@jumbo export]$
Je vous épargne la vérification que le fichier est de nouveau présent, et identique à l'état d'avant le snapshot. Ayant terminé mes opérations, il ne me reste plus qu'à ne pas oublier de supprimer le snapshot.
[oracle@jumbo export]$ /sbin/acfsutil snap delete snap_AvtModif /ora/export/
acfsutil snap delete: Snapshot operation is complete.
Dernière vérification sur l'état de mon volume ACFS.
[oracle@jumbo export]$ [oracle@jumbo export]$ /sbin/acfsutil info fs /ora/export/ /ora/export/ ACFS Version: 12.2.0.1.0 on-disk version: 40.0 compatible.advm: 11.2.0.2.0 ... number of snapshots: 0 snapshot space usage: 0 ( 0.00 ) replication status: DISABLED compression status: DISABLED [oracle@jumbo export]$
On voit bien qu'il n'y a plus de snapshot en cours sur le volume.
Remarque: Rien ne m'aurait empeché de faire plusieurs snapshots sur le même volume, afin de valider des étapes intermédiaires & ainsi pouvoir revenir en arrière facilement.
Enjoy.