Heim  >  Artikel  >  Datenbank  >  So legen Sie den Tabellenbereich in Oracle schreibgeschützt fest

So legen Sie den Tabellenbereich in Oracle schreibgeschützt fest

WBOY
WBOYOriginal
2022-05-13 15:44:513720Durchsuche

In Oracle können Sie die Anweisung „alter tablespace tablespace name read only“ verwenden, um den Tabellenbereich auf schreibgeschützt zu setzen; die Anweisung alter tablespace wird verwendet, um die Daten des Tabellenbereichs zu ändern Im schreibgeschützten Zustand werden die Daten in der Datei nicht geändert. Dies kann die Effizienz des Systems verbessern.

So legen Sie den Tabellenbereich in Oracle schreibgeschützt fest

Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.

So legen Sie den Tabellenbereich in Oracle schreibgeschützt fest

alter tablespace 表空间名 read only;

Wenn sich ein Tabellenbereich im schreibgeschützten Zustand befindet, können nur Lesevorgänge ausgeführt werden, sodass sich die Daten in der Datendatei nicht ändern und der Redo-Log-Schutz daher nicht geändert wird durchgeführt werden, findet kein Wiederherstellungsvorgang statt. Daher kann dieser Zustand die Effizienz des Systems verbessern.

Als der Tabellenbereich gerade in den schreibgeschützten Status geändert wurde, befand er sich noch in einem Zwischenstatus. Nachdem alle Transaktionen abgeschlossen waren, wurde er in den schreibgeschützten Status versetzt. Wenn ein Tabellenbereich in einen schreibgeschützten Zustand geändert wird, generiert das System einen Prüfpunkt. Natürlich können Sie Objekte in schreibgeschützten Tabellenbereichen wie Tabellen, Indizes usw. löschen. Da es sich bei dem Befehl zum Löschen eines Objekts um eine DDL-Anweisung handelt, wird nur das Datenwörterbuch und nicht die Datendatei geändert.

Beispiele sind wie folgt:

1. Sehen Sie sich die dba_tablespaces-Struktur an

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. Fragen Sie den Status des XUANXUAN-Tabellenbereichs ab

SQL> select  TABLESPACE_NAME, STATUS, CONTENTS from dba_tablespaces where TABLESPACE_NAME like 'XUANXUAN';
 
TABLESPACE_NAME                STATUS    CONTENTS                               
------------------------------ --------- ---------                              
XUANXUAN                       ONLINE    PERMANENT

Den Abfrageergebnissen zufolge ist er online.

3. Ändern Sie den XUANXUAN-Tabellenbereich in den schreibgeschützten Status.

SQL> alter tablespace XUANXUAN read only;

Tablespace geändert.

4. Fragen Sie nach der Änderung ab, ob die Änderung erfolgreich war.

SQL> select  TABLESPACE_NAME, STATUS, CONTENTS from dba_tablespaces where TABLESPACE_NAME like 'XUANXUAN';
 
TABLESPACE_NAME                STATUS    CONTENTS                               
------------------------------ --------- ---------                              
XUANXUAN                       READ ONLY PERMANENT

5. Wenn Sie es wieder in den lesbaren und beschreibbaren Status ändern möchten, müssen Sie den folgenden Befehl ausführen.

SQL> alter tablespace XUANXUAN read write;

Tablespace geändert.

6. Fragen Sie nach der Änderung ab, ob die Änderung erfolgreich war.

SQL> select  TABLESPACE_NAME, STATUS, CONTENTS from dba_tablespaces where TABLESPACE_NAME like 'XUANXUAN';
 
TABLESPACE_NAME                STATUS    CONTENTS                               
------------------------------ --------- ---------                              
XUANXUAN                       ONLINE    PERMANENT

Aus den Ergebnissen ist ersichtlich, dass der Tabellenbereich XUANXUAN bereits online ist.

Empfohlenes Tutorial: „Oracle Video Tutorial

Das obige ist der detaillierte Inhalt vonSo legen Sie den Tabellenbereich in Oracle schreibgeschützt fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn