Maison  >  Article  >  base de données  >  Comment définir l'espace table en lecture seule dans Oracle

Comment définir l'espace table en lecture seule dans Oracle

WBOY
WBOYoriginal
2022-05-13 15:44:513727parcourir

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.

Comment définir l'espace table en lecture seule dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 10, version Oracle 11g, ordinateur Dell G3.

Comment définir l'espace table en lecture seule dans Oracle

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn