Oracle Admin 강좌 (Oracle9i)
테이블스페이스의 관리 9 9 62,687

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;  
    

비 활성화(OFFLINE) 테이블 스페이스

  오프라인 상태 테이블스페이스의 데이타에는 접근 할 수가 없습니다.

  데이타베이스가 오픈되어 있다면 데이타베이스 관리자는 SYSTEM 테이블스페이스나 활성 롤백세그먼트나 임시세그먼트를 가진 테이블스페이스를 제외한 어떤 테이블 스페이스든지 오프라인 상태로 만들 수 있습니다.

  테이블스페이스가 오프라인상태가 됐을때 오라클 서버는 모든 관련된 모든 데이터파일을 오프라인 상태로 만듭니다.

Syntax

  테이블스페이스는 세가지 모드로 오프라인 상태가 될 수 있습니다.

  NORMAL : 디폴드 값, 테이블스페이스의 모든 데이터 파일에 대해 체크포인트를 수행 합니다.

  IMMEDIATE : 체크포인트를 수행하지 않습니다.

  TEMPORARY : 테이블스페이스의 ONLINE데이터 파일에 대해 체크포인트를 수행 합니다.

 
  ALTER TABLESPACE tablespace_name
         {ONLINE|OFFLINE[NORMAL|TEMPORARY|IMMEDATE]} 
    

예제
 
SQL> ALTER TABLESPACE app_data OFFLINE;
    

데이터 파일의 이동(ALTER DATABASE)

  • 1) 데이터베이스를 종료 합니다.
  • 2) 운영체제 명령을 사용하여 데이터파일을 이동 합니다.
  • 3) 데이터베이스를 마운트 합니다.
  • 4) ALTER DATABASCE RENAME FILE명령을 수행하여 이름을 변경합니다.
  • 5) 인스턴스를 시작합니다.
 
-- 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;
    

읽기전용(Read Only) 테이블 스페이스

  - 테이블스페이스는 온라인 상태 이어야 합니다.

  - 활성화된 트랜잭션은 허용되지 않습니다.(DML 작업)

  - 테이블스페이스에 활성화된 롤백 세그먼트가 포함되어 있지 않아야 합니다.

  - 테이블스페이스는 현재 온라인 백업에 포함되어 있지 않아야 합니다.

Syntax
 
  ALTER TABLESPACE tablespace_name READ {ONLY|WRITE}  
    

예제
 
-- app_data 테이블스페이스를 읽기 전용으로 변경
SQL>ALTER TABLESPACE app_data  READ ONLY;
    

- 강좌 URL : http://www.gurubee.net/lecture/1097

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 탁.. [2005.07.08 16:22:45]
데이터 파일 이동할 때 alter database open 을 하니
ORA-01113: file 11 needs media recovery
이와 같은 에러가 발생하여
SQL>recover database
를 해주니 잘 되네요..휴우~

by 솔봉이 [2005.07.22 10:25:47]
예제를 위에서부터 계속 해 왔는데,
alter tablespace app_data minimum extent 2m; 하니까
alter tablespace app_data does not exist라는 에러메시지가 나오네요..
app_data 대신 storm을 넣으면 default storage clause is not compatible with allocation policy라는 메시지가..ㅡ_-;;;

by 하루 [2005.09.09 22:16:52]
맨 아래에 있는 SQL문
SQL>ALTER DATABASE app_data READ ONLY;
에서 database를 tablespace로 바꿔야 하지 않을까요?

by 김정식 [2006.02.11 12:36:48]
이제야 수정을 했네요.. ㅜ.ㅜ

by 박정민 [2007.07.24 16:32:47]
resize로 용량이 줄어들기도 하나요? 계속에러뜨는군요...
resize로는 용량이 커진다고만 알고있는데..
그리고 system TS를 offline화 시키는방법은....

by 지나가다가 [2007.11.22 13:17:13]
SYSTEM T/S 는 OFFLINE 할수 없습니다.

그리고 위에서 300M 이상이면 300MB 로 줄어 든다고 되어 있으나,경우에 따라 다릅니다. 500MB 인 T/S 가 100MB 만큼 사용하고 있다면 300MB 로 들어 들수도 있지요. 하지만 400MB 사용중이면 300MB 로 줄어 드는건 불가 합니다.
그리고 또하나 100MB 사용중이라고 할지라도 하이워터 마크가 이미 400MB 정도에 찍혔다면 datafile 의 size 는 줄어 들지 않습니다.

by 부드러운DBA [2008.04.24 13:56:05]
TABLESPACE OFFLINE 할때
- NORMAL : 모든 DATAFILE이 정상이어야 OFFLINE됩니다.
- TEMPORARY : 일부 FILE이 이미 WRITE ERROR로 OFFLINE상태인 경
우에도 사용가능합니다.
- IMMEDIATE : NO ARCHIVE MODE일때는 사용치 마십시요. RECOVERY안될수도 있어예...

by 야동우 [2009.10.25 02:59:28]
있어예.. ㅋㅋ

by 공은영랄라 [2016.01.26 10:57:05]

저는 오라클에 대해서 아무것도 모르는데요..
회사 그래픽 디자인담당인데.. 개발자분이 잠수타는바람에 SMS 서버를 관리를 맏고 있습니다...

현재 SMS서버는 문자를 1시간에 30만건정도 보내는 솔루션을 사용하고 있는데요..
오라클 11g 디비를 사용하고 있습니다.

현재 서버가 화웨이 서버에 SAS 1.5krpm 정도의스팩을 사용 하고 있는데 제속도가 안나와서 SSD로 교체하려 하는데요..

그냥 하드만 교체해서 하드카피하면 DBF파일이 인식이 안되는것이 맞는것이죠?
위의 방법으로 옮긴다면 정상작동 하나요?

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입