스포츠 선수는 가장 널리 존경받는 직업 중 하나가 되었다. 미국에서 가장 많은 시청자들이 본 100개의 TV 프로그램 중 81개가 스포츠 중계였고, 포브스(Forbes)는 스포츠 산업이 2019년 739억 달러의 가치에 이르는 산업으로 성장할 것으로 내다보았다.
스포츠 선수들의 성적 향상을 위해서는 끊임없는 노력과 전략을 비롯해 산업 전반에 걸친 테크놀러지 발전을 잘 활용하는 것이 필수다. 뛰어난 기록을 내는 스포츠 선수들로부터 배울 점들은 많다. 실제 '성적=성공' 이라는 공식이 스포츠만큼 직결된 조직(개인)이 없다. 선수들로부터 교훈을 얻어 우리에게 적용해보자.
1. 단순화하라
주어진 과제가 얼마나 어렵고 복잡해 보이든 간에 이를 잘 이행하는 데 결정적인 것은 단순화하는 것이다. 루이지애나주립대의 풋볼 코치인 닉 사반(Nick Saban)은 리오넬 로센(Lionel Rosen)교수로부터 배운 단순화 법칙을 코칭에 사용한다. 풋볼 경기에서 모든 것을 다 이해하는 것은 지나치게 복잡하기 때문에, 사반은 그가 코치하는 선수들에게 오직 다음 경기, 다음 연습, 다음 과정에만 집중하게끔 가르친다.
당신의 팀이 큰 프로젝트에 임하고 있을 때는 업무를 더 작은 요소들로 구체화할 수 있는지 생각해보고 상세한 아웃라인을 작성하여 업무를 잘 배분하라. 하루에, 혹은 한 시간에 끝낼 수 있는 목표를 설정하고 이에 집중하라. 작은 성취들이 쌓이다 보면 더 자신감 있고 능력 있는 당신을 발견할 것이다.
전체 그림을 단순화하여 머릿속에 넣고, 업무를 쪼개서 단일 업무의 성공에 집중하자.
2. 강점을 적극 활용해 게임에 임하라
팀 스포츠는 팀에 속한 멤버들의 다양한 특징과 특화된 능력을 잘 활용하는 것이 중요하기 때문에 누가 어떤 역할을 수행하는지 명확하다.
회사에서 팀을 이끌 때도 팀 구성원의 강점과 약점이 무엇인지 정확히 아는 것이 중요하다. 단순히 그들의 경험을 아는 데서 그치지 말고 그들이 하는 생각까지 이해한다면 팀원들의 숨겨져 있는 능력을 발견할 수 있고 이는 팀 전체의 성과를 높이는 데 기여할 수 있다.
모든 업무의 해결방안에는 정답이 없다. 개인이 가지고 있는 강점을 최대한 활용한다면 다양한 방안이 나오니 나의 생각으로 팀원의 능력을 제한하지 말자.
3. 피드백 채널을 열어놓아라
전 라크로스 프로선수이자 세탁 세제를 만드는 회사 헥스(HEX)를 세우고 COO를 맡고 있는 드류 웨스터벨트(Drew Westervelt)는 "당신이 스포츠 선수이든 사업가이든, 고객 피드백은 당신이 경기를 뛰는 모습을 담은 영상을 보는 것과 비슷하다"고 말한다.
상사, 팀 리더, 비즈니스 오너 등이 보통 코치의 역할을 하지만, 고객의 피드백 또한 중요한 역할을 한다. 상당한 노력을 들인 프로젝트에 대한 부정적인 피드백은 받아들이기 어려울 수 있지만, 피드백을 더 잘 받아들일수록 성공의 가능성 또한 높아진다.
4. 팀 구성원들에 감사하라
혼자 하는 스포츠인 테니스조차도 최고의 기량을 가지고 있는 엘리트 선수들은 전문가들로 이루어진 그룹에 의존한다. 테니스 선수의 팀은 코치, 트레이너, 물리치료사, 영양사 등 전문화된 도움을 줄 수 있는 사람들로 구성되는데, 테니스 황제로 불리는 로저 페더러는 지금까지 7명 이상의 코치들로부터 트레이닝을 받았다.
팀의 크기와 상관없이 팀 구성원들의 헌신을 잊어서는 안 된다. 만약 팀에서 무언가 빠진 것 같다면, 아무리 작더라도 적극적으로 그 빈 공간을 메꿔줄 수 있는 사람을 찾아 나서는 것이 중요하다. 지루하고 반복적인 서무 업무 역시 누군가 하기 때문에 당신이 기획하고 생각할 수 있는 시간이 있는 것이다. 모두에게 감사하라.
5. 조직화에 힘을 기울여라
야구 경기에서 때때로 외야수들이 서로 공을 잡으러 달려가다가 충돌할 때가 있는데 이는 큰 부상과 실점으로 이어지기도 한다. 경기장에서나 회의실에서나 소통의 부재와 갈등은 큰 재양으로 이어질 수 있다.
불필요한 과잉을 피하고 이해 상충에서 오는 비효율을 피하라. 팀 구성원들이 큰 그림을 이해하면서 각자 해야 하는 역할을 정확하게 알고 있다면 당신의 비즈니스는 성공할 수 있다.
6. 일관성을 유지하라
비즈니스 세계에서 일관성은 많은 면에서 중요하다. 당신의 제품, 성과, 근면성은 일관성을 띄어야 한다. 그리고 이 모든 것은 근면함에서 출발한다.
실제 업무에도 일관성이 있어야 한다. 개인의 판단이 아닌 조직의 판단이 될 수 있도록 처음에 많은 고민을 하여 내린 결정이 향후의 모든 업무에도 적용될 수 있도록 플랫폼(프레임워크)화 해야 한다.
물론 일관성을 유지하면서 다양한 시도와 도전을 해야 하지만, 조직이라면 조직 프레임을 구축해야 협업이 가능하고 시너지 효과가 날 수 있다.
7. 성공을 시각화하라
이미지 트레이닝은 스포츠 심리 코칭에서 오랫동안 사용되어온 훈련방법이다.스포츠 심리학자로 미국 올림픽팀을 도왔던 니콜 데트링(Nicole Detling)은 "스포츠 선수가 더 온전하게 그림을 그릴수록 더 좋다"고 말한다.시각은 경험의 한 부분에 불과하고 더 명확한 이미지 트레이닝을 위해서는 모든 감각을 사용하는 것이 중요하다.
스포츠와 마찬가지로 비즈니스의 성공을 시각화하는 것이 큰 도움이 된다. 시간을 들여 중요한 미팅과 프레젠테이션이 진행되는 모습을 머릿속에 그려보고, 프로젝트가 발전해나가고 성공하는 모습을 그려보라. 이는 목표를 명확히 하는 데 도움을 줄 것이다.
마음가짐에서부터 팀을 관리하는 방법, 심리학적인 테크닉까지 성공한 스포츠 선수들로부터 배울 점은 많다. 이들의 전략을 배워 그들이 달성한 성취를 당신의 것으로 만들기 바란다.
* 이 글의 원문 저자 엘 카플란(Elle Kaplan)은 뉴욕시에서 자산관리 신탁 회사인 렉시온 캐피탈(LexION Capital)을 세우고 CEO로 활동 중이다. 카플란은 자신이 세운 헤지 펀드사인 렉시온 알파(LexION Alpha)의 최고운용책임자(CIO)도 역임하고 있다.
남들이랑 똑같아서는 결코 인생을 바꾸거나, 변화가 없다. 왜냐? 남들도 똑같으니깐... 남들이 하지 않는 일을 기꺼이 해 내야 기회가 있고 추가로 얻는게 있다.
여기서 팁이 하나 있다.
바로 주말에 일찍 일어나기를 실천해라.
할수만 있다면 금요일 밤엔 9시에 자서 4시에 일어나라. 그러면 사실상 3연휴처럼 토일을 쓸 수 있다.
사람은 늦은 밤에는 시간을 낭비하곤 하지만, 이른 아침에는 시간을 함부로 쓰지 않는다. 특히 그 시간이 귀하고 조용한 주말 아침인 경우에는 더욱 그렇다.
당신을 위한 당신만의 시간을 적극적으로 확보해라. 그리고 그 시간에 창조적이고 생산적인 일을 하라. 많은 것을 해 낼 수 있다.
어딘가 가고 싶다면 4시에 일어나 출발해 보라. 서울에서 출발한다 치면 부산에 도착해도 8시다. 그리고 그 사이 시원한 고속도로를 아름다운 아침 풍경을 뚫고 달리는 것 만으로도 막히는 길을 짜증 내며 시간 낭비 하며 가는 것과 차원이 다른 즐거움과 보람을 느낄 수 있다.
인생 참 별거 없다. 조금만 더 노력하고 조금만 더 머리를 쓰는 것만으로도 같은 시간 같은 공간에서 완전 다른 삶을 살 수 있다. 이 점 명심해라.
이 내용은 스타트업을 하는 사람들에게 주는 조언이다. 우리가 스타트업 멤버로써 이해하고, 그것을 직장이나 나의 사업장에 빚대어 생각해 보자.
이 세상 모든 사람은 남자와 여자로 간단하게 분류할 수 있지만, 외모와 성격으로 보면 모두 다르고 가지각색이다. 스타트업도 비슷한 거 같다. 시장으로 따지면 몇 개의 분야로 구분할 수 있지만, 같은 분야에서 같은 비즈니스를 하는 스타트업도 깊게 들어가서 보면 모두 다 다르다.
그런데 우리 투자사나, 또는 최근에 만났던 회사 중 비즈니스의 성장이 예상보다 더디거나 아직도 방향을 못 잡은 스타트업과 이야기해보면 공통점이 있었다. 본인들이 할 수 있는 일과, 하고 싶은 일을 잘 구분하지 못한다는 점이다. 스타트업을 시작했으면, 분명히 내가 하고 싶은 일이 있어서 시작했을 것이다. 그리고 이와는 조금 다르게 "가끔 완전히 다르다" 내가 잘할 수 있는 일이 있을 것이다. 내가 하고 싶은 것과 내가 잘하는 것의 교집합이 지금 당장 내가 그나마 쉽게 시작할 수 있고, 교집합이라서 매우 작겠지만, 이렇게 작게 시작해서 금방 눈에 띄는 결과를 만들 수 있는, 그리고 손쉽게 달성할 수 있는 목표다. 그런데 너무 많은 창업가가 본인 또는 팀의 능력과 스킬을 무시한 채, 하고 싶은 일에만 초점을 맞춰서 일을 벌인다. 즉, 내가 잘 못 하거나 아예 할 수 없는 일들에 계속 도전을 하므로 회사가 성장이 없는 경우가 상당히 많다. 일단 이 교집합을 제대로 공략해서 어느 정도의 성과와 자신감이 형성되면, 이를 바탕으로 팀과 실력을 강화한 후 다른 더 큰 영역으로 확장하는 게 너무 당연한 접근 전략이다.
여기에 하나 더. 내가 잘하는 일과 하고 싶은 일의 교집합이 반드시 시장이 원하는 게 아닐 수 있다. 여기서 말하는 시장이 원하는 건, 이 글의 문맥상으로는 내가 해야 하는 것이라고 표현할 수 있을 것 같다. 즉, 내가 잘하는 분야, 내가 정말 하고 싶은 일, 그리고 내가 해야 하는 일, 이 세 가지의 교집합에서 출발해서 안 그래도 자원이 턱없이 부족한 스타트업한테는 가장 좋은 전략이자 방향이 아닐까 싶다.
실은 비즈니스는 굉장히 유기적이고 복잡해서 수학 공식같이 딱딱 맞아떨어지는 게 아니다. 하지만, 그래도 개인적인 경험을 비춰보면, 나는 위처럼 단순하게 공식화, 도식화할 수 있는 부분도 있다고 생각한다.
직장인이라면, 실제 내가 속한 조직을 객관적으로 관찰해보자. 조직은 사람 + 프로세스이다. 주관적인 편견일 들어가기 쉬운 "사람을 제외"하고 내가 잘하고 못하고는 제쳐두자. 프로세스만 살펴보면 우리조직이 어떤 상태이며, 어떤 것을 해야하고, 어떤 것을 할 수 있는지 보일 것이다. 거기에서 내가 하고 싶은 것을 찾자.
위에서 내가 찾는 것들을 나열하고 그중에서 내가 잘하는 것을 우선 선택해서 해보자.
만약 없다면, 내가 하고 싶은 것에 대해 공부해보자. 조직은 쉽게 바뀌지 않는다. 3~5년 동안 아무도 하지 않는 것을 내가 준비하는 1년이내 누군가가 먼저 손들고 나서는 일은 없을 것이다.
동일하게 주어진 업무시간에 내가 잘하고 좋아하고 회사에서 원하는 일은 하는 것은 나의 시간을 알차게 보낼 수 있는 좋은 동기부여가 될 것이다. 그것은 당신을 회사가 인정하고 더 좋은 기회를 줄 수 있는 하나의 파이프가 될 것이다.
말초동맥질환은 대동맥이나 사지 동맥에 협착이나 폐쇄가 존재하는 경우로 동맥경화증에 의해 가장 흔하게 발생한다. 전 세계적으로 고령화 사회에 진입하면서 주목 받고 있는 질환 중 하나로 서구에서는 당뇨 환자에서 말초혈관 질환의 유병률 이 16~22%에 이르고 있으며, 아시아에서는 6~10%로 보고되 고 있으나 서구에 비해 진단이 덜 이루어져 실제 유병률보다 낮게 나온 것으로 여겨지고 있다. 하지만 아시아에는 유의미한 통계정보가 부족하다보니 통상 서구보다 낮다고 할 수 없다.
헬릭스미스는 "간세포 성장인자 및 기질세포 유발인자 1알파를 포함하는 말초동맥질환의 예방 또는 치료용 조성물" 특허권을 취득했다고 17일(금) 17시 이후에 공시했다. 회사 측은 "이 발명을 이용하면 허혈성 지체 질환 등 말초동맥질환을 효과적으로 예방 또는 치료할 수 있어 의약품으로 개발할 예정"이라고 밝혔다.
약간의 잡음이 최근에 있긴 하지만,(증자를 통한 주가 하락 등) 헬릭스미스는 특허권 취득과 임상 결과가 하반기(8월 예정)에 있을 예정이므로, 비율을 조정해서 들어가는 방법을 추천함.
개발자의 길을 정말 넓다...거기서 어디를 가야할 지는 아무도 알려주지 않는다. 내가 무엇을 하는 하는 스타트업 멤버나, 중소기업의 개발자, 대기업의 개발자....
나의 가치를 인정받고 내가 원하는 것(또는 위치나 회사)을 얻기 위해 지금 맡겨진 업무를 적응하는 것이 우선이고, 잘하는 것이 다음이다.
본업을 잘 하고 있다면, 이제 시야를 넓히자. 주변 사람을 그대를 "IT전문가"로 알고 있지. 분야가 있다는 건 모른다. 그래서 IT관련이라고 하면 여러분에게 기회를 물어다 줄 것이다. 그 기회를 잡을 수 있냐 없냐는 여러분께 달려있다. 살면서 기회란 다른사람이 물어주는 것이 90이고, 자기가 찾는 것이 10이다. 여러분의 만나는 사람들이 여러분이 하는 일들이 어떻게 여러분께 기회를 가져다 줄 지 모르니, 전체적인 시야를 가지고 본업을 더 깊게 하거나 또는 좋아하고 잘 할 수 있는 분야로 넓혀가자.
30대가 지나고, 40대를 향해 가지만, 나 역시 새로운 분야를 공부하기 위해 책을 펴면서 지난 10년 정말 기술과 개발 프로세스가 많이 변화하였구나를 새삼 느낀다. 4~5년 전에, 식당에서 옆 테이블에서 "시세를 표시하는데, 합계를 추가해 달라고 해서 SQL 쿼리가 복잡해졌어..." 이런 불만을 들으면서, 속으로는 "CUBE쓰면 되지 별거 없는데,, 개발(업무)에 너무 많은 에너지를 사용하게 되니, 기술 습득이 정체돼 있구나.." 하며 안타까웠는데, "지금 내가, 내 스스로에게 안타깝다." 앞으로의 시간을 막연한 불안함 속에 살지 않기 위해 더 노력해야 겠다.
20대분들은 아직 젊으니, "모를 수도 있고, 배운 적이 없다." 라는 것이 통용될 나이지만 언제가 30대 중후반부터는 모르는 것이 부끄러울 수도 있다. 다른 분야는 변화가 더디고, 경험이란 것이 많이 중요하지만, IT는 경험과 기술이 비슷한 수준으로 중요하다보니, 게으른 선배가 경험이 많다고 해서 좋은 선배가 된다는 보장은 없다.
대웅제약은 최근 소송과 관련해서 다시 이슈가 된 이후, 약 8% 가량 떨어지면서 최근 바이오주식들이 하락세를 보이는 와중에 18만원대로 떨어졌다. 덕분에 기존에 진입을 못했던 투자자들에게는 진입 기회가 온 것이다.
물론, 코오롱생명과학처럼 이슈가 문제가 되어, -70% 손실을 볼 수도 있겠으나, 최근 대웅제약의 나보타는 미국에서 판매가 좋을 뿐만 아니라, 유럽까지 판매처를 확산하고 있다. 관련 기사는 아래에 링크를 확인하시면 된다.
기사1) 대웅제약은 ITC의 미국 국제무역위원회(International Trade Commission, ITC)가 결정한 균주에 대한 증거수집 절차를 통해 메디톡스 균주를 비교 분석하여 나보타 균주의 적법성을 증명할 예정이라고 14일 밝혔다. 미국 소송은 한국 소송과 달리 증거수집 절차를 통해 양 측이 소송에 필요한 자료를 서로에게 요구, 전달받도록 돼 있다.
증거수집 절차 기간 동안에는 양 측이 필요한 자료들을 추가적으로 요청할 수 있으며 대웅제약도 포자 형성 여부 감정과 유전체 염기서열분석 등을 진행하기 위해 메디톡스의 균주를 제공받도록 요청했다. ITC 재판부는 증거수집 절차에 따라 양사에 균주 제출을 요구할 것이므로 메디톡스 역시 대웅제약이 지정한 전문가에게 균주를 제출하게 된다. 대웅제약은 양사의 균주를 정밀 비교 분석하여 그 결과를 ITC에 제출할 예정이다. 현재 증거수집 절차에 따라 양사는 서로에게 균주를 제출하는 시기와 방법에 대해 조율 중이다.
대웅제약에 따르면 메디톡스는 현재까지 언론보도를 통해 자사의 전체 염기서열을 공개하겠다고 하면서 이를 통해 양사의 균주를 비교하자고 적극적으로 주장해 왔다.
그러나 아직까지 전체 염기서열을 직접 공개하지 않고 있으며, 자사의 균주가 어떠한 경우에도 포자를 형성하지 않는다고 국내소송 등에서 일관되게 발표해 왔다. 대웅제약은 미국소송 뿐만 아니라 국내 소송에서 양사 균주의 포자 형성 여부를 비교함으로써 메디톡스 주장의 허구성을 입증할 것으로 기대하고 있다고 밝혔다.
기사2)2019.04.26 대웅제약(179,000원▲ 5,000 2.87%)이 자체 개발한 보툴리눔 톡신 제제 "나보타"의 유럽시장 진출을 위한 마지막 허가관문을 넘어섰다. 유럽 내 의약품 사용을 심사하는 전문가들의 권고로 사실상 현지 허가 발표 절차만 남기게 된 것이다.
대웅제약은 26일(현지시각) 유럽의약품청(EMA) 산하 약물사용자문위원회(CHMP)에서 나보타(유럽제품명 누시바)의 미간주름 개선 효과에 대한 유럽 사용허가 권고 의견을 획득했다고 밝혔다.
추가)대웅제약이 올해 1분기 매출액은 2381억원, 영업이익은 102억원을 기록했다. 이는 지난해 같은 기간에 비해 매출은 10.3%, 영업이익은 27.2% 증가한 실적이다.
온라인 서비스는 멀티프로세스로 인해, 개별 거래의 속도가 느릴지라도 사용자가 느낄 만큼 속도가 느린 경우는 없다. 물론 조회시 where 조건들이 index에 등록되어 있지 않다면, 처음에는 속도가 느린 것을 느끼지 못할지라도 ... 자료가 쌓이면 속도가 느린 것을 느낄 것이다.
그럼 실행 쿼리의 실행시간 기준으로 TOP 10을 조회하여, 해당 where 조건에 항목들에 대해 인덱스를 생성해주면 된다.
인덱스 생성시에 모든 조건을 인덱스로 만들어서는 안된다. 데이터 1건인데, 인덱스가 10개면 실제 11개의 처리가 발생하므로, 속도저하가 발생하고 인덱스 실행 계획이 원하지 예상하지 못하는 방식으로 나와 문제가 될 수 있다.
인덱스는 무조건 5개 이하이다.
왠만하여 공통 인덱스는 모든 업무를 커버할 수 있도록 선정하고, 조회는 인덱스만 잘 설정되어 있다면 문제 없다.
만약, 배치업무를 수행하는데 느리다면, 다음 사항을 체크해 보자.
1. 조회시 인덱스를 이용하는지? 2. Array 작업을 수행하는지? 3. 중간중간 commit 을 수행할 수 있는지? 4. Counter 체크 5. 통계 정보 생성 6. 불필요한 과거 정보 삭제 7. 업무 프로세스 변경
1. 조회시 인덱스를 이용하는지? 또는 TABLE FULL SCAN 을 하는지? 만들었다고 생각하지 말고, 체크해보자. 그리고 인덱스는 순차적으로 차례대로 찾기 때문에 항목이 5개인 인덱스는 중간에 3번 항목이 없다면, 결국 1번과 2번 항목만 인덱스를 읽고 나머지는 range_scan을 하기 때문에 데이터량에 따라 항목 조절을 해야 한다.
2. Array 작업을 수행하는지? 대량의 작업은 기본적으로 다량 Fetch, 일괄 Insert(또는 Update)를 수행해야 속도가 빠르다. execute() * 10000 보다는 batch_Execute() * 5 가 몇십배 빠르다.
3. 중간중간 commit 을 수행할 수 있는지? 업무에 따라, 중간에 commit을 할수 있다면, 몇천건 또는 몇만건 단위로 commit을 수행한다면 재작업시 작업량을 줄일 수 있다. 검토 후 중간에 commit을 삽입하자.
4. Counter 체크 : 오라클의 sequence를 사용하지 않고, select max(seq) from tableA; 사용한다면, 당장 변경하라. * 혹시 개발자 중에서 SELECT TASEQ.nextval from BigTable where rownum =1; 로 개발했다면, 당장 변경하라. SELECT TASEQ.nextval from dual; 로 실제 수행속도는 테이블의 사이즈에따라 몇백배까지 차이 난다.
5. 통계 정보 생성 : 통계정보가 최신화 되지 않아 plan이 느릴 수 있으므로, Analyze 해보자.
6. 불필요한 과거 정보 삭제 :데이터의 사이즈에 따라, 성능이 저하될 수 도 있으므로 과거 정보 삭제나 parition 나누자.
7. 업무 프로세스 변경 : DB에서 index 타고, 기본적인 속도개선까지 했다면 프로세스 변경을 고려해 보자. 여기까지 한 후, 하드웨어 증설을 고려하자.
# 추가 설명. sql 구성요소들은 아래와 같은 순서로 실행 된다
1) FROM, WHERE 절을 처리 2) ROWNUM 조건 적용 3) SELECT COLUMN LIST 절을 적용 4) GROUP BY 절을 적용 5) HAVING 절을 적용 6) ORDER BY 절을 적용
그러므로, 4번의 예시처럼 의미없이 대량의 테이블에서 rownum <=1 을 하면, 대량의 자료를 fetch 한후 nextval을 가져오는 불필요한 작업이 발생하므로, dual을 적절히 사용하자.
추가 tip. SMS 제품에서는 Oracle에서 제공하 v$sql, DBA_HIST_SQLSTAT, DBA_HIST_SQLTEXT, DBA_HIST_SNAPSHOT 등의 테이블을 이용하여, TOP N Query(상위 N개의 쿼리)를 제공한다. 이것을 바탕으로 지연 서비스의 쿼리 실행계획 및 실행 단위의 소요시간까지 제공해준다. SMS제품이 제공해 주는 것외에 본인이 DBA 또는 고급 개발자로써, 서비스 품질을 위한다면, 아래의 내용을 참고하여 개선 대상을 찾아 고민해보자.
다만, 아래의 것은 여러분이 문제를 찾기 위한 Query일 뿐, 해결방법은 각양각색이므로 획일적으로 답할 순 없다.
반복하는 쿼리 중에서 총 수행시간이 긴 쿼리 찾기. (짧은 업무일지라도, 단일 프로세스로 처리되면 문제가 된다. 예를 들어, 30msec * 100만번이면, 300,00초= 6,000분 = 100시간이 된다.)
SELECT * FROM ( SELECT S.SQL_ID, ROUND(SUM(CPU_TIME_DELTA)/100000) CPUTIME, SUM(EXECUTIONS_DELTA) TOTAL_EXECUTED, DBMS_LOB.SUBSTR(SQL_TEXT,2000,1) SQLTEXT FROM DBA_HIST_SQLSTAT H, DBA_HIST_SQLTEXT S, DBA_HIST_SNAPSHOT T WHERE S.SQL_ID = H.SQL_ID AND H.SNAP_ID = T.SNAP_ID AND T.BEGIN_INTERVAL_TIME BETWEEN TO_DATE('20190513 09:00:00','YYYYMMDD HH24:MI:SS') AND TO_DATE('20190514 15:00:00','YYYYMMDD HH24:MI:SS') GROUP BY S.SQL_ID, DBMS_LOB.SUBSTR(SQL_TEXT,2000,1) ORDER BY 3 DESC ) WHERE rownum < 21 and CPUTIME > 1000 ;
ORACLE서버에서 수행시간이 긴 쿼리 찾기 쿼리 SELECT ROWNUM NO, PARSING_SCHEMA_NAME, to_char(ELAPSED_TIME/(1000000 * decode(executions,null,1,0,1,executions)),999999.9999 ) 평균실행시간, executions 실행횟수, SQL_TEXT 쿼리 , SQL_FULLTEXT FROM V$SQL WHERE LAST_ACTIVE_TIME > SYSDATE-(1/24*2) -- AND LAST_ACTIVE_TIME BETWEEN to_Date('20111226163000','YYYYMMDDHH24MISS') AND to_Date('20111226170000','YYYYMMDDHH24MISS') -- AND ELAPSED_TIME >= 1 * 1000000 * decode(executions,null,1,0,1,executions) and PARSING_SCHEMA_NAME = 'ZIPCODE' ORDER BY 평균실행시간 DESC, 실행횟수 DESC;
SELECT TO_CHAR (SID) sid, serial# serialNumber, SUBSTR (TO_CHAR (last_call_et), 1, 6) executeSeconds, userName, machine, b.sql_text sqlText FROM v$session a, v$sqltext b WHERE username NOT IN ('SYSTEM', 'SYS') AND a.TYPE != 'BACKGROUND' AND a.status = 'ACTIVE' AND a.sql_address = b.address(+) AND a.sql_hash_value = b.hash_value(+) ORDER BY a.last_call_et DESC, a.SID, a.serial#, b.address, b.hash_value, b.piece
현재 실행되고 있는 쿼리 와 실행 시간
SELECT TO_CHAR (SID) sid, serial# serialNumber, SUBSTR (TO_CHAR (last_call_et), 1, 6) executeSeconds, userName, machine, b.sql_text sqlText FROM v$session a, v$sqltext b WHERE username NOT IN ('SYSTEM', 'SYS') AND a.TYPE != 'BACKGROUND' AND a.status = 'ACTIVE' AND a.sql_address = b.address(+) AND a.sql_hash_value = b.hash_value(+) ORDER BY a.last_call_et DESC, a.SID, a.serial#, b.address, b.hash_value, b.piece