MS SQL Server 2005를 사용하는 서비스가 있습니다. 그동안 상세하게 튜닝을 하지 않았었는데, 이번에 컨설턴트분의 의견을 적극 반영하여 튜닝을 시도하게 되었습니다. 그 중에서 첫번째가 tempdb 설정입니다.

 기본 설치로 진행하게되면 tempdb는 다른 시스템데이터베이스와 마찬가지로  하나의 data file과 하나의 transaction log file(정확한 명칭인지는 모르겠습니다.)로 구성됩니다. 그런데 CPU가 여러개 설치되어 있다면 물리적인 CPU 갯수만큼 tempdb의 file을 추가해주는게 좋다고 합니다. 보통 코어수가 아닌 물리적인 CPU 갯수대로 해주는게 좋다는데, 상세한 아키텍쳐에 대한 설명은 내공이 부족해서 다음으로 미루겠습니다. 일단 제 경우에는 아래와 같이 설정해 줬습니다.

 CPU가 두 장인 IBM X 시리즈 서버에 MS SQL Server를 설치한 후 tempdb의 파일 설정을 한다고 가정하면
 1) 파일 개수 : 2개
 2) 기본 크기 : 128 MB
 3) 증가 값 : 2 MB씩 무제한 증가


 SQL Server를 사용하는 곳의 File 크기 설정을 보면 보통은 파일 크기가 기존 크기의 일정 비율로 증가하도록 되어있습니다. 저희도 그랬구요. 그런데 이렇게 되면 data file이 증가하는게 규칙성이 없이 마구잡이로 늘어나니까 안 좋다고 하더군요.
 그래서 외부 컨설턴트의 권고에 따라서 일정한 수치로 증가하도록 변경했습니다. 시스템 DB는 용량의 변화도 별로 없고... 뭐... 걍 기본 설정 그대로 두고 서비스에 사용하는 사용자 DB에만 적용했습니다. Oracle에 Data file 생성할 때 처럼 512MB... 뭐 이런식으로요.

 저희 시스템이 부하가 많이 걸리는 시스템이 아니라서 평소에 뭔가 효과를 본다는 느낌은 들지 않지만, 그래도 서버 튜닝 기법으로 많이 쓰이는, 그리고 어느정도 효과가 공인된 방법입니다. 다음에는 좀더 있어보이는 방법을 얘기해보겠습니다.  ㅋㅋ
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST


 Oracle과 MS-SQL 사이의 Data 공유를 위해서 Openquery를 이용하고 있습니다. 지금까지 잘 이용하고 있었는데, 문제가 발생했습니다. Oracle DB를 Tibero로 바꾼다는거죠. 그래서 Tibero에서도 해당 기능을 사용할 수 있는지 점검해 봤습니다.
 Tibero to MSSQL Gateway라는게 존재하는데, 이는 설정을 따로 요청해야 하고, 기존의 MS-SQL측에서 생성된 프로시져를 쓸 수가 없다는 단점이 있어서 일단 Openquery를 이용하는 방법을 시도해봤습니다.

 MS-SQL에서 Linked server를 생성하는 방법에는 Tibero ODBC driver를 이용해서 Data 원본(DSN)을 만든 뒤에 이를 이용해서 Linked server를 생성하는 법과, Tibero oledb driver(2가지를 지원하더군요.)를 이용해서 바로 Linked server를 생성하는 방법이 있습니다.

 1. select query 실행
  ODBC, OLEDB 두가지 방법으로 모두 이상없이 잘 됩니다.

2. update query 실행
 ODBC, OLEDB 두가지 방법으로 모두 오류가 발생합니다.

결론.
 Openquery를 이용할 때 Tibero로는 select query만 실행 가능하다는 문제가 있습니다.
YOUR COMMENT IS THE CRITICAL SUCCESS FACTOR FOR THE QUALITY OF BLOG POST