'IT/DB'에 해당되는 글 3건

  1. 2013.08.12 | 인생에서 가장 큰 위험은?
  2. 2012.10.11 | [Altibase] 오류 및 대처 모음
  3. 2012.09.06 | [Altibase] TableSpace 관리

인생에서 가장 큰 위험은?

IT/DB | 2013. 8. 12. 15:16
Posted by 까군

인생에서 가장 큰 위험은?

산다는 것은 죽는 위험을 감수하는 일이며,
희망을 가진다는 것은 절망의 위험을 무릅쓰는 일이고
,
시도해 본다는 것은 실패의 위험을 감수하는 일이다
.
그러나 모험은 받아들여져야 한다
.
왜냐하면 인생에서 가장 큰 위험은

아무것도 감수하지 않는 일이기 때문이다.
-
레오 버스카글리아 (미국 교육학 교수)

촌철활인 : 한치의 혀로 사람을 살린다!

우리는 안전한 것이 무모한 것이 되고,
무모한 것이 안전한 것이 되는 역설의 시대에 살고 있습니다
.
‘불운을 두려워하는 사람들은 행운을 맛볼 수 없다’는

러시아 속담도 음미해 볼만 합니다.

 

'IT > DB' 카테고리의 다른 글

[Altibase] 오류 및 대처 모음  (0) 2012.10.11
[Altibase] TableSpace 관리  (0) 2012.09.06
 

[Altibase] 오류 및 대처 모음

IT/DB | 2012. 10. 11. 16:22
Posted by 까군

1> DROP SYNONYM실행 시 Name is already used by an existing object 메시지 리턴 후 실행되지 않을 때

[원인]
Table, View, Sequence등 Object목록에는 보이지 않으나 실제 동일한 이름의 객체가 생성되어 있을 경우 발생함.

[해결]
    -  [tools] - [Description] 메뉴 실행
    - Search 항목에서 Object Type을 <<All Object>>로 두고 검색
    - 해당 객체 삭제 후 재 시도

 

 

'IT > DB' 카테고리의 다른 글

인생에서 가장 큰 위험은?  (0) 2013.08.12
[Altibase] TableSpace 관리  (0) 2012.09.06
 

[Altibase] TableSpace 관리

IT/DB | 2012. 9. 6. 11:51
Posted by 까군

sys계정이거나 동일한 권한이 부여된 계정으로 실행해야함.

테이블스페이스 생성

테이블스페이스의 생성 및 공간관리 방법에 대하여 설명합니다.

테이블스페이스 생성 구문
CREATE TABLESPACE [①테이블스페이스명]
DATAFILE [②데이타 파일절
AUTOEXTEND [③자동확장절
MAXSIZE [④최대크기절] ] ]
EXTENTSIZE [⑤익스텐트사이즈절]
[⑥ONLINE|OFFLINE]

① 테이블스페이스명
테이블스페이스명을 지정합니다.

② 데이타 파일절

DATAFILE 데이타 파일명 SIZE integer [K|M|G] [REUSE]
[자동확장절]

데이타 파일명은 절대경로를 지정해야 합니다. 위의 구문에서 SIZE 절 이하의 구문은 생략이 가능합니다. 절대경로를 지정하지 않고 파일명만 기술할 경우 알티베이스 프로퍼티(Property)에 정의된 Default 값(‘$ALTIBASE_ HOME/dbs/’)에 데이타 파일이 생성됩니다.

[REUSE] 가 정의되었을 경우에는 기존에 존재하는 데이타 파일을 사용하며 데이타 파일명의 지정된 경로에 파일이 존재해야 합니다.

③ 자동확장절

AUTOEXTEND [ON NEXT integer [K|M|G] [최대크기절]
|OFF]
AUTOEXTEND ON 일 경우

데이타 파일은 구문을 통해서 지정되거나 디폴트 크기의 NEXT 만큼 자동 확장되며 [최대크기절] 을 통해 지정된 크기까지 확장됩니다.

AUTOEXTEND OFF 일 경우

데이타 파일은 최초 생성된 사이즈에서 확장되지 않으며 저장영역이 부족할 경우 다음 데이타 파일로 전환되거나 사용 가능한 데이타 파일이 없는 경우에는 트랜잭션이 취소 됩니다.

