Informix에서 DECIMAL 형식으로 정의된 컬럼의 길이를 확인하는 방법을 정리해보겠습니다. 컬럼 정보는 syscolumns 카탈로그 테이블에서 참조할 수 있는데, 컬럼의 길이는 collength 컬럼의 값으로 확인할 수 있습니다. DECIMAL이나 MONEY 형식의 경우 전체 자릿수(precision), 소수 자릿수(scale)로 정의되는데 각 자릿수에 대해서 표시하는 컬럼은 없습니다. 이 정보를 나타내는 카탈로그 테이블이 있는지 IBM Community에 자문을 구했습니다. 먼저 Jonathan의 답변에 의하면 precision과 scale에 해당하는 값을 보여주는 컬럼은 없고 syscolumns 테이블의 collength 값을 16진수로 변환하여 확인할 수 있다고 합니다. $ dbaccess ..
Informix 서비스가 온라인 상태에서 어떻게 백업이 수행되는지 조사해봤습니다. 오랜기간 Informix를 경험했으면서도 아직도 내부 아키텍처에 정확히 알지 못하고 있었네요. Informix 데이터베이스가 동시에 여러 트랜잭션에 의해 변경되는 중에도 백업을 수행할 수 있는 이유는 Physical Log가 있기 때문입니다. 백업을 시작한 이후부터 데이터가 저장된 청크의 페이지에 변경이 일어나면, 변경된 데이터의 기존 이미지(before-images)를 Physical Log에 기록합니다. 그리고 다시 temp table에 before-images를 복사하여 최종적으로는 백업 미디어(tape)에 기록한다고 하네요. 아래는 그 내용을 도식화한 그림입니다. 백업이 시작된 이후부터는 데이터 청크의 변경된 페이지..
인포믹스에서 함수 인덱스를 찾는 방법에 대한 질문이 있어서 찾아보았습니다. 우선 카탈로그 테이블인 sysindexes 부터 살펴보니 함수 인덱스임을 표시하는 컬럼은 없었습니다. 그래서 sysindexes 테이블의 함수 인덱스 정보가 다른 인덱스와 차이가 있는지 확인해봤습니다. 먼저 테이블과 함수 인덱스를 만들었습니다. 내용은 IBM 문서를 참고했습니다. www.ibm.com/developerworks/data/library/techarticle/dm-0712wilcox/index.html $ dbaccess stores_demo - Database selected. > CREATE TABLE circles ( radius FLOAT ); Table created. > CREATE FUNCTION circ..
- Total
- Today
- Yesterday