'전체 글'에 해당되는 글 241건

  1. 2020.05.08 파일 인코딩 일괄 변경 프로그램
  2. 2020.05.07 피드백은 바로 하라!!
  3. 2020.05.02 중소기업에서 MSSQL 관리 효율화

changefileencode-goofygod.exe
0.18MB

후배가 작업을 진행하다 인코딩 때문에 고생했다고 해서 찾아본 프로그램이네요.

개발을 할까 하다가 검색하니 고맙게도 무려 13년 전에 개발해 놓으신 분이 있네요!! 감사!!

여러 가지 형식으로 변환이 가능하도록 잘 만들어졌습니다~~!!

 

개발자 블로그 : https://blog.naver.com/goofygod/110024510522

 

파일 인코딩 일괄 변경 프로그램.

한두달쯤 전에 작업하다... 파일 인코딩이 단체로 euckr인지라 기본적으로 utf-8로 인식한다는 doxygen(프...

blog.naver.com

 

Posted by Midas Min™
,

회사에서 업무를 하다보면 혼자서 하는 일은 거의 없다.

대부분 팀별로 진행을 하거나 단독 프로젝트를 진행하더라도 팀장이나 프로젝트 매니저에게 진행상황을 전달하며 업무를 진행하게 됩니다.

여기서 업무를 진행하게 되면서 오해가 발생하는 부분이 발생합니다.

 

진행 스케쥴을 작성하여 진행전에 보고는 하지만 중간 진행상황에 대한 피드백에 대한 부분이 많이 부족하다고 생각 됩니다.

물론 모든 일이 생각처럼 흘러간다면 얼마나 좋겠습니까? 하지만 그렇게 되는 경우는 매우 드물지요.

그런데 재밌게도 프로젝트 시작전에 그렇게 스케쥴을 보고하고 어떻게 진행하겠다 보고는 하지만 진행중에 변동사항이나 문제 발생부분에 대한 보고는 잘 이루어 지지 않습니다.

이로 인하여 적절한 보고나 판단이 늦어져 낭패를 보는 경우가 많고 담당자는 고생은 고생대로 하고 평가는 제대로 못받는 경우를 많이 보아 왔습니다.

 

물론 사람이라면 안좋은 애기를 보고하거나 공유 하는것은 좋은 일은 아니겠죠.

하지만 이 정보의 단절로 인한 피해는 더욱더 크다고 생각됩니다.

지금 진행하다가 문제가 발생했거나 막히는 부분이 있나요?

그럼 이부분에 대해 팀장, 팀원, 상사에게 피드백을 바로 주시기 바랍니다.

단 가능하면 문제에 대해서만 피드백 할것이 아니라 해결 방안이 있다면 같이 첨부를 해주고 추가되는 소요 일정이 있다면 명확히 정리하여 같이 피드백을 해주시기 바랍니다.

그래야 해당 문제에 대하여 같이 바라보고 해결 방안을 같이 도출할 수 있지 않을까요?

 

Posted by Midas Min™
,

안녕하세요. 

중소기업 전산실에 미니입니다.

연휴라 여행 와서 이것저것 생각하다가 한번 적어보고 싶은 글이 있었는데 시간이 나서 한번 끄적여 보려고 노트북을 열었네요!!

 

저도 개발회사 및 여러 전산실을 거치면 오라클부터 MSSQL, MYSQL, ACCESS 등의 다양한 데이터베이스를 관리해 보았습니다.

그러면서 많은 선배들과 후배들과 같이 일을 해 보았습니다.

그러면서 약간 안타까운 부분은 데이터베이스에 대해 깊숙히 공부하지 않고 다루는 분들이 많았다는 게 조금 아쉬운 부분이었습니다.

심지어는 데이터베이스 백업을 매일 받지 않고 관리하는 아주 간이 큰 분들도 많이 보았습니다.

우리는 PC에 자료는 언제든지 날아갈 수 있으며 안전하지 않으니 백업받으라 직원들을 교육시키면서 우리 자신을 귀차니즘에 빠져 회사의 제일 중요한 데이터베이스 백업 및 관리에 소홀한 경우를 많이 보아왔습니다.

그리고 DB서버나 디스크 고장으로 데이터 복구가 불가능하게 되었을 때야 후회하는 모습을 종종 보았습니다.

특히나 최근에는 랜섬웨어가 데이터베이스를 타깃으로 하는 바람에 더욱더 백업에 중요성이 커지고 있죠.

 

다양한 부분을 이글에 담고 싶지만 그래도 제가 가장 오래 가지고 놀은 Microsoft SQL Server에 대해 백업 및 관리 효율화를 어떻게 하고 있고 또 이글 읽으신 분들이 저에 잘못된 부분을 지적해 주시면 저도 개선을 하고 싶네요!!

저 또한 우리 팀원들과 같이 좁은 회사 내에서 내리는 의사결정이고 중소기업이다 보니 자본에 한계가 있어서 비효율 적으로 관리되는 부분 또한 많습니다.

 

* 꼭 해보셨으면 하는 당부 사항

  1) SQL Server 구조와 옵티마이저/인덱스에 대한 공부를 꼭 해보시기 바랍니다. ( 새로운 세상이 열립니다. )

  2) MSSQL 유지 관리 계획에서 할 수 있는 일이 어떤 것인지 꼭 공부하시기 바랍니다.

 