④ 최대 크기절: 자동확장절의 부속절

MAXSIZE {integer [K|M|G] | UNLIMITED }

자동확장 속성이 지정된 테이터파일이 확장될 수 있는 최대크기를 지정합니다. UNLIMITED 로 지정된 경우에는 데이타 파일이 지정된 저장장치가 가득찰 때까지 사이즈가 늘어나게 됩니다.

⑤ 익스텐트 사이즈절

EXTENTSIZE integer [K|M|G]

테이블스페이스에 저장되는 세그먼트(테이블 또는 인덱스)가 할당받는 페이지의 단? 사이즈를 지정하지 않을 경우 디폴트 값은 256K(8pages)이 됩니다.

⑥ ONLINE/OFFLINE 절

ONLINE으로 지정할 경우에 테이블스페이스는 사용가능하며, OFFLINE일 경우에는 ALTER TABLESPACE 를 통해 ONLINE으로 변경한 후에 사용할 수 있습니다.

테이블스페이스 생성 예제

- 디폴트 속성을 가진 데이타 파일 1개를 가진 테이블스페이스 생성

iSQL> CREATE TABLESPACE user_data01
DATAFILE ‘/user1/dbs/user01.dbf SIZE’ 10M;
Create success.

user_data01 테이블스페이스는 10M의 /data01/dbs/user01.dbf 데이타 파일 한 개를 가지며 데이타 파일은 자동 확장되지 않습니다.

- 자동확장 속성을 가진 데이타 파일을 가지며 익스텐트 사이즈가 재 정의된 테이블스페이스 생성

iSQL> CREATE TABLESPACE user_data02
DATAFILE ‘/user1/dbs/user01.dbf’ SIZE 100M,
‘/user1/dbs/user02.dbf’ SIZE 100M
AUTOEXTEND ON NEXT 1M MAXSIZE 1G
EXTENTSIZE 512K;
Create success.

user_data02 테이블스페이스는 2개의 데이타 파일을 가지며?을 가지며 확장시에 1M byte 단위로 늘어나고 최대 1G byte까지 확장됩니다. 따라서 user_data02 테이블스페이스는 두 개의 데이타 파일을 포함하여 전체 1.1G까지 데이타를 저장할 수 있게 됩니다.

또한 EXTENT의 사이즈는 512K로 정의되어 세그먼트에 Page가 할당될 때 512K(16Pages)씩 할당됩니다.

테이블스페이스 공간 관리
디스크 테이블의 사이즈 계산

- record의 경우

[ 32(header) + (column의 길이의 합) ] * record count

칼럼길이가 고정(Fixed)인 경우의 크기이며 가변(Variable)칼럼에 대하여는 가변칼럼의 헤더와 실제데이타의 크기를 계산해야 하므로 약간의 증감이 발생할 수 있습니다.

- index의 경우

[ 16(header) + (key column 길이의 합) ] * record count

위의 계산 공식은 leaf node (B*Tree에서 최하위의 노드)의 대략적인 크기이고, 이 외에 internal node (leaf node를 제외한 상위노드)의 사이즈는 key칼럼의 사이즈가 작을 경우에는 무시할 정도로 사이즈가 작지만 key칼럼 사이즈가 10K이상으로 클 경우에는 B*Tree의 Depth가 깊어지면서 전체 leaf Node 사이즈의 50%정도가 될 수도 있으므로 해당되는 경우에는 사이즈 계산에 포함해야 합니다.

- 테이블 사이즈 계산 예

테이블 스키마가 다음과 같고 레코드의 개수가 100만 건일 경우에 레코드의 크기와 인덱스의 크기를 포함한 테이블의 사이즈는 다음과 같이 계산됩니다.

CREATE TABLE TEST001 (
C1 char(8) primary key,
N1 double unique,
C2 char(128),
N2 integer,
IN_DATE date) tablespace user_data02;

1. 레코드사이즈
10(C1:헤더2byte포함)+ 130(C2:헤더2byte포함) + 8(N1) +
4(N2) + 8(IN_DATE) = 160 Bytes
[ 32(헤더) + 160(칼럼길이의 합) ] * 100만건 = 183.11M

