Background Image
나머지...
2009.12.08 05:04

고객지원 중 얼음이 되다.

조회 수 39386 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부




벌써 12월의 끝자락….

지난달 초 생각만해도 아찔한 지원이슈가 생각이 난다.

이른 오전 핸드폰에서 나를 부르는 진동이 느껴졌다.

그간 별탈 없이 유지되었던 고객사의 발신이라 편한 마음으로 전화를 받았다.

그런데 이런…. 고객사의 DB에서 사진데이터가 나오지 않는 다는 것이다.

부랴부랴 원격으로 고객사의 서버에 접근하여 확인을 하는 순간 얼음이 되어 버렸다.

누군가 하면서 터치를 해줄 사람이 있었으면….

DB의 특성상 데이터 보존이 중요하고 또한 저장된 데이터들이 고객의 자산과 같다.

설마 고객사에서 데이터를 삭제했을 일은 없을 것이고 어떻게 처리해야 할지 난감한 상황에 봉착했다.

별다른 수가 없어 백업을 이용하여 복구를 수행하려 하였으나, 이미 사진데이터가 없는 상태에서 운영이 되어 앞으로도 뒤로도 갈수 없는 사면초가인지 진퇴양난인지에 빠지게 되었다.

CUBRID에서는 GLO(Generalized Large Object)  시스템 클래스를 이용하여 사진과 같은 멀티미디어 데이터를 저장하도록 되어 있다. 문제의 DB에서는 데이터영역에는 사진데이터가 있지만 ROW에서 참조하는 링크정보가 깨진 것으로 보인다.

고민에 고민을 하던 중 잡머리가 비상하게 굴러가기 시작했다.

Good Idea!!

테스트서버에 정상적인 시점을 기준으로 운영DB를 복원하고 사진데이터를 파일로 dump받은 후 현재 운영DB에 저장시키는 방법이다.

GLO시스템테이블에서  관리용으로 다양한 Method를 제공하는데 그 중 파일로 dump하는 copy_to(), 파일을 DB GLO에 적재하는 new_lo_import(), copy_from() 메소드를 이용하기로 했다.

예를들어 테이블과 데이터가 아래와 같을 경우,
Table Student

             Attribute

                           ID          int,

                           Name     varchar(20),

                           Photo  glo
-------------------------------------------

SELECT * FROM Student;

-------------------------------------------
ID          Name                  Photo

1            AAA                    NULL

2           BBB                     NULL

3           CCC                    NULL

-------------------------------------------

GLO를 상속받은 photo컬럼이 복구대상이다.

ID 1Row에 대하여 객체를 생성한 후 copy_to(‘/tmp/1.jpg’)를 이용하여 /tmp에 저장한다. 저장한 파일을 운영서버에 new_lo_import(‘tmp/1.jpg’)를 이용하여 lo객체를 생성한 후 ID 1photo컬럼에 UPDATE를 수행하여 사진데이터를 복구하는 방법이다.

위에서는 쉽게 이야기를 했지만 사실상 복구대상 테이블은 4개에 총 복구대상이 약 4,000개 이었으므로 Shell Program을 만들어 일괄작업으로 쭉쭉 밀어 넣어 장애를 처리 할 수 있었다.

