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 Tutorials 1525 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 1525
Logging Mode information
작성자
정재익(advance)
작성일
2002-10-19 19:51
조회수
9,700

Logging Mode information

 

원본출처 : 딧세님 홈페이지 (http://informix.we.ro/)

 

▒▒▒ 로깅모드 ▒▒▒

 

1. No Logging Mode

: 논리 로그에 정보가 거의 로깅되지 않고, 단지 create/drop table, create/drop index, create/drop procedure, rename table/column, alter table등의 DDL문만 로깅됩니다. “로킹 미지정” 모드에서는 이러한 구문외에 행의 변경은 로깅되지 않으며 명령을 실행한 다음 그 결과 코드만 되돌려 집니다. “로깅 미지정”으로 설정하면 처리율은 높을지 모르지만 나중에 중대한 인스턴스 오류가 발생할 경우, 변경된 데이터베이스 내용을 재구축할 수 없습니다. 따라서 디스크에 기록된 변경 내용은 언제든지 사용할 수 있으나, 복원해야 할 경우에는 마지막으로 생성한 인스턴스 백업으로만 복원할 수 있습니다.

 

 

2. ANSI Mode

: 버퍼 미지정 모드와 비슷하지만, 이모드에서는 ANSI 규격의 트랜잭션도 실행할 수 있다는 점이 다릅니다. ANSI 규격의 트랜잭션에서는 각 테이블 참조에 대해 고유한 소유자 이름을 지정하고, 테이블 주순 권한에 따라 기본값을 다르게 지정할 수 있는 기능이 포함됩니다. 또한 커서의 갱신 기능과 읽기 기능을 다르게 하고, 자료형 오버플로 및 정의 구문에 대해 문자와 숫자의 반응 방법을 다르게 할수 있습니다. 운영환경상 반드시 ANSI 표준이 필요한 경우가 아니라면, “표준 ANSI” 모드로 설정하지 않는 것이 좋습니다.

 

 

3. Unbuffered Logging Mode

: 버퍼 미지정 로깅으로 설정한 데이터베이스 환경에서는 트랜젝션이 완료될때마다 트랜 잭션 정보가 들어있는 논리 및 물리 로그버퍼를 플러시합니다.중대한 인스턴트 오류가 발생해도 자료 무결성이나 일관성 등을 확보할수 있는 반면, 트랜잭션이 완료될 때마다 버퍼의 내용을 디스크로 플로시하므로 스크 입출력 작업이 빈번하게 일어납니다. 또한 디스크로 플러시할 때 현재 처리중인 트랜잭션에 대해 버퍼에 보관된 정보를 논리로그에 기록하므로, 시간이 지나면 논리 로그 페이지에 불필요한 자료가 많아집니다. 따라서 버퍼지정 데이터베이스 환경에서보다 디스크의 로그 파일이 더 빨리 체워지지만 로그 파일에 쌓인 모든 자료들이 “실제로” 꼭 필요한 자료는 아니라는 것입니다.

 

4. Buffered Logging Mode

: 버퍼 지정 로그 데이터베이스 환경에서는 버퍼가 가득 차거나, 검사점이 발생하거나, 트랜잭션을 생성한 사용자의 연결이 종료되어 트랜잭션이 더 이상 로그에 기록되지 않을때까지 논리 및 물리 로그 버퍼에 트랜잭션 정보를 저장합니다.

버퍼 지정 로그 데이터베이스의 트랜잭션 정보가 해제되는 또 다른 조건이 있으며, 이는 한 인스턴스에 존재하는 논리 로그 버퍼 집합이 하나뿐이기 때문입니다. 이 조건은 버퍼 미지정 데이터베이스에서 트랜잭션이 수행될 때 일어나며, 이 때 버퍼(모드) 로그 정보가 버퍼 미지정(모드) 로그 정보와 함께 디스크에 저장됩니다.

일반적으로 버퍼가 가득 찼을 때 디스크를 플러시하므로 각 트랜잭션에 따른 디스크 입출력 작업이 훨씬 적고 따라서 인스턴스 실행 속도가 빠릅니다. 그러나 트랜잭션 정보가 공유 메로리에 보관되기 때문에 중대한 인스턴스 오류가 발생했을 때 미처 로그 버스의 내용을 디스크로 플러시하지 못했을 수가 있으므로 문제가 생길수 있습니다. 즉 인스턴스 고유 메모리가 다른 작업에서 사용할 수 있도록 해제 되면 디스크에 기록되지 않은 트랜잭션 정보가 손실된다는 것입니다.

 

두 로깅모드 모두 DDL문을 로깅 처리하며, select구문을 제외한 모든 DML문(예: insert, update, delect명령)이 로깅됩니다. Select 구문중에서는 "select into temp”구문만 로깅됩니다. “select into temp”문을 로깅할 때 응용프로그램이나 질의에서 많은 양의 자료 부집합을 생성한 다음 삭제하면 오류가 발생할 수 있습니다. 이러한 오류를 방지하려면 “with no log”키워드를 사용하며 임시 DB영역에 임시 테이블을 만들어야 합니다.

[Top]
No.
제목
작성자
작성일
조회
1530인포믹스 설치시 자주 범하기 쉬운 실수 모음
정재익
2002-10-19
12922
1527데이터베이스내의 존재하는 테이블에 대한 extend size, 저장 DBSPACES, Lock Level등 모니터링 쉘
정재익
2002-10-19
10325
1526DBSPACES 사용량 체크 쉘 [ SUN, HP, Linux ]
정재익
2002-10-19
9621
1525Logging Mode information
정재익
2002-10-19
9700
1524arcunload 사용하는 법
정재익
2002-10-19
8128
1523Update statistics and OPTCOMPIND 설명
정재익
2002-10-19
10563
1522isolation Levels 설명
정재익
2002-10-19
9666
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다