TABLESPACE 문의 드립니다 0 4 3,857

by 사랑초 TABLESPACE DBF [2013.01.30 11:35:14]


A_DATA 라는 TABLESPACE 내에 
N_DAT01.DBF FILE SIZE 10G / MAXSIZE 0GB / USEAGE 7.13GB / STATUS AVAILABLE
N_DAT02.DBF FILE SIZE 10G / MAXSIZE 0GB / USEAGE 9.01GB / STATUS AVAILABLE
N_DAT03.DBF FILE SIZE 10G / MAXSIZE 0GB / USEAGE 9.46GB / STATUS AVAILABLE
N_DAT04.DBF FILE SIZE 20G / MAXSIZE 0GB / USEAGE 20MB / STATUS AVAILABLE
위와 같이 4개의 테이블 스페이스 파일이 존재합니다.

상태가 AVAILABLE 이라서 순차적으로 증가하게 되는데,
N_DAT02.DBF, N_DAT03.DBF, N_DAT04.DBF 에 있는 데이터의 일부를
N_DAT01.DBF 파일에 밀어 넣고 N_DAT01.DBF 파일이 꽉찼을 경우
순차적으로 N_DAT02.DBF, N_DAT03.DBF 에 채우는 방식으로 하고 싶습니다.

N_DAT04.DBF 에 서 참조하는 20mb 에 대한 데이터를 찾고 싶을때는 어떤 방식으로 찾아야 할까요?

만약 불가 하다면 새로 테이블 스페이스를 만들고 순차적으로 밀어넣는 작업을 해야 하나요?

답변 부탁드립니다...
by 약쟁이총각 [2013.01.30 14:33:31]

테이블 스페이스가 여러개가 존재하는 경우 데이터는 분산되어서 들어갑니다.

순차적으로 들어가는 방법은.. 글쎄요.. 없는것으로 알고 있습니다.


by 삼돌이 [2013.01.30 15:17:03]
윗 분 말씀처럼..

오라클은 논리적은 tablespace에 저장하는 형태인지라. tablespace단위로 컨트롤 되는것으로 알고 있습니다.
주워들은 datafile은 별도의 media의 분산시켜서 하는걸 권장한다는 말도 있던데(성능을 위해?) 그냥 그렇다는 말입니다. ㅎ


데이터 파일 만드실때 잘못(?) 만드셨나요? 네이밍을 잘 맞추신거 같고 사이즈가 다르군요.

그러한 문제라면 resize 하면 될 듯 한데요.  예전에 데이터 파일 잘못 만들었던 경험이 기억나서..ㅎㅎ

적어 봤습니다.

by 타락천사 [2013.01.30 15:17:46]
제가 아는 개념으론.

-- 데이타 화일 레벨에서 이동이 안됩니다.
   기본이 Tablespace Level 단위
-- Oracle 에서는 Next Extent 할당 가능한 Datafile 을 File_ID 순으로 순차적으로 할당 합니다.
    ( 실제 여유 공간을 고려 하지 않습니다.segment striping 이라고함)
-- 원하시는것을 하시려면 신규로 TBS 생성 후 Move 하셔야 할꺼에요.(미리 데이타 파일 생성 하시고)
-- 기존 데이타는 무시하시고, 신규 데이타만 하시려면 MAX SIZE 를 임으로 조정 하세요..
   원하시는 데이타 화일만 FREE 가 되도록.. 원하시는 데이타 화일만 EXTENT 가 할당 되도록..

일반적으로. 데이타 화일이 물리적으로 골로구 여러 디스크에 펼쳐서 구성됩니다.
따라서, 염려(?) 하시는 HOT Block 어느 정도 Cover 되지 않을까 싶네요..

참조 ) 스토리지 구성 
 http://wiki.gurubee.net/pages/viewpage.action?pageId=26742864



by 사랑초 [2013.01.30 15:49:49]
답글 달아주신 3분 모두 진심으로 답변 감사 드립니다...
(음.... 마음같아서는 3분 모두 답변을 채택해 드리고 싶긴한데...홈페이지 구조상 그건 안될것 같고;)

타락천사님 말씀은 신규로 테이블 스페이스를 만들고 DATAFILE 을 하나 생성한 다음
이동시키고자 하는 DATAFILE  을 MOVE 시켜라 라는 말씀이신거져?
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입