오라클DB - 읽기전용 테이블스페이스

2022. 11. 14. 16:20데이터베이스

ora9i_fundmental1_vol1_kr

 

읽기 전용 테이블스페이스

 - 명령어

ALTER TABLESPACE userdata READ ONLY;

   - 체크포인트 발생

   - 데이터를 읽을 수만 있음

   - 테이블스페이스에서 객체 삭제 가능

   - DROP가능(READ ONLY의 관한 정보는 딕셔너리, CONTROL FILES에 들어가있다.)

 

윈도우에서 1TB 파일을 지울때와 복사할때 차이점

 - 복사에 비해서 삭제가 시간이 훨씬 빨리되는데 파일을 실제로 지우는게 아니라 그 파일의 등록정보만 삭제

 

시험 : 딕셔너리 조회 문제 많이 문제를 응용해서 문제를 낸다.

 

숙제 : 전 기수들 블로그 들어가서 확인

READONLY했는데 왜 DROP이 되는지

READONLY해도안해도 DROP이 되는데 왜 READONLY를 하는지 \\

 

폴더를 열고 그 폴더를 삭제할수없음(폴더를 열어서 폴더가 온라인 상태임)

 

테이블스페이스 오프라인 설정

 - 데이터 액세스에 사용할 수 없음

 - 오프라인으로 설정X 테이블스페이스

   - SYSTEM 테이블스페이스

   - 활성 실행 취소 세그먼트가 있는 테이블스페이스

 - 테이블스페이스를 오프라인으로 설정하려면 다음 작업을 수행합니다.

ALTER TABLESPACE userdata OFFLINE;

- 데이터가 살아있는 상태에서 일부만 오프라인 할수 있다.

 

 - 테이블스페이스를 온라인으로 설정하려면 다음 작업을 수행합니다.

ALTER TABLESPACE userdata ONLINE;

 UNDO SEGMENT는 항상 활성화 되어있다.

 

테이블스페이스 크기 조정

 - 데이터 파일의 크기 변경

    - AUTOEXTEND를 사용한 자동 변경

    - ALTER TABLESPACE를 사용한 수동 변경

 - ALTER TABLESPACE를 사용하여 데이터 파일 추가

 

데이터 파일의 자동 확장 활성화

 -  다음 명령을 사용하여 크기를 자동으로 조정할 수 있습니다.

    - CREATE DATABASE

    - CREATE TABLESPACE 

    - ALTER TABLESPACE ... ADD DATAFILE

 

 - 예제:

    - CREATE TABLESPACE user_data

    - '/u01/oradata/userdata01.dbf' SIZE 200M
       AUTOEXTEND ON NEXT 10M MAXSIZE 500M;           <----- 처음 만들때 500M으로 만들면 된다.

 

 - DBA_DATA_FILES 뷰를 질의하여 AUTOEXTEND가 활성화 되었는지 확인합니다.

   

수동으로 데이터 파일 크기 조정

 - ALTER DATABASE를 사용하여 데이터 파일 크기를 수동으로 늘리거나 줄입니다.

 - 데이터 파일 크기를 조정하면 데이터 파일을 추가하지 않고 공간을 추가합니다.

 - 데이터 파일의 수도 크기 조정은 사용되지 않은 데이터베이스의 공간을 확보합니다.

 - 예제 :

    - ALTER DATABASE
      DATAFILE '/u03/oradata/userdata02.dbf'
      RESIZE 200M;

 

테이블스페이스에 데이터 파일 추가

 - 데이터 파일을 추가하여 테이블스페이스에 할당된 공간을 늘립니다.

 - ADD DATAFILE 절은 데이터 파일을 추가하는 데 사용됩니다.

 - 예제 :

ALTER TABLESPACE user_data
ADD DATAFILE '/u01/oradata/userdata03.dbf' SIZE 200M;

 

데이터 파일 이동 방식 - 가급적 DB를 죽이지말고 오프라인으로 바꾸는게 좋다. 

 - 테이블스페이스는 오프라인이어야 합니다.

 - 대상 데이터 파일이 존재해야 합니다.

ALTER TABLESPACE userdata RENAME
DATAFILE '/u01/oradata/userdata01.dbf'
TO '/u02/oradata/userdata01.dbf';

 - 다음 단계를 수행하여 데이터 파일 이름을 바꿉니다.

    - 테이블스페이스를 오프라인으로 설정합니다.

    - OS명령을 사용하여 파일을 이동하거나 복사합니다.

    - ALTER TABLESPACE RENAME DATAFILE 명령을 실행합니다.

    - 테이블스페이스를 온라인으로 설정합니다.

    - 필요한 경우 OS명령을 사용하여 파일을 삭제합니다.

 

데이터 파일 이동 방식

 - ALTER DATABASE

    - 데이터베이스는 마운트되어야 합니다.

    - 대상 데이터 파일이 존재해야 합니다.

ALTER DATABASE RENAME
FILE '/u01/oradata/system01.dbf'
TO '/u03/oradata/system01.dbf';