2. 인덱스사이즈
[ 16(헤더) + 18(key칼럼길이의 합) ] * 100만건 = 32.42M

3. TEST001 테이블 전체 사이즈
183.11(레코드사이즈) + 30.52(인덱스사이즈) = 215.53M
임시(Temporary) 테이블스페이스

임시 테이블스페이스는 질의 처리 과정 중에 각종 연산을 통해 발생하는 중간 결과를 저장하기 위한 테이블스페이스이며 데이터베이스 생성 시에 만들어지고 1개만 존재하는 SYSTEM TEMPORARY TABLESPACE(SYS_TBS_TEMP) 와 사용자별로 1개씩 할당 받을 수 있는 USER TEMPORARY TABLESPACE 2가지가 있습니다.

“임시 테이블스페이스는 백업이나 복구의 대상이 아니고 단지 연산을 위한 임시적 저장공간이다.”

따라서 ONLINE/OFFLINE 구문이 없으며 굵은 글자체로 표시된 부분을 제외하고는 User Data 테이블스페이스 생성 구문과 동일합니다.

CREATE TEMPORARY TABLESPACE [①테이블스페이스명]
TEMPFILE [②데이타 파일절
AUTOEXTEND [③자동확장절
MAXSIZE [최대크기절] ] ]
EXTENTSIZE [④익스텐트사이즈절]

① 테이블스페이스명
테이블스페이스명을 지정합니다.

② 데이타 파일절

DATAFILE ‘데이타 파일명’ SIZE integer [K|M|G] [REUSE] [자동확장절]

③ 자동확장절: 테이터파일절의 부속절

AUTOEXTEND
[ON NEXT integer [K|M|G] MAXSIZE [최대크기절]
|OFF ]

④ 익스텐트사이즈절: 익스텐트 할당 단위를 정의

EXTENTSIZE integer [K|M|G]

- 임시 테이블스페이스 생성 예

:iSQL> CREATE TEMPORARY TABLESPACE user_temp01
TEMPFILE ‘/user1/dbs/usrtmp01.dbf’ SIZE 10M;
Create success.
언두(Undo) 테이블스페이스

언두 테이블스페이스는 데이터베이스 생성 시에 만들어지는 SYSTEM UNDO TABLESPACE(SYS_TBS_UNDO) 1개만 존재하며 사용자가 추가로 생성하거나 삭제할 수 없습니다.

언두 테이블스페이스의 확장

업무 시스템에서 변경 트랜잭션(특히, Long-Term 트랜잭션: 트랜잭션의 Commit 주기가 긴 경우)이 많이 발생하는 경우에 언두 테이블스페이스의 부족이 발생할 수 있으며 이러한 경우에 언두 테이블스페이스의 ALTER TABLESPACE 구문을 이용하여 적정한 사이즈로 데이타 파일을 추가하거나 파일사이즈를 늘려주면 됩니다.

디스크 GC(Garbage Collector) 쓰레드(Thread) 관련 프로퍼티(Property) 변경

Commit이 완료된 언두 공간을 free space로 전환하는 작업을 Garbage Collecting이라고 합니다.

트랜잭션이 단시간에 많이 발생할 경우에 디스크 GC 쓰레드(Thread)에 의한 테이블스페이스의 free space 확보가 늦어짐으로 인해서 테이블스페이스 부족현상이 발생할 수 있으며 이러한 경우에 알티베이스 디스크GC 쓰레드(Thread)의 실행주기와 실행 시에 처리하는 페이지의 개수 등에 관한 프로퍼티(Property)를 수정함으로써 디스크 GC의 성능을 높일 수 있습니다.

-----------------------------------------------------------------------------

테이블스페이스의 크기 변경

테이블스페이스의 크기를 변경하는 방법에는 다음의 4가지가 있습니다.

1. ALTER TABLESPACE ADD [ DATAFILE|TEMPFILE ] 구문으로 데이타파일을 추가합니다.

구문 설명

ALTER TABLESPACE [테이블스페이스명]
ADD DATAFILE|TEMPFILE [데이타 파일절
AUTOEXTEND [자동확장절
MAXSIZE [최대크기절] ] ]