이와 같이 GLO의 링크정보가 손상된 경우는 극히 드문 경우라 왠지 RPG게임에서 Level up을 한 듯 뿌듯함을 느꼈다.


  1. DBMS? 힐끗 다른 쪽을 바라봤다

    시스템 소프트웨어 개발자로 딱 60살까지만 이런저런 시스템, 특히 대용량 데이터를 다루는 시스템을 직접 설계하고 만들어보고 싶은 마음은 지금도 여전하다. 그리고 그러한 미련에 들어온 DBMS 개발바닥이다. 원래 우직하니 한 우물만 파는 스타일은 아닌데.. 어찌어찌 하다보니 10년째 데이터 처리 엔진쪽으로만 일하고 있는 자신을 바라보며 기특하단 생각도 든다. 하지만 최신 유행하는 다른 분야로 발빠르게 움직이지 못한 것이 못내 아쉬울 때도 종종 있다. 이런 내 마음에는 아랑곳 없이 데이터환경이 휙휙 바뀌면서 하루가 멀다하고 새로운 모양의 시스템, DB들이 마구 쏟아져 나온다. 이런 추세속에서 여전한? 것들을 하고 있는 내 자신을 바라보고 있자면 old school에서 벗어나지 못하고 있는 듯 느껴져 왠지 마음이 급해진다. 이 글을 쓰고 있는 지금도 어디에선가는 새로운 DB(용어따지기 좋아하는 사람들을 위해 여기서 'DB'는 데이터베이스 자체가 아니라 DBMS혹은 DMS를 의미한다는 것을 밝힌다)가 글로벌 DB시장에 런칭하는 소리가 들리는 듯 하니 말이다. 그러나 이쪽 분야에서 일을 하면 할수록 데이터를 다루는 일에 신구라는 것이 없다는 생각이다. 다...
    Date2018.12.28 Category나머지... By조성룡 Views990 Votes0
    Read More
  2. GitHub Desktop을 활용한 소중한 소스 코드 관리

    1) 소중한 자신의 소스 코드가 손상 되거나 손실 되는 경우 2) 외부에서 자신의 소스 코드를 열람해야할 경우 3) 소스 코드의 변경 된 부분을 찾아야 하는 경우 소스 코드를 사용하다 보면 위와 같은 문제로 업무의 연속성이 끊어지는 경우가 발생 합니다. 이러한 문제를 GitHub Desktop을 통해 아주 간단하고 편리하게 사용 및 관리 하는 기능을 소개 하려 합니다. - 비용 : 무료 단, 소스 코드를 비공개하려면 과금 필요 - GUI 프로그램으로 git bash(커맨드 라인) 보다 편리하며, 손 쉽게 사용할 수 있습니다. [1 : GitHub 회원 가입] - 회원 가입 URL : https://github.com/ - IMAGE #1 GitHub 공식 홈페이지 접속 화면 사용할 정보 입력 : Username, Email, Password - IMAGE #2 STEP 1 : 계정 생성 동의 하기 - IMAGE #3 STEP 2 : 계정 유형 선택 - IMAGE #4 사용자 유형 선택 (Skip 해도 무관) - IMAGE #5, 6, 7 STEP 3단계 모두 마치면, Email 확인 후 계정 사용 가능 [2 : GitHub Desktop 설치] - 설치 URL : https://desktop.github.com/ - 지원 OS : Windows, OS X(MAC) - IMAGE #1 공식 홈페이지에서 GitHub Desktop 설치 파일을 받으 실 수 있습니다. (약 80MB) ...
    Date2018.12.03 Category나머지... By윤준수 Views12410 Votes0
    Read More
  3. No Image

    Y2K38, "UNIX Millennium Bug"

    시작하며 당신은 소프트웨어 엔지니어 입니까.  정보시스템 매니저 입니까, 아니면 평범한 회사원 입니까? 당신이 무엇을 하던지간에 50세 이하라면 당신은 Y2K Millennium Bug를 만나실 수 있습니다. 1990년대 후반의 Y2K 이슈 1990년대 후반에 전 세계가 떠들석했던 이슈가 있었는데 연도를 2자리로 표기해서 생긴 “Y2K”입니다.  1997-12-23이 아니라 97-12-23 형태로 말입니다.  90년대 이전 대부분의 정보시스템은 연도를 ‘1997’과 같이 4자리로 표기하지 않고 ‘97’과 같이 2자리로 표현했는데,  이런 관행이 정보시스템이 2000년과 1900년을 구분을 못하는 문제의 원인이 되었던 것이지요.  2000년 10월 23일에 태어난 신생아의 주민등록번호는 001023로 시작되는데 이것은 1900년에 태어난 100살의 노인도 마찬가지 입니다,  주민번호가 고유하지 않을 가능성이 생긴 것입니다.  정보시스템에서는 치명적이라 할 수 있지요.  온 세계의 정보 시스템 관리자가 자기의 시스템에서 사용하는 날짜가 4자리로 되어있는지 검사하고 감리하느라고 분주했고 “Y2K 비즈니스”라는 사업분야가 생길 정도였습니다.  Y2K의 위력에 버금가는 아니 그것보다 클 수 있는 이슈가 Y2K38 Uni...
    Date2017.12.07 Category나머지... By한기수 Views1559 Votes0
    Read More
  4. 연말에도 기술지원은 쉬지 않는다.~!!

    2009 12월, 누구나 그런 것처럼 12월말은 일이 손에 잡히지 않는게 사실이다. 송년회다 신년 사업계획에다 정신 없이 한 해를 마무리할 때쯤, 불길한 예감의 전화가 걸려왔다. 전화의 내용은 백업 본을 이용하여 DB를 복구하였는데 구동이 되지 않는 다는 것이다. 복구를 하게 된 이유는, DB의 size가 증가하여 DB를 백업한 후 삭제하고 파티션을 할당하여 여유공간을 확보하고 백업 본을 이용하여 복구를 하기 위해서였다고 하였다. DB백업 본이 있으니 문제가 없을 거라는 안도의 한 숨을 쉬면서 원격을 요청하여 DB를 구동시켰으나 역시나 구동되지 않고 죽어버린다. 땡~!! 머리 속에서 제야의 종이 울리기 시작했다. 연말이라 종소리의 충격이 거세어 졌다…. 다행히 core파일이 존재하여 코어를 분석하니 log recovery과정 중에 죽은 것으로 되어 있어 가볍게 “로그복구를 하면 되겠지” 라고 생각했었는데 뒤끝의 찜찜함은 무엇일까…. 역시나 IT에서의 찜찜함은 그냥 넘어 갈리가 없다. DB구동은 되었으나 어느 순간 오류 메시지를 출력하고 데이터입력이 되지 않는 것이다. 연말 왕건이 걸렸구나 흑흑…. 에러의 메시지는 DB의 구성파일인 몇몇 볼륨들을 찾을 수 없다는 ...
    Date2010.01.21 Category나머지... Byjanus Views39098 Votes0
    Read More
  5. 고객지원 중 얼음이 되다.

    벌써 12월의 끝자락…. 지난달 초 생각만해도 아찔한 지원이슈가 생각이 난다. 이른 오전 핸드폰에서 나를 부르는 진동이 느껴졌다. 그간 별탈 없이 유지되었던 고객사의 발신이라 편한 마음으로 전화를 받았다. 그런데 이런…. 고객사의 DB에서 사진데이터가 나오지 않는 다는 것이다. 부랴부랴 원격으로 고객사의 서버에 접근하여 확인을 하는 순간 얼음이 되어 버렸다. 누군가 “땡” 하면서 터치를 해줄 사람이 있었으면…. DB의 특성상 데이터 보존이 중요하고 또한 저장된 데이터들이 고객의 자산과 같다. 설마 고객사에서 데이터를 삭제했을 일은 없을 것이고 어떻게 처리해야 할지 난감한 상황에 봉착했다. 별다른 수가 없어 백업을 이용하여 복구를 수행하려 하였으나, 이미 사진데이터가 없는 상태에서 운영이 되어 앞으로도 뒤로도 갈수 없는 사면초가인지 진퇴양난인지에 빠지게 되었다. CUBRID에서는 GLO(Generalized Large Object) 시스템 클래스를 이용하여 사진과 같은 멀티미디어 데이터를 저장하도록 되어 있다. 문제의 DB에서는 데이터영역에는 사진데이터가 있지만 ROW에서 참조하는 링크정보가 깨진 것으로 보인다. 고민에 고민을 하던 중 잡머리가 비상하게 ...
    Date2009.12.08 Category나머지... Byjanus Views39386 Votes0
    Read More
  6. 고객지원 엔지니어의 패션 스타일

    큐브리드 고객지원의 패션 스타일~ 요즘은 대통령도 셔츠에 타이를 매지 않는 노타일 스타일이 유행이다. 형식과 겉모습보다는 업무의 편안함과 효율성을 강조하는 게 대세이기 때문일 것이다. 하지만 이런 대세에도 불구하고, 최근 사내에서는 고객의 접점에 있는 고객지원팀의 신뢰도와 인지도 향상을 위해 기존의 캐쥬얼 스타일에서 정장을 입는 게 어떠냐는 의견이 개진되었다. 사실 회사의 규모가 크면 혹은 그 브랜드가 널리 알려지면 엔지니어의 복장은 크게 문제가 되지 않을 수 있을 것 같지만, 큐브리드 같이 이 업계에서는 규모면에서는 작은 회사인 경우에는 고객지원팀이 바로, 큐브리드의 회사나 이미지를 보여주는 막강한 홍보도구일 수 있는 게 사실이다. 그러한 의미에서 전문 기술력과 프로정신의 강한 인상을 심어주기 위해 정장을 입자라는 의견인 것이다. 이슈를 제기한 분은 글로벌 벤더의 실 사례를 보여주면서 고객 접점에서의 복장이 얼마나 중요한 것인가를 실험을 통해 보여주시기도 하였다. 그 실험 내용은 정장의 대표격인 흰색 셔츠에 대한 고객의 반응이였던 것이다. [다음은 고객사의 중역 106명에게 한 실험이다.] 컴퓨터 업계에서 I사는 세...
    Date2009.10.16 Category나머지... Byjanus Views40855 Votes0
    Read More
  7. No Image

    4회 CUBRID Inside 후기

    지난 9월 16일 CUBRID Inside가 강남 토즈에서 있었습니다. 사실 Deview가 다음날이라 참석하지 못하시는 분들이 많을까 걱정했었는데 역대 최고! 신청수/참가수를 기록한 역사적인~ 날이었습니다. 샤롱스판(면스판)님과 저는 선발대로 5시 30분쯤 출발, 6시쯤 도착해서 뒷풀이 장소 예약 확인하고 어떤게 맛있을지 고민하고 ^^; 토즈로 올라가 예약장소 확인하고 준비물 확인하고.. 노트북 세팅하고 이런저런 준비작업들을 진행했습니다. 예전에는 잘 몰랐으나 행사를 진행하는 일이 그렇게 쉬운 일만은 아니라는 것을 알게 되었네요. ^^; 멋 옛날에 500인 규모의 행사를 진행한 적도 있었지만 그땐 도우미(?)의 역할만 했었으니까요. 많은 분들에게 뜻깊은 CUBRID Inside가 되도록 노력하고 있다는 것! (알아주시면 감사하겠습니다 ~_~;;) 이번 Inside는 예전과 달리 오픈소스 세션 외에 응용 세션이 추가 되었었지요. 큐브리더(CUBRID 매니아)를 비롯한 여러 응용개발자 분들에게 도움이 되고자 개편된 것이지요! 많은 분들이 하나 둘 씩 행사장에 도착하시고 간단한 음료와 맛있는 샌드위치를 시식하며 Inside가 진행되었습니다. (여담인데 샌드위치 아이디어가 참 좋더군...
    Date2009.09.21 Category나머지... By시난 Views39416 Votes0
    Read More
  8. DeView 2009에서 만난 큐브리드

    작년에 이어 올해 두번째로 열리는 DeView 2009 행사가 어제 9월 17일 있었다. 지난 해 국내 웹 환경의 발전을 위해 콘텐츠의 생산과 유통, 소비를 유기적으로 지원하는 정보 플랫폼 기술들을 오픈소스와 오픈API 형태로 공개하면서 많은 개발자들의 관심이 되어온 NHN이 올해로 두번째 행사를 개최한 것이다. 이번 행사에서는 지난 1여년 동안 정보 플랫폼 공개 이후의 성과와 적용 사례들을 위한 세션들이 대거 마련되었는데, 그 중에서도 무엇보다, 세션 이외에 별도로 마련된 튜토리얼이 눈에 띄었다. 이 튜토리얼 세션은 공개된 오픈소스 기술들을 현장에서 직접 학습하고 구현해 봄으로써 실제 개발자들의 많은 관심과 참여를 불러일으키기에 충분했던 것 같다. 이번 행사에서 CUBRID는 본 세션 뿐 아니라 튜토리얼, 데모부스까지 선보이면서 많은 관심을 받았다. 특히 튜토리얼의 경우에는 CUBRID 내부 개발자가 아니라 외부 개발자인 pcraft님이 직접 세션을 진행해 주셔서 더욱더 의미가 있었던 것 같다. 지난번 큐브리드 인사이드 행사 때 뵈었을 때보다, 더 의욕에 찬 모습이 너무 보기 좋았다. 내친 김에 관심 갖고 데모부스까지 찾아주신 마당발 블로터닷넷의 도...
    Date2009.09.19 Category나머지... By멜라니 Views39559 Votes0
    Read More
  9. No Image

    개발자.. 사용자...제품...

    고객지원이라는 타이틀을 달고 여러 고객들을 만나서 이야기를 하다 보면 참 많은 이야기들이 나온다. 사는 이야기부터, 개발자가 된 사연, 이 제품/저 제품 만나면서 고생한 이야기, 그리고는 CUBRID에 대하여 구구절절 말들이 나온다. 본격적으로 제품 이야기를 하다보면 불편한 사항들이 주를 이루고, 그 중에는 꼭 되었으면 하는 것들에 대하여 이야기를, 참 많이도 주신다... 그럼 그런 이야기를 가지고 와서 여기저기서 들어오는 이야기를 정리해보면 이 많은 것들을 어떻게 정리해야 할지 참 난감하다... 나름대로 정리해서 개발자들과 이야기를 하고, 그리고 또 정리되고... 나름대로들의 논리를 가지고 소위 우선순위라는 것을 정한다. 그런데 그 논리라는 것이 참 어렵다. 뭐 민주주의라는 근본에 여럿이 원하고 이게 정말 필요하고 이런 것들인데... 그 참 간단한 원칙에 생각보다 많은 것들이 밀려나간다... 어쩔수 없는 선택의 상황이고, 대다수가 논리에 의해 이해하고 참고 기다리겠지만... 한편으로는 언제까지 소수는 기다려야만 하는지 그런 생각이 든다. 네비게이션에 동영상을 볼수있는 기능이 있는데, 그걸 같이 볼수는 없다... 아니 내 네비에서 지원하...
    Date2009.07.01 Category나머지... By남재우 Views43571 Votes0
    Read More
  10. 스티브 잡스의 교훈

    조정래 작가의 소설 <태백산맥>을 접했던 때가 고등학교 2학년 때였다. 흥미 진진한 줄거리, 진솔함이 베어나는 전라도 사투리, 생생한 묘사, 그리고 가슴 벅찬 감동 때문에 열권의 책을 끝낼 때까지 교과서를 팽개치고 내내 이 책만 파고 들었던 기억이 있다. 그로부터 시간이 많이 흘렀지만 그때의 깨달음을 한시도 잊어본 적이 없는데, 그것은 "민초, 개개인의 삶이 모여 역사를 만든다."는 교훈이었다. 첫번째 직장에서의 5년, 그리고 생소한 분야로의 이직, 현 직장에서의 적응을 위해 고군분투를 하던 작년의 어느 날, 또 다른 감동이 찾아왔다. 작년 "영어명연설문"이라는 책을 통해 스탠포드 대학 졸업식에서의 스티브 잡스 연설문을 처음 접했을 때, 출근길 지하철 안에서 그만 감동에 겨워 눈물, 콧물을 빼며 읽고 또 읽었다. 이미 스티브 잡스의 연설 동영상은 2년이 지난 지금에도 많은 네티즌들에 의해 회자되고 있다. 그의 연설은 세가지 파트로 나뉘는데, 그 첫번째는 현재와 미래의 연관성에 관한 이야기였고, 두번째는 사랑과 상실에 관해서였고, 세번째는 죽음과 함께 한 이야기였다. 그리고 마지막 결론 파트에서는 "배고픔과 함께 하라, 어리석음과 함께 ...
    Date2009.06.15 Category나머지... ByCUBRID_DEV Views66759 Votes0
    Read More
Board Pagination Prev 1 2 3 Next
/ 3

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales