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
운영게시판
최근게시물
Oracle Q&A 21485 게시물 읽기
No. 21485
아카이브로그 모드로 운영중인 DB에 새벽 배치작업으로 인해 로그파일이 너무 많이 쌓이는데 해결방법이 없을까요?
작성자
김태진(pinblue)
작성일
2005-01-19 23:09ⓒ
2005-01-19 23:18ⓜ
조회수
2,243

현재 운영중인 서버 시스템이 매일 새벽

DW에서 많은 데이타들을 받아와서 자체 DB에 필요한 데이타들을

구축해서 사용하고 있습니다.

그리고, 외부에서 데이타를 사와서 들어붓는 작업도 꽤 있구요.

 

현재 서버의 DB가 아카이브 모드로 운영되고 있고

리두로그 파일은 4개의 그룹으로 구성해서 한 리두로그파일당 100MB 씩 사용하고 있는데요

 

하루의 배치작업이 만들어 내는 아카이브로그가 한 20여개, 그러니까

하루에 2GB 정도의 아카이브로그파일이 쌓이고 있습니다.

한달이면 60GB의 로그파일이 쌓이거든요...

참고로, 전체 DB백업은 1주일에 한번씩 받고 있습니다.

 

배치작업 시간을 제외한 시간에 만들어지는 로그파일은 한 두개정도 될까 말까구요..

그러다보니 배치작업때 만들어지는 로그파일 양이 금방 Disk 사이즈를 다 채워버리게

되는 현상이 우려되는데요..

배치작업으로 인해 생성되는 로그파일을 줄이는 방법이 없을까요?

 

 

 

 

 

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

간단합니다. 생성되는 리두 로그를 줄이면 됩니다. :-)

 

Temp 성 테이블들은 복구될 필요가 없습니다. nologging 으로 운영하고 Direct mode로 밀어넣는게 좋겠죠.

 

그리고 또 하나의 주범은 불필요한 인덱스입니다. 인덱스 까짓거 지가 리두가 얼마나 나올까 싶지만... 실재로 테스트해보시면 놀랍니다. 따라서 불필요한 인덱스는 조사해서 전부 drop 하시기 바랍니다.

 

외부에서 받아서 밀어넣는 테이블들도 9i부터 지원하는 external table등의 기능을 사용하면 역시 리두 로그를 최소화할 수 있습니다. (insert를 하는게 아니므로...)

 

또한 테이블 전체 데이타를 날리기 위해 delete 구문을 쓰는 경우가 있는대요. 이 경우도 개발자들에게 교육을 통하여 truncate table로 날려버리도록 교육하여야 합니다.

 

그 밖에도 많습니다. 그런 것들은 찾아보시면 여러가지 팁들이 있을듯합니다.

 

 

저도 처음에 입문했을 때는 Redo로그가 많이 나오는걸 시스템적으로만 해결하려고 했는데... 결국 근본적으로 데이타를 운영하는 방식등 보다 근본적인걸 손대는게 중요하다는걸 깨달았습니다.

롤백이 부족하다거나 Temp가 부족하다... 는걸 DBA들이 무조건 롤백을 늘리고 Temp를 늘리는등 시스템관리자처럼 해결책을 찾는데... 저는 이런식으로 백날해봐야 도움이 되지 않으리라고 생각합니다.

(자신의 실력향상이나 실재적인 해결책에 있어서나... 그저 늘리기만 하는건 DBA의 역할도 아니고... 누구든지 교육을 받으면 할 수 있는 스킬이지 대단한 능력이 아님.)

 

여러 사이트를 지원하면서 많이 놀랐는데... DBA들이 마치 시스템관리자처럼 하드웨어나 OS차원에서 부하나 해결책을 찾는데 놀랐습니다. 물론 그런 부분이 안중요하다는건 아니지만... DBA는 두루두루 다 알아야합니다. 그리고 보다 근본적인 것에서 원인을 발견하고 해결하려는 안목과 노력이 필요합니다.

 

자신이 쓰고 있는 측정 방법에 대해서도 끊임없는 반성과 개선을 통해서 더 나은 방법을 지속적으로 개발해내야 합니다.

 

말이 또 옆길로 새버리네요. ^^;

김주현님이 2005-01-19 23:49에 작성한 댓글입니다.
이 댓글은 2005-01-19 23:58에 마지막으로 수정되었습니다. Edit

좋은 의견 대단히 감사합니다.

참고하도록 하겠습니다.

김태진(pinblue)님이 2005-01-20 10:10에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
21488Dynamic Sql 도움구합니다. [1]
머찌니
2005-01-20
2208
21487Oracle의 SID, Service Name, Instance 정확한 개념을 알고 싶습니다.
용훈
2005-01-20
1337
21486[질문] 오라클에서 프로세스가 어떤게 돌고 있는지 확인하는 방법이 있나요?
정규성
2005-01-20
1049
21485아카이브로그 모드로 운영중인 DB에 새벽 배치작업으로 인해 로그파일이 너무 많이 쌓이는데 해결방법이 없을까요? [2]
김태진
2005-01-19
2243
21483리스너 CPU 98% 이상점유 문제...
초보
2005-01-19
1148
21482PK와 UK(AK) 가 컬럼 항목은 같고, 컬럼 순서만 다르게 구성하는 경우의 차이점이 있나요?
박문기
2005-01-19
1854
21481[질문]SQL문으로 비율을 아래에 나타내고 싶습니다.. [3]
아폴론
2005-01-19
1724
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다