Database/MS-SQL

[스크랩] DBA를 위한 기간단위별 업무 가이드

99iberty 2015. 10. 16. 20:32


http://theo3.tistory.com/26


일일작업

1) 네트워크를 포함해서 반드시 필요한 서비스가 시작 중인지 확인한다.
2) 윈도우 이벤트 뷰어를 통해서 오류 및 경고 등의 중요 메시지를 점검하고 문제를 해결한다.
3) SQL Server 로그에서 오류를 포함한 중요 메시지를 점검하고 문제를 해결한다.
4) SQL Server 에이전트 로그에서 오류를 포함한 중요 메시지를 점검하고 문제를 해결한다.
5) 에이전트 서비스에 정의해둔 각 작업(Job)의 성공 여부를 점검하고 필요한 조치를 취한다.
6) Windows 성능 모니터의 “시스템 모니터”에서 Windows Server 와 SQL Server 등의 주요 카운터
(CPU, Memory, Network, Disk 등)들을 모니터 하면서 이상 증상을 확인한다.
7) Windows 성능 모니터의 “성능 로그 및 경고 | 카운터 로그”에서 성능 통계정보를 수집한다.
8) Profiler와 같은 도구를 이용 과도한 리소스 소비, 잠금 유발, 차단(Blocking) 문제, 교착 상태 등을 유발하는
문제 쿼리들을 추적하고 필요한 조치를 취한다.
9) Disk space가 충분한지 점검한다.

주간작업
1) 인덱스 조각화 상태를 점검하고 필요 시 적절한 방법으로 조각 모음을 수행한다.
(DBCC SHOWCONTIG 명령을 이용검사, DBCC DBReindex, DBCC IndexDefrag를 이용하여 조각모음)
2) 시스템 및 사용자 데이터베이스의 전체 백업 혹은 차등 백업을 수행한다.
3) “통계 자동 업데이트” 옵션을 비활성화한 상태로 운영하는 경우, 통계 업데이트를 직접 수행한다.
(UPDATE STATISTICS, sp_updatestats 등의 명령을 이용)
4) 데이터와 로그 파일에서 불필요하게 과도한 여유 공간을 줄인다.
5) 지난 1주간 발생한 문제점과 조치 사항을 수집 및 분류하고 정리한 뒤 팀원들과 공유한다.
6) 충분한 휴식은 필수!

월간작업
1) 전체 운영체제를 백업한다. (Registry Backup)
2) 시스템 및 사용자 데이터베이스의 전체 백업 혹은 차등 백업을 수행한다.
3) 데이터베이스 무결성 검사를 수행하고 그 결과에 따라 조치를 취한다.
(DBCC CHECKTABLE 혹은 DBCC CHECKDB 명령을 이용)
4) 테스트 장비에서 시스템 및 사용자 데이터베이스를 완전히 복구 및 복원할 수 있도록 시연해 본다.
5) SQLDiag.exe를 수행하고 결과를 검토한 뒤 보안 폴더에 저장해 둔다.
6) 각 서버 별로 지난 1개월간 수집한 성능 통계정보를, 기존의 성능 기준치 통계정보(Baseline Statistics)와
비교하여 향후 소요되는 S/W 및 H/W 용량을 예측한다.
7) Microsoft의 Best Practice Analyzer나 Quest의 Database Analyzer와 같은 데이터베이스 분석 도구로
데이터베이스 상태를 진단한다.

비정기적 작업
1) 트랜잭션 로그 파일이 일정 수준(예. 85%)이상으로 채워진 경우, 로그 백업 혹은 별도의 로그 잘라내기를
수행한다.
2) 데이터베이스 구조 변경, 로그인 변경, 서버 구성 옵션 변경 등이 있으면 master를 백업한다.
3) 에이전트 서비스의 작업, 경고, 운영자 및 유지 관리 계획 등이 변경되면 msdb를 백업한다.
4) 시스템 및 사용자 데이터베이스의 개체를 추가 혹은 변경한 경우 해당 데이터베이스의 스크립트 백업을
수행한다.






