database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 366 게시물 읽기
No. 366
DB space 와 chunk 를 추가하는 법
작성자
그리움
작성일
2000-11-03 22:14
조회수
8,047

Q1 Informix를 사용한 지 2년 정도 된 사용자입니다. 사용하다 보니 데이터 저장공간이 모자라는 것 같아 하드 디스크를 새로 구입하였습니다. Informix 데이터를 위한 공간을 추가하는 방법을 알고 싶습니다.

 

A  

Informix는 데이터를 dbspace라 불리는 논리 영역에 저장합니다. 그리고 이 dbspace는 chunk라는 물리적 디스크로 구성됩니다. 즉, 어떤 Informix 시스템에도 적어도 하나의 dbspace가 반드시 있어야 하며, 초기 dbspace(root dbspace)는 사용자에 의해 생성되는 데이터 뿐만 아니라 Informix가 필요한 정보들을 기록하는 장소이기도 합니다. 시스템에 아무리 많은 하드 디스크가 연결되어 있다 하더라도 Informix에서 관리하는 dbspace로 할당된 디스크 외에는 사용할 수 없습니다. 따라서 먼저 dbspace의 가용 영역을 알아본 후에 실제로 그 영역이 많이 사용되었다면 dbspace를 추가하거나 이미 사용되고 있는 dbspace에 chunk를 추가할 수 있습니다.

 

먼저 할당된 dbspace의 크기 정보를 알아보기 위한 명령은 onstat -d 입니다.

 

kor-k400:/bigfs> onstat -d

INFORMIX-OnLine Version 7.24.UC1 -- On-Line -- Up 6 days 07:59:33 -- 17408 Kbytes

Dbspaces

address number flags fchunk nchunks flags owner name

c4a3c108 1 1 1 1 N informix rootdbs

1 active, 2047 maximum

Chunks

address chk/dbs offset size free bpages flags pathname

c4a3c178 1 1 0 150000 113498   PO- /post02/CASE_DB/case_root

1 active, 2047 maximum

 

현재 위 시스템에는 rootdbs라고 이름 붙여진 dbspace 하나가 할당되어 있고, 그 dbspace에 실제 하드 디스크는 /post02/CASE_DB/case_root로 할당되어 있으며, 크기는 150,000 페이지(페이지 크기가 2KB인 시스템에서는 300,000KB, 이하 페이지 크기가 2KB라고 가정)이며 현재 남아있는 공간이 113,498 페이지입니다. 이 시스템에 또 하나의 데이터베이스를 만들기 위해 dbspace를 추가하기를 원한다면 onspaces 명령이나 onmonitor의 Dbspace 옵션의 Create 메뉴를 사용할 수 있습니다.

 

kor-k400:/bigfs> onspaces -c -d add_dbs -p /bigfs/chunk1 -o 0 -s 10000

 

Verifying physical disk space, please wait ...

 

DBspace/BLOBspace successfully added.

 

kor-k400:/bigfs>

 

 

위 명령은 /bigfs/chunk1 이라는 file로 offset은 0이며 크기는 10,000 KB인 chunk를 포함하는 add_dbs라는 dbspace를 생성하는 명령입니다. 성공적으로 추가되었으므로 다시 onstat -d로 확인해보면 다음과 같습니다.

 

kor-k400:/bigfs> onstat -d

INFORMIX-OnLine Version 7.24.UC1 -- On-Line -- Up 6 days 08:30:30 -- 17408 Kbytes

Dbspaces

address number flags fchunk nchunks flags owner name

c4a3c108 1 1 1 1 N informix rootdbs

c4a6b6c0 2 1 2 1 N informix add_dbs

2 active, 2047 maximum

Chunks

address chk/dbs offset size free bpages flags pathname

c4a3c178 1 1 0 150000 113498   PO- /post02/CASE_DB/case_root

c4a6b730 2 2 0 5000 4947   PO- /bigfs/chunk1

2 active, 2047 maximum

 

위에서 확인하는 바와 같이 add_dbs는 2번 dbspace가 되며 chunk도 2번 dbs(dbspace)에 포함되는 2번 chunk로 추가되었습니다. 여기서 add_dbs에 또 하나의 chunk를 추가하고자 한다면 역시 onspaces 명령으로 추가할 수 있습니다.

 

kor-k400:/bigfs> onspaces -a add_dbs -p /bigfs/chunk2 -o 0 -s 5000

 

Verifying physical disk space, please wait ...

 

Chunk successfully added.

 

kor-k400:/bigfs>

 

 

