Oracle에서는 "alter tablespace tablespace name read only" 문을 사용하여 테이블 공간을 읽기 전용으로 설정할 수 있습니다. 테이블 공간이 테이블 공간에 있을 때 alter tablespace 문을 사용합니다. 읽기 전용 상태에서는 파일의 데이터가 변경되지 않아 시스템 효율성이 향상될 수 있습니다.
이 튜토리얼의 운영 환경: Windows 10 시스템, Oracle 11g 버전, Dell G3 컴퓨터.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!