by 구루비 테이블스페이스 ALTER TABLESPACE DEFAULT STORAGE OFFLINE READ ONLY ALTER DATABASE TABLESPACE [2002.01.24]
ALTER DATABASE명령의 RESIZE옵션으로 데이터파일의 크기를 변경 할 수 있습니다.
아래는 RESIZE명령으로 데이터 파일의 크기를 300M로 변경하는 예제 입니다. 기존 데이터파일의 크기가 300M가 넘을 경우에는 300M로 줄어들게되고, 300M가 되지 않았을 경우에는 300M로 늘어나게 됩니다.
SQL> ALTER DATABASE DATAFILE 'C:\ORACLE\ORADATA\app_data02.dbf' RESIZE 300M;
오프라인 상태 테이블스페이스의 데이타에는 접근 할 수가 없습니다.
데이타베이스가 오픈되어 있다면 데이타베이스 관리자는 SYSTEM 테이블스페이스나 활성 롤백세그먼트나 임시세그먼트를 가진 테이블스페이스를 제외한 어떤 테이블 스페이스든지 오프라인 상태로 만들 수 있습니다.
테이블스페이스가 오프라인상태가 됐을때 오라클 서버는 모든 관련된 모든 데이터파일을 오프라인 상태로 만듭니다.
테이블스페이스는 세가지 모드로 오프라인 상태가 될 수 있습니다.
NORMAL : 디폴드 값, 테이블스페이스의 모든 데이터 파일에 대해 체크포인트를 수행 합니다.
IMMEDIATE : 체크포인트를 수행하지 않습니다.
TEMPORARY : 테이블스페이스의 ONLINE데이터 파일에 대해 체크포인트를 수행 합니다.
ALTER TABLESPACE tablespace_name {ONLINE|OFFLINE[NORMAL|TEMPORARY|IMMEDATE]}
SQL> ALTER TABLESPACE app_data OFFLINE;
-- 1) 인스턴스의 종료 C:>SQLPLUS /NOLOG SQL> CONN / AS SYSDBA SQL> SHUTDOWN IMMEDIATE; -- 2) 운영체제 명령을 사용하여 데이터 파일을 이동 -- 운영체제 명령을 이용해서 데이터 파일을 이동 시킵니다. -- UNIX에서는 mv명령을 이용해서 새로운 위치로 이동 시킵니다. -- 3) 데이터베이스 마운트 SQL> STARTUP MOUNT; -- 4) ALTER DATABASE명령의 수행 SQL> ALTER DATABASE RENAME FILE 'C:\oracle\oradata\storm.dbf' TO 'D:\oracle\oradata\oracle\storm.dbf' ; ALTER DATABASE명령을 실행하면 오라클은 파일이 존재하는가를 검사합니다. 만약 이단계에서 에러가 발생하면 파일이름이 정확한지 다시 확인 하시면 됩니다. 5) 인스턴스 시작 SQL> ALTER DATABASE OPEN;
- 테이블스페이스는 온라인 상태 이어야 합니다.
- 활성화된 트랜잭션은 허용되지 않습니다.(DML 작업)
- 테이블스페이스에 활성화된 롤백 세그먼트가 포함되어 있지 않아야 합니다.
- 테이블스페이스는 현재 온라인 백업에 포함되어 있지 않아야 합니다.
ALTER TABLESPACE tablespace_name READ {ONLY|WRITE}
-- app_data 테이블스페이스를 읽기 전용으로 변경 SQL>ALTER TABLESPACE app_data READ ONLY;
- 강좌 URL : http://www.gurubee.net/lecture/1097
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.