Suivre ce blog
Editer l'article Administration Créer mon blog
25 novembre 2008 2 25 /11 /novembre /2008 19:59

Bonsoir,

Et aujourd'hui une petite nouveauté au niveau table. Il est en effet possible avec Oracle 11 de mettre une table en lecture seule alors qu'avant il n'était possible de le faire qu'au niveau tablespace. 

La syntaxe est très simple :



ALTER ma_table READ ONLY;


De même pour revenir en mode écriture la syntaxe est :



ALTER TABLE ma_table READ WRITE;


Par ailleurs, une nouvelle colonne "READ_ONLY" a été ajouté dans les vues DBA_TABLES, USER_TABLES, ALL_TABLES. Cette colonne prends les valeurs YES et NO.

LAO.

Partager cet article

Published by LAO - dans ORACLE 11
commenter cet article

commentaires

Gigot 26/11/2008 10:31

Quel est le type d'erreur sur lequel on tombe si on s'amuse à faire un I/U/D dessus ?

LAO 26/11/2008 19:58



Hello,





Tout simplement un ORA-12081 : Update not allowed on table "ma_table". Par ailleurs il aurait fallu dire un I/U/D/T.


LAO.



Franck 26/11/2008 09:11

Ca sert à quoi de mettre une table en lecture seule ? Comment on fait pour la renseigner ?
Est-ce que l'idée est de dire qu'on insère les valeurs d'abord et qu'ensuite on la met en lecture seule; pour rajouter de nouvelles valeurs on serait alors obligé de la remettre en RW ?

Pour les colonnes VIRTUAL, j'imagine que celles-ci sont systématiquement en lecture seule ?

LAO 26/11/2008 09:29



Hello,


-1/C'est un peu le même principe que pour un fichier, c'est une option de sécurité. Dans une application on peut avoir des données systemes statique que l'on veut pas voir modifier. Et plutot que
de faire des triggers sur Update,Delete pour voir bloquer des mise à jours on met la table en Read Only. Et lors d'ajout d'informations (rare), on met la table en lecture écriture.  De même
parfois on peut vouloir historiser certaines données dans des tables d'archives. Pour éviter des truncate sauvage, on peut mettre ces tables en lecture seule.


-2/ Tout à fait.