본문 바로가기
[정동기]모든것은 적재적소가 있다 생활을 하다 보면 가끔 주위 사람들에게서 질문에 대한 답변으로 이러한 대답을 듣는다. “응 이게 좋아 이거 써!!” 그럼 보통 사람들은 이유도 모른 체 사용하게 된다. 그런데 가끔은 이것이 잘못 되거나 혹은 굉장히 위험 할 수도 있다. 처음 프로그램을 접하였을 때 사람들이 TList가 배열보다 많은 장점 들을 가지고 있다고 해서 “ 아! 이거 좋은 거구나!” “ 아싸! 나도 이거 써야지” 하고 무분별하게 TList를 남발한 적이 있다. 그게 어떠한 구조를 가지고 있고 용도가 무엇이고 어떠한 단점이 있는지도 모른 체 단순히 그냥 좋다고 하니까….^^; 참 위험한 생각이고 책임감 없는 행동 이었던 것 같다. 물론 TList는 잘만 사용하면 정말 기가 막힌 놈이다. 이 녀석은 '포인터'를 배열로 잡아 인덱스를.. 2008. 9. 26.
[이동하]처음이라는 단어가 주는 의미 모든 사람에게 ‘처음’ 이라는 단어가 주는 의미는 여러 가지가 있을 것이다. 설레임과 두근거림 그리고 걱정, 두려움이 그 의미를 대신할 수 있지 않을까 한다. 입사한지 얼마 지나지 않은 신입사원인 나에게 이 단어는 두 가지의 상반된 의미로 하루가 멀다하고 찾아오는 것이 아닌가. 기술지원팀의 특성상 외부 고객사 지원은 선택이 아닌 필수이다. 처음 고객사에 지원을 나갔을 때의 일이다. 고객사 입구에 다다른 순간 2%의 설레임과 98%의 걱정이 엄습해 왔다. 이때의 기분은 모든 선배 사원들도 나와 같았으리라 생각된다. 그래도 지금까지 배운 지식을 믿고 문을 두드렸다. 맥스게이지는 SGA 내의 정보를 읽어와서 클라이언트의 실시간 화면에 보여주고 Logging Controller와 서로 다른 두 개의 PORT를 .. 2008. 9. 18.
[윤진영]QA 기법의 다크호스, PairWise 조합테스팅 기법 자 오늘도 어김없이 계획을 세우고 테스트를 진행해보자. 교육을 마치고 필드에 나와 느끼는 일반적인 QA들의 기본적인 생각은 배의 배가 되는 테스트 대상의 복잡성일 것이다. 또한 테스트경우의 수는 가히 기하학적이다. “ 내가 너에게 오늘 백만원을 주겠다. 조건이 있다 첫날은 1원을 나에게 둘째 날은 첫날의 두배를 셋째 날은 둘째 날의 두 배의 돈을 주는 식으로 1달간 준다면 난 당장 너에게 100만원을 주겠다. “ 컴퓨터 관련 공부를 한사람이면 2의 10승 == 1024라는건 기본이다. 어림짐작해서 1달이면 100만 원이 안될꺼 같은데 .. “ OK “ 이 100만원을 받는 다면 당신은 한달(31일)뒤에 약 10억7천2백만원의 손해를 보게 된다. 설마 10억이었을 줄이야~! 위에 이야기를 한 이유는 바로 .. 2008. 9. 12.
[이명진]교육의 효과가 나타나다 - Online index rebuild 사무실에 혼자 남아 있는데, 모 고객사에서 장애가 발생했다며 확인해 달라는 요청이 들어왔다. 고객의 말에 의하면, 갑자기 lock이 많이 발생하더니, 시스템이 정지되는 현상이 발생한다고 하였다. 하지만 로그 반출이 안 된다고 해서, 급히 고객사를 찾아갔다. 오라클은 2개의 RAC 환경으로 구성되어 있었고, 로그를 확인해 보니 Active Session 증가 시점에 lock waiting session이 증가하는 것을 확인할 수 있었다. 증가하는 구간을 확대하여 확인해 보니 Lock holder session이 library cache load lock을 대기하고 있음을 확인할 수 있었다. library cache load lock은 DDL 수행이 원인임으로, 초기에 Lock이 동작하는 시점의 SQL을 확.. 2008. 8. 29.
[오우경]Wiki와 Oracle Reference를 애용합시다!! 외근 나가계신 용범씨에게 전화가 왔다. 모 고객사의 장애 원인을 파악해달라고 하셨다. 사무실에 있었던 나는 고객사와 연락을 해서 원격 접속을 하고 어디가 이상한지 찾아보았다. 살펴보니 8월 12일자에 성능이 현저하게 떨어져있는 것을 발견했다. 그래서 해당일자 log를 열어보았고, 특정시점에서 active session이 높게 나타나고 성능은 떨어져있는 것을 확인했다. 그래서 전에 배웠던 대로 Stat Ratio Event를 찾아 보았고, 그 시점에 gc buffer busy 와 SQL *Net message from dblink가 대부분을 차지하고 있음을 발견할 수 있었다. 신입사원인 나에게는 아직 이런 지표들이 익숙하지 않고 확신이 서지 않았기에 WIKI와 Oracle Reference를 찾아보았다. .. 2008. 8. 22.
[김종민]다시 한번 돌아보자, 뮤텍스 얼마 전 모 고객사에 DB 장애로 인한 MAXGAUGE LOG 분석 의뢰가 들어왔다. 업무가 많아 달갑지는 않았지만 급한 상황이라 먼저 일을 처리 해야겠다는 생각으로 로그를 받아 로그에 남아있는 현상을 살펴 보기 시작하였다. 비교적 문제 시점은 빨리 확인을 할 수가 있었다. 장애 시점으로 보이는 구간에 CURSOR PIN S WAIT ON X 대기 이벤트가 대량 발생하고 있었고, 담당자의 말에 의하면 이 시점에 DB에 HANG이 걸린 것 같은 현상이 있었다는 것이었다. 단순히 파라미터 수정을 통해 문제는 해결이 된다는 것으로 답변을 하였지만, 담당자가 원하는 답변은 그런 것이 아니었고 CURSOR PIN S WAIT ON X 대기에 대한 구체적인 내용을 원하는 것이었다. 하지만 아직 이 문제에 대해 나름.. 2008. 8. 11.
[정영원]벌레 잡는 엑셈킬라 몇 년 전 PIXAR에서 제작한 ‘A Bug’s Life’라는 애니메이션을 보고 너무 재미있어서 영화관을 나와서도 한참을 깔깔거리며 웃었던 기억이 있다. 그리고 약 10년 후 나의 하루하루는 매일매일 Bug와 함께 씨름하고 있고 Bug는 더 이상 나에게 웃음을 주지 않는다. (월급을 준다 -_-;;) QA업무를 하면서 제품 자체에 대한 지식은 물론이거니와 Domain영역에 대한 지식의 중요성을 많이 느낀다. Maxgauge For Oracle을 테스팅 하기 위해서는 당연히 오라클 관련 지식이 필요하고 설치 플랫폼도 다양하기 때문에 많이 알면 알수록 제품에 대한 이해도 빠르고 숨어있는 BUG들을 쉽게 찾을 수 있다. 얼마 전 릴리즈 된 Maxgauge V3.1에서 ‘SQL Planner’라는 새로운 기능이.. 2008. 7. 31.
[염동환]쉘 프로그래밍, 얕봤다간 큰 코 다칩니다 멕스게이지 지원을 가다보면 SMS 연동이나 기본 기능 외의 기능을 추가하기 위해 스크립트를 만들거나 서버상에서 추가적인 작업들을 많이 하게 된다. 이때 필요한 기술이 쉘 프로그래밍이다. 어떻게 보면 제일 간단하고 쉬운것인데 아주 작은 실수 때문에 오히려 더 고생할 때가 많다. 첫번째 중간중간 파일을 생성하고 읽어야 할경우가 많이 있다. 이때 절대경로를 쓰지 않으면 파일이 어디로 떨어질지 알기 어렵다. 실제로 절대 경로가 아닌 현제 디렉토리 기준에서 작성했다가 고생한적이 있다. 분명히 그 스크립트만 수행하면 정상적으로 동작하는데 데몬의 띄어 데몬에 의해 수행하게 하면 생성되어야 할 파일이 생성이 안되는 것이었다. 스크립트가 잘못되었나 계속 확인해 보아도 답이 안나와서 헤메는데 엉뚱한데 그 파일이 계속 생기.. 2008. 7. 25.
[한민호]HashedStringList 제대로 알고 사용하기 엑셈에 입사하게 되면서 학창시절 어렵게 공부했던 List에 관심을 갖기 시작했다. 프로그래밍에 문외한이었던 나에게 자료구조 초반에 배웠던 List는 어렵고 과연 저것이 얼마나 많이 사용될까 싶었는데 현업에서는 매우 자주 사용되고 있었다. 또한 초보 프로그래머들에게는 라이브러리 클래스로 지원되는 List를 이용하면 공들여 List를 프로그래밍 하지 않고도 쉽게 사용할 수 있었다. 델파이를 접하게 되면서 가장 처음 접하게 된 리스트가 StringList였다. 정말 유용하지만 List에 데이터가 많을 경우 첫 번째 인덱스부터 순차적으로 검색하기 때문에 검색속도가 매우 떨어지는 단점에도 불구하고 다른 방법이나 내부적 구조를 몰랐기에 그냥 사용할 때가 많았다. 어느 날 검색속도에 관심을 갖고 StringList의.. 2008. 7. 18.