>  기사  >  데이터 베이스  >  Oracle에서 테이블스페이스를 읽기 전용으로 설정하는 방법

Oracle에서 테이블스페이스를 읽기 전용으로 설정하는 방법

WBOY
WBOY원래의
2022-05-13 15:44:513743검색

Oracle에서는 "alter tablespace tablespace name read only" 문을 사용하여 테이블 공간을 읽기 전용으로 설정할 수 있습니다. 테이블 공간이 테이블 공간에 있을 때 alter tablespace 문을 사용합니다. 읽기 전용 상태에서는 파일의 데이터가 변경되지 않아 시스템 효율성이 향상될 수 있습니다.

Oracle에서 테이블스페이스를 읽기 전용으로 설정하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.

oracle에서 테이블스페이스를 읽기 전용으로 설정하는 방법

alter tablespace 表空间名 read only;

테이블스페이스가 읽기 전용 상태이면 읽기 작업만 수행할 수 있으므로 데이터 파일의 데이터는 변경되지 않으므로 Redo 로그 보호가 수행되지 않습니다. , 다시 실행 작업이 발생하지 않습니다. 따라서 이 상태에 있으면 시스템의 효율성이 향상될 수 있습니다.

지금은 읽기 전용 상태로 변경되었을 때 테이블스페이스는 모든 트랜잭션이 완료된 후에도 여전히 읽기 전용 상태로 설정되어 있었습니다. 테이블스페이스가 읽기 전용 상태로 수정되면 시스템이 체크포인트를 생성합니다. 물론, 테이블, 인덱스 등 읽기 전용 테이블스페이스의 객체도 삭제할 수 있습니다. 객체 삭제 명령은 DDL 문이므로 데이터 파일이 아닌 데이터 사전만 수정합니다.

예는 다음과 같습니다.

1. 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. XUANXUAN 테이블스페이스 상태를 쿼리합니다.

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

쿼리 결과로 판단하면 온라인입니다.

3. XUANXUAN 테이블스페이스를 읽기 전용 상태로 수정합니다.

SQL> alter tablespace XUANXUAN read only;

테이블스페이스가 변경되었습니다.

4. 수정 후 수정이 성공했는지 쿼리해 보세요.

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

5. 읽기 및 쓰기 가능 상태로 다시 변경하려면 다음 명령을 실행해야 합니다.

SQL> alter tablespace XUANXUAN read write;

테이블스페이스가 변경되었습니다.

6. 수정 후 수정이 성공했는지 쿼리해 보세요.

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

결과에서 XUANXUAN 테이블스페이스가 이미 온라인 상태임을 알 수 있습니다.

추천 튜토리얼: "Oracle Video Tutorial"

위 내용은 Oracle에서 테이블스페이스를 읽기 전용으로 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.