저는 개발업체에 다니면서 데이터베이스 튜닝에 대한 관심이 전혀 없다가 전산실 근무를 하게 되면 데이터베이스 튜닝에 관심을 가지고 되었습니다. 회사에는 10년 이상 데이터가 쌓인 오라클 서버가 있었고 조금씩 느려지는 증상을 보였기에...
누군가는 해결을 해야 되었고 이놈과 싸우다 보니 많은 것을 얻을 수 있었습니다. 저는 인덱스를 꼭 완벽하게 이해하셔서 회사의 데이터베이스를 한 단계 업그레이드해보시기 바랍니다.

 

아무튼 이글에서 다 다루기에는 너무 많은 내용이고 일단 중소기업에서 MSSQL을 어떻게 효율성 있게 관리할 수 있을까입니다.

 

제가 관리하는 회사에는 기간계 시스템의 10년 치 이상의 데이터를 쌓아놓은 SQL 서버가 있고 또 다른 서버는 제품에 일련번호를 쌓아 놓은 어마 무지하게 쌓이는 SQL 서버를 관리하고 있습니다.

물론 아주 중용한 서버이기에 HA설루션을 도입하여 고가용성은 유지하고 있습니다.

하지만 많은 데이터가 쌓이는 걸로 인하여 안정성 확보 및 성능 저하는 최대한 막을 수 있으면서 돈이 안 드는(중소기업 이기에 ㅠ_ㅠ) 방법을 연구를 하였습니다.

그리고 관리자의 일은 최대한 줄여야 하는 걸 전제로 관리방법을 계속 개선하고 있고 아래와 같은 방법으로 하면 좀 더 효율적으로 안전하게 관리할 수 있지 않을까 생각이 들었습니다.

 

1. 유지 관리 계획을 최대한 활용하라. 
   SQL SERVER에 유지 관리 계획 기능이 있지만 의외로 사용을 하고 있지 않더군요.
   저는 SQL SERVER에 있는 기능 중 이 기능을 가장 좋아합니다. 제가 해야 될 일을 자동으로 해주니까요.

   1) LOG BACKUP 구성

       로그 백업은 데이터베이스가 그동안 해 했던 작업에 로그를 SQL SERVER가 쌓아놓게 되는데 이것을 별도에

       디스크로 백업을 하고 LOG 파일을 비우는 작업입니다.

       의외로 이 관리를 안 하여 LOG 파일이 어마 무지하게 커져서 디스크가 FULL 나서 SQL 서버가 가동이 되지 않는

       회사도 보았고 도와주었던 적이 있었습니다.

       저는 3시간 단위로 로그 백업을 받도록 구성해 놓았습니다. ( -_-a 요즘 좀 더 쪼갤까 고민되는 부분이긴 합니다. )

       로그 백업에 가장 큰 장점은 문제가 발생했을 때 어떤 시간대 시점까지의 데이터 상태로 복구할 수 있는 어마

       무지한 기능입니다. 자세한 사항은 로그 백업을 공부해 보세요.

   2) 일일 FULL BACKUP 구성

       저는 밤 12시를 좋아해서 제가 한참 자고 있는 시간에 SQL 서버에게는 백업을 하라고 시켜 놓았습니다.

       대기업처럼 엄청나게 큰 데이터가 아니기에 매일 FULL BACKUP을 하도록 구성해 놓았습니다.

       특히 SQL SERVER에는 백업 압축 설정이란 게 있어서 매우 효율적으로 백업이 가능합니다.

       마음 편하게 일하고 싶다면 이 구성은 꼭 해놓으시기 바랍니다.

   3) 월 단위 관리 기능 자동화 구성

       SQL 서버에서 데이터에 잦은 INSERT, DELETE 작업으로 인하여 인덱스 사이에 공간이 비게 되고 이것이 문제가

       되어 데이터 검색 속도를 느리게 하는 원인이 됩니다.

       특히나 대량의 데이터가 이렇게 반복된다면 굉장히 비효율적인 인덱스로 관리가 되겠죠?

       그래서 주기적인 인덱스 재구성은 필수적인데 SQL 서버 안에 그 많은 인덱스를 리빌딩해주는 작업은 굉장히

       귀찮은 작업이죠.

       하지만 유지 관리 계획에서는 지원을 합니다.

       그래서 월 단위로 저는 아래 3가지 작업을 진행시킵니다.

       ① 인덱스 다시 구성 태스크 ( 지정한 데이터 베이스 안에 인덱스를 리빌딩해줍니다. )

       ② 통계 업데이트 태스크 ( SQL 서버 옵티마이저는 통계 데이터를 통해 효율적인 데이터 검색을 지원합니다.

                                         데이터 통계 업데이트를 월 단위로 하여 검색 속도를 유지합니다. )

       ③ 유지 관리 정리 태스크

           일일 단위로 데이터 풀백업 및 로그 백업이 되니 굉장히 많은 백업 파일이 생성됩니다.

           이것도 시스템이 알아서 기간이 지난 면 정리하여 줍니다.

           저희는 5주 이상 지난 데이터는 의미가 없기에 이 기능을 통하여 자동으로 삭제처리하여 백업 디스크에

           공간을 확보합니다.

 

    이상 MSSQL 유지 관리 계획을 통하여 저희 전산실에서 자동으로 관리하는 부분입니다.

    이것보다 더 좋은 기능들은 책을 보면 엄청나게 많습니다. 하지만 저희 규모에서 관리하는데 이 3가지 만으로도

    많은 관리 시간을 단축할 수 있었습니다.

 