위의 onspaces 명령은 add_dbs에 /bigfs/chunk2라는 file을 offset은 0, 크기는 5,000KB의 chunk를 추가시키는 명령입니다. 역시 chunk가 제대로 추가되었는지의 여부는 onstat -d로 확인할 수 있습니다.

 

kor-k400:/bigfs> onstat -d

INFORMIX-OnLine Version 7.24.UC1 -- On-Line -- Up 6 days 08:46:43 -- 17408 Kbytes

Dbspaces

address number flags fchunk nchunks flags owner name

c4a3c108 1 1 1 1 N informix rootdbs

c4a6b6c0 2 1 2 2 N informix add_dbs

2 active, 2047 maximum

Chunks

address chk/dbs offset size free bpages flags pathname

c4a3c178 1 1 0 150000 113498   PO- /post02/CASE_DB/case_root

c4a6b730 2 2 0 5000 4947   PO- /bigfs/chunk1

c4a61548 3 2 0 2500 2497   PO- /bigfs/chunk2

3 active, 2047 maximum

 

2번 dbs에 3번 chunk로 추가되었음을 확인할 수 있습니다.

 

만일 기존에 사용하고 있던 rootdbs에 또 다른 chunk를 추가하고자 한다면, 위에서 사용한 방법으로 가능합니다.

 

kor-k400:/bigfs> onspaces -a rootdbs -p /bigfs/rootchunk -o 0 -s 5000

 

Verifying physical disk space, please wait ...

 

Chunk successfully added.

 

kor-k400:/bigfs>

 

 

rootdbs에 /bigfs/rootchunk라는 file을 offset은 0, 크기는 5,000으로 하여 chunk를 추가시킨 내용입니다. 다시 onstat -d로 확인해 보면 다음과 같습니다.

 

kor-k400:/bigfs> onstat -d

INFORMIX-OnLine Version 7.24.UC1 -- On-Line -- Up 6 days 09:02:44 -- 17408 Kbytes

Dbspaces

address number flags fchunk nchunks flags owner name

c4a3c108 1 1 1 1 N informix rootdbs

c4a6b6c0 2 1 2 2 N informix add_dbs

2 active, 2047 maximum

Chunks

address chk/dbs offset size free bpages flags pathname

c4a3c178 1 1 0 150000 113498   PO- /post02/CASE_DB/case_root

c4a6b730 2 2 0 5000 4947   PO- /bigfs/chunk1

c4a61548 3 2 0 2500 2497   PO- /bigfs/chunk2

c4a61620 4 1 0 2500 2497   PO- /bigfs/rootchunk

4 active, 2047 maximum

 

이제 위에서 추가한 chunk가 1번 dbs에 4번 chunk로 추가되었음을 확인할 수 있을 것입니다.

이 글에 대한 댓글이 총 1건 있습니다.

한가지 추가 정보 만약 실행을 했는데.... file not exist라는 오류가 나온다면 chunk의 추가명령은 해당 파일을 먼저 생성후 실행 되어야 합니다.

onspaces -c -d add_dbs -p /bigfs/chunk1 -o 0 -s 10000

을 실행시키려면 /bigfs/chunk1 이라는 파일을 사용자가 생성해 주어함니다.

#cd /bigfs 

#su - informix

#touch chunk1

#chmod 660 chunk1  <= chunk은 Owner/Group에서 읽고 쓰기가 가능해야 합니다.

 

이렇게 실행 후

# onspaces -c -d add_dbs -p /bigfs/chunk1 -o 0 -s 10000

을 실행 시키면 됩니다.

이방인님이 2003-12-17 17:16에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
369win98 에서 ClientSDK문제입니다...핼프... ㅠ ㅠ
pallas
2000-11-07
4572
370┕>Re: win98 에서 ClientSDK문제입니다...핼프... ㅠ ㅠ
Mr.채
2000-11-07 11:22:33
5049
368mirror chunk 로 부터 primary chunk 를 복구하는 법
그리움
2000-11-03
5286
367Raw Device를 dbspace의 chunk로 사용할 때의 장점과 주의 사항
그리움
2000-11-03
5396
366DB space 와 chunk 를 추가하는 법 [1]
그리움
2000-11-03
8047
364JDBC 드라이브 이용에 관한 질문
그리움
2000-11-03
5233
363ESQL/C 를 이용한 multi-connection
그리움
2000-11-03
5463
362"Must be dbsa to run this program." 또는 -951 오류
그리움
2000-11-03
5236
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다