테이블스페이스의 ON/OFFLINE에 관계없이 가능합니다.

user_data02 테이블스페이스에 초기사이??을 추가합니다.

iSQL> ALTER TABLESPACE user_data02
ADD DATAFILE /user1/dbs/user03.dbf SIZE 100M
AUTOEXTEND ON NEXT 1M MAXSIZE 500M;
Alter success.

2. ALTER TABLESPACE DROP [ DATAFILE|TEMPFILE ] 구문으로 특정 데이타파일을 제거합니다.

구문 설명

ALTER TABLESPACE [테이블스페이스명]
DROP DATAFILE|TEMPFILE 데이타 파일명

테이블스페이스의 ON/OFFLINE에 관계없이 가능하지만 현재 사용중인(초기화되어 할당되어진) 데이타파일 이후의 사용 중이 아닌 데이타파일에 대해서만 가능합니다.

user_data02 테이블스페이스에서 /user1/dbs/user03.dbf 데이타파일을 삭제합니다.

iSQL> ALTER TABLESPACE user_data02
DROP DATAFILE /user1/dbs/user03.dbf;
Alter success.

3. ALTER TABLESPACE ALTER [ DATAFILE|TEMPFILE ] AUTOEXTEND 구문으로 데이타파일의 자동확장모드를 ON/OFF 할 수 있습니다.

구문 설명

ALTER TABLESPACE [테이블스페이스명]
ALTER DATAFILE|TEMPFILE 데이타 파일명
AUTOEXTEND [ON [자동확장절] | OFF]

테이블스페이스의 ON/OFFLINE에 관계없이 가능합니다.

user_data02 테이블스페이스에서 /user1/dbs/user01.dbf 데이타파일의 자동확장 모드를 ON시키고 최대 1GB까지 확장 예 :

iSQL> ALTER TABLESPACE user_data02
ALTER DATAFILE /user1/dbs/user01.dbf
AUTOEXTEND ON MAXSIZE 1G;
Alter success.

user_data02 테이블스페이스에서 /user1/dbs/user02.dbf 데이타파일의 자동확장 모드를 OFF시키는 예 :

iSQL> ALTER TABLESPACE user_data02
ALTER DATAFILE /user1/dbs/user02.dbf
AUTOEXTEND OFF;
Alter success.

4. ALTER TABLESPACE ALTER [ DATAFILE|TEMPFILE ] SIZE 구문으로 데이타파일의 사이즈를 조정할 수 있습니다.

구문 설명

ALTER TABLESPACE [테이블스페이스명]
ALTER DATAFILE|TEMPFILE 데이타 파일명
SIZE integer [K|M|G]

테이블스페이스의 ON/OFFLINE에 관계없이 가능하지만 현재 사용중인 데이타파일 또는 이후 데이타파일에 대해서만 가능하며, 사이즈를 늘리거나 줄일 수 있습니다.

user_data02 테이블스페이스에서 /user1/dbs/user01.dbf 데이타파일의 사이즈를 200MB로 늘리는 예 :

iSQL> ALTER TABLESPACE user_data02
ALTER DATAFILE /user1/dbs/user01.dbf
SIZE 200M;
Alter success.

iSQL> ALTER TABLESPACE TEST_TABLESPACE
ALTER DATAFILE| 'C:\Program Files (x86)\Altibase\Altibase5_Server\\altibase_home\dbs\tbs_nsdi_test.dbf'
SIZE 1G;

-->dbf파일명 확인은 User의 Default Tablespace확인 후 [TableSpace] 탭의 File Name란 확인하면 됨.

 

'IT > DB' 카테고리의 다른 글

인생에서 가장 큰 위험은?  (0) 2013.08.12
[Altibase] 오류 및 대처 모음  (0) 2012.10.11
 

블로그 이미지

까군

카테고리

분류 전체보기 (62)
IT (21)
HTTP (0)
JAVA & JSP (2)
WAS (6)
FrameWork (3)
etc (2)
OpenLayers (0)
AIX (5)
DB (3)
G2 (0)
생활 (0)
명언 (41)