2. 2차 백업의 자동화

   이 부분은 설루션을 사용하는 대기업이나 투자가 잘되는 중견, 중소기업의 경우에는 보실 필요 없습니다.

   ㅠ_ㅠ 가난한 저희 전산실의 경우 사용하는 편법입니다.

   1차 데이터 백업의 경우에는 SAN이나 NAS 장비에 iSCSI 인터페이스를 통하여 보관하여 안정성을 확보하였지만

   최근 몇 년 전부터 발생하는 랜섬웨어 공격으로 인하여 해당 백업만으로는 안정성을 확보하기에 무력화되었습니다.

   그리고 저희는 화재나 다른 재해로 인한 데이터 훼손 방지를 위하여 물리적인 다른 위치에 있는 NAS 장비를

   추가로 설치하고 서버와만 통신할 수 있는 FTP를 열어 놓고 매일 퇴근 전 FTP 프로그램을 이용해 백업을

   진행하였습니다. ( 정말 무식했지요 ㅠ_ㅠ 백업 전까지 퇴근 못했습니다. )

   그러다가 어떤 좋은 방법이 있을까 팀원과 방법을 찾았고 WinSCP 사이트를 알게 되었고 윈도에서도 Linux와

   같은 자동화 구현이 되는 걸 알게 되었습니다.

 

   WINSCP 사이트 : https://winscp.net/ 

 

WinSCP 소개 :: WinSCP

WinSCP 소개 WinSCP는 Windows용 그래픽 유저 인터페이스 SFTP 및 FTP 클라이언트 프로그램이고 오픈소스 프리웨어입니다. 레거시 SCP 프로토콜 역시 지원합니다. 이 프로그램을 사용하여 로컬 컴퓨터와 원격 컴퓨터 간에 안전하게 파일을 복사할 수 있습니다. 이 페이지에는 한국어 사용자를 위한 간략한 소개가 되어 있습니다. WinSCP 문서의 대부분은 영어입니다. 이 페이지에 링크되는 많은 페이지 대부분이 영어입니다. WinSCP 설치 Wi

winscp.net

  저희 팀은 이 툴을 스터디한 후 윈도 서버에 스케쥴러와 연동하여 데이터 베이스의 풀백업, 로그 백업 직후에

  바로 분산된 NAS FTP 2곳에 같은 내용을 복제하도록 하였으며 랜섬웨어가 넘어갈 수 없는 형태이기에

  안전하게 자료를 보관하고 있으며 화재나 재해로 인한 서버 망실 시에도 시스템을 복구할 수 있게 구성할 수

  있었습니다.

  

이렇게 크게 2가지로 MSSQL 관리를 효율화할 수 있는 방법을 설명해 보았습니다.

물론 저희보다 더 효율적으로 관리하는 분들도 많을 것입니다. 하지만 검색해도 좋은 자료가 있지 않아

저부터 이렇게 공유하면 더 좋은 자료들이 나오지 않을까 하여 글을 남겨 봅니다.

 

혹시나 제가 잘못 생각하고 있는 부분이 있으면 언제든지 댓글 부탁드립니다.

 

   

 

 

 

Posted by Midas Min™
,