Voici les faits.
Preparation
de l'environnement. Preparation d'un rollback segment pour la
transaction suivante. Nettoyage de la table TITI.
|
SVRMGR> alter rollback segment RB9 online;
Statement processed.
SVRMGR> truncate table titi;
Statement processed.
SVRMGR> select * from titi;
C1
------------------------------
0 rows selected.
SVRMGR> commit;
Statement processed. |
Insertion d'une ligne dans la table. Checkpoint pour descendre
les blocks dans le datafile.
|
SVRMGR> set transaction use rollback segment RB9;
Statement processed.
SVRMGR> insert into titi values ('AZERTYazerty');
1 row processed.
SVRMGR> alter system checkpoint;
Statement processed. |
| Simulons
la coupure de jus. La dernière insertion n'est pas encore validée. |
SVRMGR> shutdown abort;
ORACLE instance shut down. |
| Ici on démarre
avec le paramètre _corrupted_rollback_segments
= (rbs9), simulant la perte du tablespace de celui-ci. |
SVRMGR> startup open
ORACLE instance started.
Total System Global Area 15077376 bytes
Fixed Size 49152 bytes
Variable Size 12906496 bytes
Database Buffers 2048000 bytes
Redo Buffers 73728 bytes
Database mounted.
Database opened. |
| Malheureusement,
TITI contient notre enregistrement non validé ! |
SVRMGR> select * from titi;
C1
------------------------------
AZERTYazerty
1 row selected. |
| Abortons
à nouveau ! |
SVRMGR> shutdown abort;
ORACLE instance shut down. |
| Ici on
vire le paramètre _corrupted_rollback_segments
= (rbs9) (nous avons retrouvé notre tablespace) |
SVRMGR> startup open
ORACLE instance started.
Total System Global Area 15077376 bytes
Fixed Size 49152 bytes
Variable Size 12906496 bytes
Database Buffers 2048000 bytes
Redo Buffers 73728 bytes
Database mounted.
Database opened. |
| Voir le
contenu de TITI. |
SVRMGR> select * from titi;
C1
------------------------------
0 rows selected.
SVRMGR> |
| Donc tout
baigne ! |
| |