http://jjalidev.blogspot.kr/2013/10/dba.html


일일 작업

1. 네트워크를 포함한 필요 서비스가 시작(작동)중인지 확인
2. 윈도우 이벤트 뷰어를 통한 오류 및 경고등의 중요 메시지를 점검 및 문제 해결
3. SQL Server 로그에서 오류 및 중요 메시지를 점검하고 문제를 해결한다.
4. SQL Server 에이전트 로그에서 오류를 포함한 중요 메시지를 점검하고 문제를 해결한다.
5. 에이전트 서비스에 정의해둔 각 작업(job)의 성공 여부를 점검하고 필요한 조치를 취한다.
6. Windows Server와 SQL Server의 주요 카운트를 모니터하면서 이상 증상을 확인한다.
7. Windosw 성능 모니터의 성능 로그 및 경고 | 카운트 로그 에서 성능 통계 정보를 수집한다.
8. Profiller와 같은 도구를 이용 과도한 리소스 소비, 잠금 유발, 차단(blocking)문제 데드락을 
   유발하는 쿼리를 추적, 조치를 취한다.
9. 디스크 공간이 충분한지 점검한다.
10. 통계 업데이트 실시

주간 작업
1. 인덱스 조각화 상태를 점검하고 필요시 적절한 방법으로 조각모음을 수행한다.
확인 :  DBCC SHOWCONTIG ['tbl_name']
조치 :  조각모음이 가능하지만 단편화가 심한경우 재생성이 더 빠르다. 

DBCC REINDEX - 오프라인 작업, 비서비스 시간에 인덱스를 재생성 할때 사용
재생성 되는 인덱스의 밀도가 높지만 작업중 락이 걸려 다른 작업을 할 수 없음 
스케줄링해서 사용하기 좋음


DBCC INDEXDEFRAG - 온라인 작업, 서비스 시간에도 온라인으로 작동
엔터프라이즈 이상 버전에서만 사용 가능, 장시간 락을 사용하지 않으며
쿼리 및 업데이트가 가능, 조각화가 심하면 REINDEX보다 오래걸림
새로 생성보다 밀도가 엉성함, 통계 자동 업데이트가 안됨 수동작업 필요


2. 시스템 및 사용자 데이터베이스의 전체 백업 혹은 차등 백업을 수행한다.
3. 통계 업데이트 실시 ( Update STATISTICS,  SP_UPDATESTATS)
     통계의 확인은 DBCC SHOW_STATISTICS ('테이블명', '통계명') 
4. 데이터와 로그 파일에서 불필요하게 과도한 여유 공간을 줄임

월간 작업
1. 운영체제 전체 백업
2. 시스템 및 사용자 데이터베이스의 전체 백업 혹은 차등 백업 수행
3. 데이터베이스 무결성 검사 수행 결과에 따라 조치
    (DBCC CHECKTABLE 혹은 DBCC CHECKDB 명령을 사용)
4. 테스트 장비에서 시스템 및 사용자 데이터베이스를 완적히 복구 및 복원할 수 있또록 시연
5. SQLDIAG.EXE 수행 및 검토
6. 각 서버별로 지난 1개월간 수집한 성능 통계 정보를 기존의 성능 통계 정보와 비교
    향후 소모되는 S/W, H/W 용량을 예측한다.

비정기 작업
1. 트랜잭션 로그 파일이 일정수준 이상으로 채워진 경우, 
    로그 백업등을 이용하여 로그 사이즈를 줄인다.
2. 데이터 베이스 구조 변경, 로그인 변경, 서버 구성 옵션 변경 등이 있으면 MASTER를 백업
3. 에이전트 서비스의 작업, 경고, 운영자 및 유지 관리 계획등이 변경되면 MSDB를 백업
4. 시스템 및 사용자 데이터베이스 개체를 추가 혹은 변경한 경우 
    해당 데이터베이스의 스크립트 백업