Maison > Article > base de données > Comment définir l'espace table en lecture seule dans Oracle
Dans Oracle, vous pouvez utiliser l'instruction "alter tablespace tablespace name read only" pour définir l'espace table en lecture seule ; l'instruction alter tablespace est utilisée pour modifier les données de l'espace table lorsque l'espace table est dans le. En lecture seule, les données du fichier ne seront pas modifiées. Les modifications peuvent améliorer l'efficacité du système.
L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.
alter tablespace 表空间名 read only;
Lorsqu'un espace table est en lecture seule, seules les opérations de lecture peuvent être effectuées, de sorte que les données du fichier de données ne changeront pas, donc la protection des journaux de rétablissement ne sera pas être effectuée, aucune opération de rétablissement ne sera effectuée. Par conséquent, être dans cet état peut améliorer l’efficacité du système.
Lorsqu'il a été modifié en lecture seule tout à l'heure, l'espace table était toujours dans un état intermédiaire. Il était défini en lecture seule une fois toutes les transactions terminées. Lorsqu'un espace table est modifié en lecture seule, le système génère un point de contrôle. Bien entendu, vous pouvez supprimer des objets dans l'espace table en lecture seule, tels que des tables, des index, etc. La commande permettant de supprimer un objet étant une instruction DDL, elle modifie uniquement le dictionnaire de données plutôt que le fichier de données.
Les exemples sont les suivants :
1. Affichez la structure dba_tablespaces
SQL> desc dba_tablespaces; 名称 是否为空? 类型 ----------------------------------------- -------- ---------------------------- TABLESPACE_NAME NOT NULL VARCHAR2(30) BLOCK_SIZE NOT NULL NUMBER INITIAL_EXTENT NUMBER NEXT_EXTENT NUMBER MIN_EXTENTS NOT NULL NUMBER MAX_EXTENTS NUMBER PCT_INCREASE NUMBER MIN_EXTLEN NUMBER STATUS VARCHAR2(9) CONTENTS VARCHAR2(9) LOGGING VARCHAR2(9) FORCE_LOGGING VARCHAR2(3) EXTENT_MANAGEMENT VARCHAR2(10) ALLOCATION_TYPE VARCHAR2(9) PLUGGED_IN VARCHAR2(3) SEGMENT_SPACE_MANAGEMENT VARCHAR2(6) DEF_TAB_COMPRESSION VARCHAR2(8) RETENTION VARCHAR2(11) BIGFILE VARCHAR2(3)
2. Recherchez l'état de l'espace table XUANXUAN
SQL> select TABLESPACE_NAME, STATUS, CONTENTS from dba_tablespaces where TABLESPACE_NAME like 'XUANXUAN'; TABLESPACE_NAME STATUS CONTENTS ------------------------------ --------- --------- XUANXUAN ONLINE PERMANENT
À en juger par les résultats de la requête, il est en ligne.
3. Modifiez l'espace table XUANXUAN en statut de lecture seule.
SQL> alter tablespace XUANXUAN read only;
Tablespace modifié.
4. Après la modification, interrogez pour voir si la modification a réussi.
SQL> select TABLESPACE_NAME, STATUS, CONTENTS from dba_tablespaces where TABLESPACE_NAME like 'XUANXUAN'; TABLESPACE_NAME STATUS CONTENTS ------------------------------ --------- --------- XUANXUAN READ ONLY PERMANENT
5. Si vous souhaitez le remettre à l'état lisible et inscriptible, vous devez exécuter la commande suivante.
SQL> alter tablespace XUANXUAN read write;
Tablespace modifié.
6. Après la modification, interrogez pour voir si la modification a réussi.
SQL> select TABLESPACE_NAME, STATUS, CONTENTS from dba_tablespaces where TABLESPACE_NAME like 'XUANXUAN'; TABLESPACE_NAME STATUS CONTENTS ------------------------------ --------- --------- XUANXUAN ONLINE PERMANENT
D'après les résultats, on peut voir que l'espace table XUANXUAN est déjà en ligne.
Tutoriel recommandé : "Tutoriel vidéo Oracle"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!