728x90

활발이님 | 기타 | 2013-10-08 12:57:58


tablespace에 관련해 질문 드립니다.

create tablespace의 문장에 아래와 같이 있는데

   .-MANAGED BY--AUTOMATIC STORAGE--| size-attributes |---------------------.   
>--+------------------------------------------------------------------------+-->
   '-MANAGED BY--+-SYSTEM--| system-containers |--------------------------+-'   
                 '-DATABASE--| database-containers |--| size-attributes |-'    

managed by system    - sms
                     database - dms
방식의 관리의 개념은 익히었는데

MANAGED BY--AUTOMATIC STORAGE 에 대해 질문드립니다.
1. automatic storage정의와 어떨때 사용하는 옵션인지
2. 다른 방식과의 차이점과 장점이 무엇인지 
3. 사용하기 위해 고려해야할 사항

질문 드립니다.




pajama 2013-10-08 22:16:19
1. automatic storage정의와 어떨때 사용하는 옵션인지
automatic storage는 sms와 dms형식이 혼재된 관리방식입니다.
일반테이블 스페이스는 DMS, 임시테이블 스페이스는 SMS로 생성합니다.


2. 다른 방식과의 차이점과 장점이 무엇인지
차이점이라면 테이블 스페이스를 생성할 때 스토리지 경로를 명시할 필요가 없다는 점입니다.
사용하기 쉽다는 점이 최대장점입니다. 

아래 링크는 방식별 비교표입니다.
http://pic.dhe.ibm.com/infocenter/db2luw/v10r5/topic/com.ibm.db2.luw.admin.dbobj.doc/doc/c0055446.html


3. 사용하기 위해 고려해야할 사항
처음에 데이터베이스를 생성할 때 테이블 스페이스가 생성될 스토리지 경로를 주어야합니다.
데이터베이스를 생성할 때 옵션을 주지 않아도 기본적으로 automatic storage 관리방식을 사용합니다.

활발이 2013-10-10 16:51:13
답변 감사합니다 
데이터베이스 관리 프로그램이 자동으로 데이터베이스와 연결된 모든 스토리지 경로에 컨테이너를 작성합니다 라는데 
여기서 automatic storage는 데이터가 저장되는 곳이 모든 컨테이너 디렉토리, 파일, 디바이스의 경로로 작성을 한다는 말인가요?
또한 default 경로는 어디인가요..?

pajama 2013-10-10 17:44:25
데이터베이스를 만들때(create database) 데이터베이스를 저장할 스토리지 경로를 지정합니다. 경로가 여러개가 될수도 있고요. 여러개를 지정하면 테이블스페이스 컨테이너 파일이 분산되어 저장됩니다.

활발이 2013-10-11 16:47:16
automatic storage는 경로를 명시할 필요가 없다고 했는데 데이터베이스 내에 있는 공간만 사용하는 건가요?
데이터를 저장할 공간을 db 밖에 따로 만들어서 관리할순 없나요?
(경로 명시 하지 않을시 $home/인스턴스명/NODE0000/db명/T0000005/C0000000.LRG 이런 경로로 되어 있네요)

pajama 2013-10-11 21:58:07
예를 들어 데이터베이스를 처음 생성할 때 create database sample on /DB1,/DB2 라고 했다면(스토리지 공간 명시),
테이블스페이스를 만들면 아래처럼 두개의 파일이 생깁니다.
create tablespace tbs1
/DB1/인스턴스명/NODE0000/db명/T0000005/C0000000.LRG
/DB2/인스턴스명/NODE0000/db명/T0000005/C0000000.LRG

데이터 저장공간을 /DB1,/DB2외 별도 경로로 지정하고 싶으시다면 dms,sms 형식으로 아래처럼 지정합니다.
create tablespace tbs3 managed by database using (file '/DB3/tbs3.dbf' 10M)
create tablespace tbs4 managed by system using ('/DB4')

답변이 제대로 되었는지 모르겠습니다



728x90

+ Recent posts