2009. 4. 22. 13:33

LG Incite KU2000/SU200 펌웨어 업그레이드하기..

2009. 4. 21. 10:26

'공룡' 오라클, 썬마이크로시스템즈 삼켰다

[지디넷코리아]IBM에 넘어갈듯 하던 썬마이크로시스템즈가 결국 'SW공룡' 오라클의 품에 안겼다. 오랫동안 SW사업에 집중해온 오라클이 마침내 서버와 스토리지 시장에 뛰어드는 것이란 점에서 IT업계 판세 변화에 비상한 관심이 쏠리고 있다.
 

오라클은 썬을 현금 74억달러 규모에 인수하기로 했다고 20일(현지시간) 공식 발표했다.

 

썬 인수로 오라클은 자바 기술과 솔라리스 운영체제(OS)로 대표되는 핵심 SW기술을 확보하게 됐다. 서버와 스토리지에 이르는 하드웨어 제품군도 흡수한 만큼 IBM, 휴렛패커드(HP), 델 등과의 일대일 대결도 불가피해졌다.

 

오 라클은 특히 썬이 소유한 자바를 높게 평가하는 모습이다. 래리 엘리슨 오라클 최고경영자(CEO)는 컨퍼런스콜에서 자바를 "지금까지 인수한 가장 중요한 단일 SW자산"이라고 치켜세웠다. 자바에 대한 혁신과 투자를 계속해 나가겠다는 뜻도 분명히 했다. 오라클 퓨전 미들웨어 제품군은 대부분 자바에 기반하고 있다.

 

오라클은 또 썬 인수를 통해 고객들에게 애플리케이션과 컴퓨팅, 데이터 스토리지 하드웨어를 번들로 제공할 수 있을 것으로 기대했다. 정상급 엔터프라이즈 소프트웨어와 핵심 컴퓨팅 시스템을 통합한 시스템 애플리케이션을 맞춤형으로 제공하겠다는 것이다.

 

최근 네번의 분기에서 세번이나 손실을 기록한 썬은 실적 부진을 돌파할 카드로 얼마전부터 매각에 적극 나섰던 것으로 전해졌다. 3월중순까지만 해도 IBM이 썬을 인수할 가장 유력한 후보였다. "협상 타결이 임박했다"는 보도까지 나왔다. 그러나 IBM은 반독점 규제에 걸릴 수 있다는 것을 이유로 썬 인수에 '회의모드'로 돌아선 것으로 전해졌다.

 

오라클은 상대적으로 반독점 이슈에 걸릴 가능성이 적다. 썬과 겹치는 사업 영역이 많지 않다는 이유에서다.

 

오라클은 그동안 썬의 실적이 좋지 않았지만 빠르게 복구할 수 있다는 입장이다. 썬이 첫해에만 회사 영업이익에 15억달러 이상 기여할 수 있을 것으로 기대했다.

 

일부 애널리스트들은 오라클의 이번 행보에 놀랍다는 반응이 많다. SW에 집중해온 오라클이 느닷없이(?) 하드웨어 시장에 뛰어든 탓이다.

 

오라클은 지난해 HP와 협력해 서버와 데이터웨어하우스(DW)를 통합한 어플라이언스 제품을 내놓기도 했지만 IBM, HP와 사실상 전면전을 의미하는 이번 인수와는 급이 다르다.

 

AMR리서치의 부루스 리차드슨 애널리스트는 "데이터베이스 회사가 하드웨어 고객 기반을 인수하는 것은 마지막으로 생각할 수 있는 것"이라며 오라클의 썬 인수에 쇼킹하다는 반응을 보였다. 

 

그런만큼 그는 오라클이  썬이 갖고 있는 하드웨어 자산을 계속 유지할지 아니면 나중에 매각할지에 대해서도 의문을 제기했다. 이에 대해 오라클 사프라 캐츠 사장은 "썬 하드웨어 사업은 오라클 내부에서 진행할 계획"이라고 말했다.



출처 << http://www.zdnet.co.kr/ArticleView.asp?artice_id=20090421073906

'IT Story' 카테고리의 다른 글

파일 시스템이란?  (0) 2010.08.03
Windows 7 에서 telnet 사용법  (1) 2010.01.03
관계형 데이터베이스의 시대가 지는가?  (0) 2009.04.14
IE8 속도, 라이브러리만 추가해도 빨라져  (0) 2009.04.10
SSD 상식  (0) 2009.04.07
2009. 4. 20. 14:27

매일을 최고의 하루로 사는 법


 “우리의 인생은 우리가 노력한 만큼 가치가 있다.”

하루에 하나씩 실천하는 나와의 약속!

 

하루 일과 중 대부분의 시간을 보내는 직장. 그런 직장에서 보내는 8시간이 불행하다면 인생이 우울하고 힘들지 않을까?

이 책은 직장인이라면 누구나 경험해 보았을 일과 인간관계에서 오는 정신적, 육체적 스트레스를 극복하고, 긍정적 변화를 이끌어 내는 쉽고 빠른 처방전을 제공한다.

 

짧지만 강렬한 101가지 메시지와 명언은 새로운 계획을 세우고 자신과의 약속을 다짐하는 직장인들에게 실질적이면서도 명쾌한 해답을 제공한다. 누구나 쉽게 따라할 수 있는 것도 장점이다. 또 직장인 행복지수를 높여 어떠한 상황에서도 희망과 자신감을 갖게 한다.

 

현재, 이 책의 제안들은 『포춘』 100대 기업에서도 성공적으로 활용되고 있으며, 개인과 조직의 변화에 활력을 불어넣고 있다.

 


한 해 동안 자신이 이룬 모든 성과의 목록을 뽑아보세요. 적어도 몇 가지는 될 거예요.

실제로 얼마나 생산적이었는지, 멋진 날들이 얼마나 많았는지 되짚어 보세요.

그리고 오늘도 그런 멋진 날들 중 하루로 만들어 보세요.


 오늘 만나는 모든 사람들로부터 무언가를 배우겠다고 결심해 보세요.

이런 가능성을 항상 염두에 두고 대화에 임하세요.


직장 동료에게 화가 치미는 일이 생기면 ‘분노 편지’를 써 보세요.

마음속에 있는 모든 감정을 솔직히 털어 내세요. 다 썼으면 편지를 완전히 찢어 없애 버리세요.

한결 기분이 좋아질 거예요. 기분이 나아지지 않으면 나아질 때까지 편지를 쓰고 찢고를 반복해 보세요.


 자신을 위해 꽃을 사서 책상 위를 장식해 보세요.

아니면 질 좋은 필기구나 작은 화분 등을 사는 것도 좋겠죠.


 

뒷담화를 하면 자신이 믿지 못할 사람이라는 사실을 드러내는 거예요.

자신에 대한 신뢰를 위태롭게 할 뿐 아니라 인간관계를 훼손시킵니다.

뒷담화를 그만두면 직장동료로서 자신의 가치가 몇 배 높아질 거예요.


 사장의 단점밖에 보이지 않으면 그의 자격이나 교육수준, 성격적 장점이나 정치적 능력 등에

대해 한번 곰곰이 생각해 보세요.

적어도 그 사람이 사장 자리에 앉아 있는 충분한 이유가 한 가지는 있을 거예요.


 오늘부터 ‘건강에 좋은 것’을 한 가지 정해서 해 보세요.

나른한 오후 시간에 찾게 되는 군것질을 피하는 것이 될 수도 있고,

점심시간에 산책을 하는 것도 좋은 방법이겠죠.

 

아니면 퇴근길에 목적지보다 한 정거장 전에 내려 걷는 것도 좋습니다.

무엇을 선택했든 절대로 그 일이 너무 쉬운 일이거나 하찮은 일이라고 비하하지 마세요.

왜냐하면 당신은 건강을 위한 가장 중요한 첫걸음을 내딛기 시작한 것이니까요.

 
-위즈덤하우스 『매일을 최고의 하루로 만드는 약속』中-




2009. 4. 20. 14:11

직장생활의 Tip

1. 인사는 필수 ! 항상 미소를 잃지 말아라.

현대사회로 오면서 바쁜 일상가운데서 서로간에 의사소통없이 지내는 일이 대반수이다.

이런 삭막한 공간에서 해맑게 웃으면서 인사한번 건내면 그거야 말로 직장 동료간의

믿음과 신뢰가 쌓일수 있는 기반이 될 것이다.

목례로 가볍게 인사를 나눌때도 당신의 해맑고 예쁜 미소를 보여주면 아마 상대는 당신을 긍정적인 사람으로 보고

당신에게 더 호감을 갖고 당신을 좋아하게 될 것이다.

 

2.어른은 어른이다. 어른을 공경하고 우선시하라.

나한테 싫은소리하는 부장도 , 까칠스런 과장도 어른은 어른이다.

어른들을 대하다 보면 하시는 말씀이.."일은 못해도 배우면 되지만 예의없고 성품이 안되있는건 어쩔수없다"는 말씀.

예의없고 성품이 바르지 못한 사람이 일만 죽어라 열심히 해도 순간이다.

예를 들어 간식거리가 생기더라도 꼭 부장님먼저 ! 혹은 실장님 먼저 드리도록해라.

혹 자리에 안계시는 시간이라면 따로 빼놓고 먹는것이 올바르다.

 요즘 이런부분때문에 20대 직장인들 많이 욕먹는다-_-

 

3.뒷담화에 함께 하지말아라.

사회생활을 하면서 가장 흔한일은 아마 화장실이건 어디건 모이기만 하면 하는 뒷담화..일것이다.

뒷담화는 정말 없어지지 않을 문화(?) 인거 같다.

여기서 중요한 것은 자신이 함께하는 자리에서 누군가를 뒷담화하게되도 절대 공감하면 안된다.

물론 공감되는 부분들도 있을수 있지만 그것을 기정사실마냥 믿어서는 안된다.

뒷담화를 믿어버리면 내가 좋아하던 사람이라도 뒷담화한 눈으로 사람을 다시 보게된다.

뒷담화하는 자리에 있더라더 한쪽으로  듣고 한쪽으로 흘려보내라

 

4.부정적인 일은 흘려보내버려야 한다.

우리가 직장생활을 하다보면 상사에게 혼날수도 있고, 동료사이에 오해가 생길수도 있다.

이때문에 생기는 부정적인 생각들과 부정적인 말들을 잡아서는 안된다.

" 쟤는 왜이렇까?" , " 일을 왜 그따위로 하는거야?" , "짜증난다정말"

많은 일들로 부정적인 마음과 생각이 생겼을때는 빨리 버려야 한다. 예민한 사람이라면 더더욱 !

부정은 사람을 계속 부정에서 부정으로 이끌어간다. "짜증나"로 시작해서 "그만둘래"로 끝나는게 부정이다.

절대 잡고있으서도 안되고 생각하고 마음에 두고 있어도 안된다, 무조건 흘려보내라!

 

5.일은 찾아서 하는 것이다.

각자에게 주어진 업무가 있을것이다. 거의 대부분 자신에게 주어진 업무만으로도 버겁다고 얘기한다.

하지만 어느직장이건 필요로로 하는 사람은 내일뿐만아니라 무슨일이건 찾아서 하는 사람을 우선으로 한다.

나도 아직은 많이 부족하지만 내가 무언가 해야할 일이 있는가 항상 주위를 살피는 습관을 기르고 있다.

옆사람이 일하는데 나의 도움이 필요한지, 복사한번을 하든, 서류를 옮겨주든

내가 무엇을 도와주어야 하는지, 내가 도울수 있는 일이 무엇인지 주위를 살펴보라.

 

6. 메모하는 습관을 길러라.

일을하다보면 순간순간 추가되는 일들이 있다.

더군다나 자신이 속한 부서에서 밑에자리에 있을수록 이런경우가 많다.

"이것좀 부탁해요~", "이것좀 해줘요" 라고 순간순간 직장상사가 자신의 일을 부탁할때가 있다.

이럴때 메모해두지않으면 내 일을 하다가 순간 잊혀질수있는 경우가 있다.

책상위에 자신만의 메모지를 준비하여 순간순간 일을 해야할것들이 있을때 메모를 해놓고 일을 마르리 할때마다

하나하나 체크해보자. 일을 마무리하면서 뿌뜻함도 느낄수있고 일을 잊어버리는 일은 없을 것이다.


출처 << http://www.cyworld.com/wnqkfkrl0625


2009. 4. 16. 20:52

글 쓰기 능력(문장력)을 키우는 10가지 방법

  최근 들어 책 욕심에서 시작된 "체험 후기" 작성 영역이, 본의 아니게 "황토 천일염"이나 "벤토나이트 스킨케어"와 같은 다양한 물품들로 확대되고 있습니다. 물론 제가 좋아하는 분야나 주제에서 비켜 선, 의무감에서 쓰는 글이기 때문에, 부담도 많이 되고 사실 고통도 따르기 마련입니다.

   그런 위 후기 글을 읽은 이웃 블로거, 레이먼님께서 농담을 던져놓고 가셨습니다. 물론 어림도 없습니다. 낯 부끄럽도록 분에 넘치는 과찬이십니다.

     " 초하님은 리뷰분야에서는 완전히 달인입니다. 존경합니다."

   또한 이번 "
나눔 마당(2)" 러시아 국립푸시킨 미술관을 초청한 "서양미술 거장전, 렘브란트 전시회"의 안내 책자(3권)를 제공해주셔서, 제게 용기도 불어 넣어주시고, 한층 더 풍부한 나눔으로 만들어주셨던 BlogIcon 2Proo님께서는 아예 이렇게 대놓고 놀리기도 하십니다.

     "
아니... 리뷰 조차도 박사학위 받으셔도 되겠네. 흐미~"

   물론 따듯한 이웃지기님들임을 감안해서 진심으로 하시는 말씀이라고 해도, 실제 제 글 실력에 비하면 낯 뜨겁도록 더없이 과분한 칭찬이십니다. 그 사소한 배려와 애정 속에, 물론 고래처럼 춤추게 만드는 마법이 숨어 있음을 실감하며, 그래서 또한 진심으로 감사하게 생각합니다.

     어떻게 해야 좋은 글쓰기를 할 수 있을가

   위 레이먼님이나 2Proo님처럼, 저 역시 제 "
초하뮤지엄.넷 chohamuseum.net"블로그에 글 하나하나 작성하여 올릴 때마다, 매번 같은 고민을 하곤 합니다. "어떻게 해야 '쉬운 글'을 쓸 수 있을가, 어떻게 하면 '짧게 정리된 글'을 쓸 수 있을가, 어떻게 해야 '읽기 편한 글'이 될 수 있을가, 그리고 디지털 화면으로 보는 글들을 어떻게 구성하고 편집해야 조금이라도 '눈에 부담이 덜한 글'이 될 수 있을가." 대부분의 블로거(blogger)들이 그렇겠지만, 저 역시도 매 순간순간 하는 고민입니다.

   미국의 모 방송사가 하버드 대학의 우등생들을 대상으로 설문 조사를 진행했습니다. 그 질문 내용은 “지금 당신의 소원은 무엇인가
?”
였다고 합니다. 그런데 더욱 놀라운 사실은, 질문에 응답한 많은 학생들이 “글을 잘 쓰면 좋겠다”고 대답했다는 것입니다. 세계 최고의 두뇌라고 불리는 하버드 대학 수재들의 소원이 "글쓰기 능력"이었다는 것입니다.

   제 아무리 리포트 내용이 훌륭해도 그것을 정리하여 전달하는 능력이 뒷받침되지 않는다면, 본래의 내용을 알 수 없을 뿐더러 아무 소용이 없기 때문일 것입니다. 실제로 MIT에서는 글을 잘 썼던 학생들이 졸업한 뒤에도 성공한 사례가 많다는 조사 결과를 발표하였습니다. 이제 "글쓰기"는 학문적인 의미를 넘어 성공의 기회를 넓혀주는 기술로서 부각되고 있습니다.

   저도 요즈음 "글쓰기"와 관련한 3권의 책을 주문하였는데, 조금 늦은 오늘 그 책들을 받았습니다. 그 제목만 정리하면, 바바라 에버크롬비(Barbara Abercrombie)의 "글 잘 쓰는 기술(2008, 브리즈)"과 장하늘"글 고치기 전략(2008, 다산초당)", 그리고 윌리엄 진서(William Zinsser)의 "글쓰기 생각쓰기(2008, 돌베개)"입니다. 반가운 마음에 숙제해야 할 책들도 물려놓은 채, 풋풋한 종이냄새와 함께 뒤적거리며 대충 훓어보고 있습니다.

   그래서 오늘은 이 3권 가운데, 평생을 글쓰기(문장론) 연구에 헌신해 오신 장하늘 선생님의 책, "글 고치기 전략"에서 소개하고 있는 "문장력을 키우는 10가지 방법"을 중심으로 정리해, 글쓰는 우리들의 고민을 이웃지기님들과 함께 나누어보고 싶습니다. 물론 이런 주제는 제가 이에 대한 전문가이거나 잘하고 있어서 쓰는 글이 절대 아니며, 한번 더 다짐하면서 저를 위해 정리하고자 하는 글임을 밝혀둡니다.

     글쓰기 능력(문장력)을 키우는 좋은 방법들

   장하늘이 이 "글 고치기 전략"에서 밝히는 글쓰기의 제1원칙은 "처음부터 잘 쓴 글은 없으며, 잘 고친 글"이 있을 뿐이라는 신념으로, 새로운 글쓰기 전략에 대해 고민한 좋은 책입니다. 심지어 2006년 3월에 초판이 간행되었는데, 불과 2년 조금 넘은 지난 2008년 10월에 초판 9쇄까지 발행한새 책을 지금 펼치고 있을 만큼 큰 호응을 얻고 있는 책이라고 할 수 있습니다.

   "글쓰기의 기초"에 해당하는 여러 가지 사항들에 대해 풍부한 예문과 친절한 해설로 간결하게 정리한 문장이 매우 돋보일 뿐만 아니라, 지은이의 글과 문장력이 곧 가장 좋은 본보기이자 모범이 되고 있는 책입니다. 마지막 9장, "알쏭달쏭 우리말"에서는주의해야할 표기법과 맞춤법, 띄어쓰기, 그리고 여러가지 문장부호까지 설명합니다. 분명 저처럼 글쓰기를 두려워 하는 많은 분들께 좋은 지침서가 될 것입니다.

   본격적으로 "문장력을 키우는 10가지 방법"으로 들어갑니다. 첫 째, 어휘력이나 표현술(表現術)을 늘립니다. 그러려면 우선 글을 읽다가 눈이 번쩍 띄는 낱말이나 희한한 표현은 따로 적어두는 습관을 길러야 합니다. 또한 자신도 감동할 수 있는 표현을 찾아야 하며, 글을 쓰다가 막히면 꿈 속에서라도 물고 늘어질 만큼 갈구해야 합니다.

  둘 째, '메모'는 글솜씨를 향상시켜주는 보증수표입니다. 심지어 정보와 책의 홍수 속에서, 요즘 들어 맛깔나는 문장들을 발췌하여 이메일로 보내주거나 따로 모아 책으로 발간하는 경우도 생겨났습니다. 또한 여러 번 소개했던 리드미님께서 "틈/메모"라는 목록을 따로 만들어 공개하는 경우가 좋은 예입니다. 이처럼 명작의 뒤안길에는 반드시 '메모의 광주리'가 있기 마련입니다.

   '메모'는 작문의 첫 관문인 글감을 찾는 데 도움을 줍니다. 더불어 '메모'는 번득이는 순간적인 '영감'을 붙잡아 줍니다. 그러므로 메모의 대상은 우리 '생활의 주변' 모두가 해당되며, 무엇보다도 메모하는 습관이 중요합니다. 저와 같은 우리 이웃 블로거들에게 시사하는 바가 매우 크다고 할 수 있습니다.

   셋 째, 애매한 말은 사전을 뒤지며 씁니다. '좋은 글'이나 '정확한 문장'은 정확한 언어에서 출발하기 때문입니다. 제가 제 블로그의 오른 쪽 프로필 사진 밑, 사이드 바에 '표준국어대사전' 검색창을 달아 놓은 것도 이러한 이유에서 기인합니다.

   '사전'은 글 쓸 때의 절대적 필수품입니다. '사전'을 이용할 때 주의할 점은 낱말의 '사전적 의미'보다 '문맥적 의미'에 유의해야 합니다. 그리고 언젠가 써먹을 말이면, 붉은 줄을 치거나 노트로 만들어 메모해두는 것이 도움이 됩니다. 리드미님처럼 하나의 메모 목록을 따로 만들어 관리하는 것도 좋습니다.

  넷 째, 모범이 될 만한 글이나 신문의 칼럼은 신중히 읽습니다. 다시 말해서 '좋은 글'의 장점을 분석하고 그 글을 모방하며, 특히 '어휘'나 '표현술'에 유의하며 읽는 것입니다. 참신한 주제, 인상적인 화제, 변화 있는 구성, 운치 있는 표현은 글 쓰는 사람들의 영원한 꿈입니다.

  다섯 째, '글을 쓰고 고쳐보는 것'만이 작문의 왕도입니다. 자신이 쓴 글을 뜸을 들이고 되읽어 봅니다. 또는 장소를 달리해서 읽어 보거나 가능하면 제 3자에게 읽혀보는 것도 좋습니다.

   여섯 째, '설득의 기법'을 익혀둡니다. 논리적으로 명쾌하게 구성하며, 쉽게 묻어갈 어휘나 표현을 쓰며, 튼실하고 구체적인 화제(소재)를 선택합니다. 더불어 재미있는 기교(수사법)을 활용하여 구사함으로써 쉽고 맛깔나는 문장을 완성할 수 있는 것입니다.

   일곱 째, 구체적인 실례를 머리에 그리면서 씁니다. 구체적인 내용은 '임장감(臨場感)', 즉 녹음기나 라디오로 연주를 듣고 있는데도, 마치 현장에서 실제로 듣는 듯한 느낌처럼, 문장에 생기를 불어넣어 주기 때문입니다.  

  
독자는 '구체적인 경험'이나 '실례'를 좋아합니다. 다시 말해서 독특한 경험이나 재미있는 화제는  독자들이 오래 기억합니다. 이론에 치우친 글은 어렵기만 하며, 전달의 효과도 없습니다.

   여덟 째, 소리내어 읽으면서 씁니다. 산문에도 가락과 흐름이 있으므로 부드럽게 읽힐 수 있도록 쓰는 것이 중요합니다. 이렇게 음독(音讀)을 하면 자기의 글을 독자의 위치에서 바라보게 되며, 여러 번 반복하여 음독하면 자기 글의 내용에서 편협되거나 자기 만족에 치우친 점을 반드시 발견하게 됩니다.

   아홉 째, 시간을 정해놓고 써봅니다. 모래시계처럼 잴 수 있는 기구를 이용하여 글 쓰는 시간을 정하면, 집중력을 발휘할 수 있습니다. '속도'는 가치있는 것이며, 이에 숙달하면 시간 제한이 있는 논술 시험이나 각종 시험에도 크게 도움이 됩니다. 또한 '후려쓰기(몰아붙여 쓰기)'에 숙달하면 글 쓰기의 순서, 요령이 몸에 베어 글 쓰기가 손쉬워집니다.

   열 째, 마지막으로 참고가 될 책세 권씩 삽니다. 필요하다고 여기는 쪽은 독서 카드나 메모 공책에 오려 붙이기 위한 것인데, 한 권은 짝수쪽 용으로, 한 권은 홀수쪽 용으로 활용합니다. 그리고 나머지 한 권은 보관용으로 간직합니다. 복사비와 인건비, 소요 시간을 계산하면 사는 것이 쌀 수도 있습니다.


     글 쓰는 능력의 배양에 블로그를 활용하라

   이상으로 '문장력을 키우는 10가지 방법'에 대한 소개를 정리합니다. 사실 이 방법들은 잘 안되고 자꾸만 지연되기 일수인데, 개인적으로는 아홉 번째의 "'시간을 정해' 놓고 마라톤처럼 집중력을 발휘하여 쓰는 방법"을 꾸준히 집중적으로 활용해보려고 합니다.

   그리고 이에 한 가지를 더 추가한다면, 바로 열번 째에 소개한 글감 설명에 필요한 참고 서적으로, '같은 주제의 다른 책 3권을 가능하면 함께 사는 것'입니다. 다시 말해서 한 주제에 필요한 비슷하지만 다양한 내용의 책을 최소한 3권은 들추어보고 참고해야 한다는 뜻입니다. 같은 주제를 다른 말로 풀어놓은 글들이 확실한 이해에 훨씬 더 도움이 됩니다.

   이처럼 블로그를 새롭게 개설하여 글을 쓸 때에는, 동시에 검색을 통하여 무한대로 참고할 수 다는 긍정적인 장점이 있습니다. 또한 블로그에 글을 써 올리는 것은 자신의 의사와 생각을 공개적으로 밝히고 서로 소통한다는 것을 의미하므로, 자신의 글에는 반드시 책임과 의무가 따른다는 사실도 잊지 말아야 합니다.

   며칠 전의 '초대권 공개 나눔마당'에서도 확인했던 것처럼, 블로그를 자신의 작가의 꿈을 위한 습작노트로 활용하고자 하는 분들이 예상보다 많습니다. 무엇보다도 블로깅(blogging) 환경은 글 쓰는 능력을 배양하기에 더없이 좋은 조건입니다. 제 경험으로 볼 때 분명 도움이 됩니다. 성공의 밑거름으로 활용하는데 도움이 되길 바랍니다.


** 관련 글 : "블로그로 글 쓰기 능력을 키울 수 있을가 ?" - 초하(初夏)
                  "
[작문] 글을 쓰기 전엔 글감을 정리하라" - Steve Yang
                  "
효과적인 글쓰기를 위한 5가지 팁" - mun
                  "
세상에서 가장 쉬운 글 쓰기" - 지식과 상식 사이




출처 << http://chohamuseum.net/212

2009. 4. 15. 14:59

[Oracle] 오라클 객체(4) [SYNONYM]

- SYNONYM은 오라클 객체(테이블, 뷰, 시퀀스, 프로시저)에 대한 대체이름(Alias)를 말합니다.

 

- Synonym은 실질적으로 그 자체가 Object가 아니라 Object에 대한 직접적인 참조 입니다.

 

- Synonym을 사용하는 이유는...

1) 데이터베이스의 투명성을 제공하기 위해서 사용 한다고 생각하면 됩니다.

    Synonym은 다른 유저의 객체를 참조할 때 많이 사용을 합니다.

 

2) 만약에 실무에서 다른 유저의 객체를 참조할 경우가 있을때 Synonym을 생성해서 사용을 하면은 추후에 참조하고 있는 오브젝트가 이름을 바꾸거나 이동할 경우 객체를 사용하는 SQL문을 모두 다시 고치는 것이 아니라 Synonym만 다시 정의하면 되기 때문에 매우 편리 합니다.

 

3) 객체의 긴 이름을 사용하기 편한 짧은 이름으로 해서 SQL코딩을 단순화 시킬 수 있습니다.

 

4) 또한 객체를 참조하는 사용자의 오브젝트를 감출 수 있기 때문에 이에 대한 보안을 유지할 수 있습니다. Synonym을 사용하는 유저는 참조하고 있는 객체에 대한 사용자의 오브젝트의 소유자, 이름, 서버이름을 모르고 Synonym 이름만 알아도 사용할 수 있습니다.

 

                                                                                                                                      

** Synonyms를 사용하는 경우 **

 

- 오브젝트의 실제 이름과 소유자 그리고 위치를 감춤으로써 database 보안을 개선하는데 사용 됩니다.

- object에의 Public Access를 제공 합니다.

- Remote Database의 Table, View, Program Init를 위해 투명성을 제공 합니다.

- Database 사용자를 위해 SQL문을 단순화 할 수 있습니다.

 

Synonym에는 두가지 종류가 있습니다.

1) Private Synonym

 - 전용 Synonym은 특정 사용자만 이용할 수 있습니다.

 

2) Public Synonym

 - 공용 Synonym은 고용 사용자 그룹이며 소유하며 그 Database에 있는 모든 사용자가 공유

 

                                                                                                                                      

** Synonym 생성 문법 **

**[ Syntax ]*************************************************

* CREATE [PUBLIC] SYNONYM synonym_name

* FOR object_name

*************************************************************

 

- Public : 모든 사용자가 접근 가능한 시노님을 생성 합니다.

              Public Synonym의 생성 및 삭제는 DBA만이 할 수 있습니다.

 

                                                                                                                                      

※ scott USER의 emp테이블을 test USER가 사용하는 예제

 

1. 먼저 scott/tiger USER로 접속해서 test USER에게 emp테이블을 조작할 권한을 부여합니다.

 

SQL> GRANT ALL ON emp TO test;

         권한이 부여되었습니다.

 

test user에 대하여 scott의 emp테이블을 조작할 수 있는 권한을 부여 합니다.

권한이 있어야 select하거나 update, insert할 수 있습니다.

 

2. test USER로 접속해 동의어를 생성합니다.

 

SQL> connect test/test

 

SQL> CREATE SYNONYM scott_emp FOR scott.emp;

시노님이 생성되었습니다.

 

scott USER가 소유하고 있는 emp테이블에 대해 scott_emp라는 일반시노님을 생성 했습니다.

scott 사용자의 emp테이블을 test사용자가 scott_emp라는 동의어로 사용 합니다.

 

-- 시노님을 이용한 쿼리

SQL> SELECT empno, ename FROM scott_emp;

 

-- 일반 테이블을 쿼리

SQL> SELECT empno, ename FROM scott.emp;

이 두쿼리의 결과는 같습니다.

 

   EMPNO ENAME
-------- ---------
    7369 SMITH
    7499 ALLEN
    7521 WARD
    7566 JONES
    7654 MARTIN
    7698 BLAKE
          15 개의 행이 선택되었습니다.

                                                                                                                                      

** 동의어 삭제 **

 

SQL> DROP SYNONYM scott_emp;

시노님이 삭제 되었습니다.

 

SQL> SELECT empno, ename FROM scott_emp;

라인 1에 오류:

ORA - 00942 : 테이블 또는 뷰가 존재하지 않습니다.

 

                                                                                                                                      

 

 

 
  ================================================
    * Oracle Community OracleClub.com
    * http://www.oracleclub.com
    * http://www.oramaster.net
    * 운영자 : 김정식 (oramaster _at_ empal.com)
  ================================================
※ 강좌를 다른 홈페이지에 기재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

2009. 4. 15. 14:58

[Oracle] 오라클 객체(3) [SEQUENCE(시퀀스)]

** 시퀀스란? **

- 유일(UNIQUE)한 값을 생성해주는 오라클 객체 입니다.

- 시퀀스를 생성하면 기본키와 같이 순차적으로 증가하는 컬럼을 자동적으로 생성할 수 있습니다.

- 보통 primary key 값을 생성하기 위해 사용합니다.

- 메모리에 Cache되었을 때 Swquence값의 엑세스 효율이 증가 합니다.

- Sequence는 테이블과는 독립적으로 저장되고 생성됩니다. 따라서 하나의 sequence를 여러 테이블에서 쓸 수 있습니다.

 

                                                                                                                                       

** 시퀀스 생성 **

**[ Syntax ] **************************************

* CREATE SEQUENCE sequence_name

*  [ START WITH n ]

*  [ INCREMENT BY n ]

[ MAXVALUE n | NOMAXVALUE ]

*  [ MINVALUE n | NOMINVALUE ]

*  [ CYCLE | NOCYCLE ]

**************************************************

 

- START WITH : 시퀀스의 시작 값을 지정 합니다. n을 1로 지정하면 1부터 순차적으로 시퀀스 번호가 증가 합니다.

 

- INCREMENT BY : 시퀀스의 증가 값을 말합니다. n을 2로 하면 2씩 증가합니다. START WITH를 1로 하고 INCREMENT BY를 2로 하면 1,3,5,7... 이렇게 시퀀스 번호가 증가 됩니다.

 

- MAXVALUE n | NOMAXVALUE : MAXVALUE는 시퀀스가 증가할 수 있는 최대값을 말합니다.

                                                 NOMAXVALUE는 시퀀스의 값을 무한대로 지정합니다.

 

- MINVALUE n | NOMINVALUE : MINVALUE는 시퀀스의 최소값을 지정 합니다.

                                               기본 값은 1이며, NOMINVALUE를 지정할 경우 최소값은 무한

                                               대가 됩니다.

 

SQL> CREATE SEQUENCE emp_seq

          START WITH 1

          INCREMENT BY 1

          MAXVALUE 100000;

 

sequence create.

 

시작 값이 1이고 1씩 증가하고, 최대값이 100000만이 되는 시퀀스를 생성했습니다.

 

SQL> INSERT INTO emp(empno, ename, hiredate)

          VALUES(emp_seq, NEXTVAL, ' julia', sysdate);

 

empno는 컬럼값을 입력할 때 일일이 다음 값을 기억하지 않아도 NEXTVAL을 사용하여 자동으로 입력할 수 있습니다.

 

CURRVAL : 현재 값을 반환 합니다.

NEXTVAL : 현재 시퀀스값의 다음 값을 반환 합니다.

 

SQL> SELECT emp_seq.CURRVAL FROM DUAL;

 

        CURRVAL
        ---------
                  1

SQL> SELECT emp_seq.NEXTVAL FROM DUAL;

 

       NEXTVAL
     ---------
                 2

                                                                                                                                       

** 사용규칙 **

 

- NEXTVAL, CIRRVAL을 사용할 수 있는 경우

 - subquery가 아닌 select문

 - insert문의 selectㅁ\절

 - insert문의 value절

 - update문의 set절

 

- NEXTVAL, DURRVAL을 사용할 수 없는 경우

 - view의 select절

 - distinct 키워드가 있는 select문

 - group by, havinh, order by절이 있는 select문

 - select, delete, update의 Subquery

 - create table, alter table명령의 default값

 

                                                                                                                                       

** 시퀀스의 수정 및 삭제 **

 

**[ Syntax] ****************************************

* ALTER SEQUENCE sequence_name

*  [ INCREMENT BY n]

*  [ MAXVALUE n | NOMAXVALUE ]

*  [ MINVALUE n | NOMINVALUE ]

*  [ CYCLE | NOCYCLE ]

****************************************************

 

START WITH는 수정할 수 없습니다.

- START WITH절이 없다는 점을 빼고는 CREATE SEQUENCE와 같습니다.

 

SQL> ALTER SEQUENCE emp_seq

          INCREMENT BY 2

          CYCLE;

 

sequence altered.

 

2씩 증가하고, 최대값을 넘으면 다시 처음부터 순환하도록 수정하였습니다.

 

DROP문을 필요하지 않은 시퀀스는 삭제 할 수 있습니다.

 

SQL> DROP SEQUENCE PRD_SEQ;

 

sequence dropped.

 

                                                                                                                                       

 

 
  ================================================
    * Oracle Community OracleClub.com
    * http://www.oracleclub.com
    * http://www.oramaster.net
    * 운영자 : 김정식 (oramaster _at_ empal.com)
  ================================================
※ 강좌를 다른 홈페이지에 기재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

2009. 4. 15. 14:56

[Oracle] 오라클 객체(2) [VIEW 테이블]

** 뷰란? **

 

- 뷰는 하나의 가상 테이블이라 생각 하시면 됩니다.

- 뷰는 실제 데이터가 저장 되는 것은 아니지만 뷰를 통해 데이터를 관리 할 수 있습니다.

- 뷰는 복잡한 query를 통해 얻을 수 있는 결과를 간단한 query를 써서 구할 수 있게 합니다.

- 한개의 뷰로 여러 테이블에 대한 데이터를 검색할 수 있습니다.

- 특정 평가기준에 따른 사용자 별로 다른 데이터를 액세스 할 수 있도록 합니다.

 

                                                                                                                                  

** 뷰의 제한 조건 **

 

- 테이블에 NOT NULL로 만든 컬럼들이. 뷰에 다 포함이 되 있어야 됩니다.

- 그리고 ROWID, ROWNUM, NEXTVAL, CURRVAL 등과 같은 가상컬럼에 대한 참조를 포함하고 있는 뷰에는 어떤 데이터도 Insert할 수 없습니다.

- WITH READ ONLY 옵션을 설정한 뷰도 데이터를 갱신할 수 없습니다.

- WITH CHECK OPTION을 설정한 뷰는 뷰의 조건에 해당되는 데이터만 삽입, 삭제, 수정을 할 수 있습니다.

 

                                                                                                                                  

**[ Syntax ]*******************************************************************

* CREATE[OR REPLACE] [FORCE|NOFORCE] VIEW view_name

* AS subquery

* [WITH CHECK OPTION [CONSTRAINT 제약조건]]

* [WITH READ ONLY]

*******************************************************************************

 

- FORCE : 기본 테이블 유무에 관계없이 VIEW를 생성

 

- WITH CHECK OPTION : VIEW에 의해 엑세스될 수 있는 행만이 입력되거나 변경될 수 있음을 지정 합니다.

 

- WITH READ ONLY : SELECT만 가능한 VIEW의 생성

 

- VIEW를 정의 하는 질의어에는 ORDER BY절을 사용할 수 없습니다.

 

- 함수를 사용한 컬럼은 반드시 ALIAS를 지정해야 합니다.

 

SQL> CREATE OR REPLACE VIEW Name_Query

          AS SELECT a.ename, b.dname

               FROM emp a, dept b

               WHERE a.deptno = b.deptno

                    AND b.deptno = 20

 

view created

 

이렇게 뷰를 생성해 놓고 뷰를 통해 검색을 하면 됩니다.

 

SQL> SELECT * FROM Name_Query;

 

ENAME                DNAME
-------------------- ----------
SMITH                RESEARCH
JONES                RESEARCH
SCOTT               RESEARCH
ADAMS               RESEARCH
FORD                 RESEARCH

 

                                                                                                                                  

** WITH CHECK OPTION **

 

view의 조건식을 만족하는 데이터만 INSERT 또는 UPDATE가 가능하도록 하는 옵션 입니다.

 

SQL> CREATE OR REPLACE VIEW Check_Option

          AS SELECT empno, ename, deptno

               FROM emp

               WHERE deptno = 10

          WITH CHECK OPTION

 

view create

 

SQL> INSERT INTO Check_Option(empno, ename, deptno)

          VALUES (10005, 'jain', 30);

 

INSERT INTO Check_Option(empno, ename, deptno)
            *
1행에 오류:
ORA-01402: 뷰의 WITH CHECK OPTION의 조건에 위배 됩니다
부서 번호가 10인 사원만 INSERT, UPDATE할 수 있습니다.

                                                                                                                                  

** WITH READ ONLY **

 

SELECT만 가능한 VIEW를 생성합니다.

 

SQL> CREATE OR REPLACE VIEW Read_Only

          AS SELECT empno, ename, deptno

               FROM emp

               WHERE deptno = 10

          WITH READ ONLY

 

view created.

 

단순히 읽기만 할수 있고 데이터는 입력하지 못합니다.

 

                                                                                                                                  

** VIEW에 대한 DML문 사용 규칙 **

- VIEW가 다음 사항을 포함하는 경우 행의 삭제 불가

 -> JOIN조건, 그룹함수, GOUP BY절, DISTINCT명령

 

- VIEW가 다음 사항을 포함하는 경우 데이터 수정 불가

 -> JOIN조건, 그룹함수, GROUP BY절, DISTINCT명령, 식으로 정의된 컬럼(EX SAL * 0.1)

 

- VIEW가 다음 사항을 포함하는 경우 데이터 추가 불가

 -> JOIN조건, 그룹함수, GROUP BY절, DISTINCT명령, 식으로 정의된 컬럼, VIEW에 선택되지 않는 NOT NULL컬럼

 

                                                                                                                                  

** 뷰의 정보 조회 **

 

USER_VIEWS 데이터 사전을 통해서 뷰에 대한 정보를 조회 할 수 있습니다.

 

SQL> SELECT view_name, text

          FROM USER_VIEWS;

 

                                                                                                                                  

** 뷰의 삭제 **

 

SQL> DROP VIEW Read_Only;

 

view dropped.

 

                                                                                                                                  

  

 

  ================================================
    * Oracle Community OracleClub.com
    * http://www.oracleclub.com
    * http://www.oramaster.net
    * 운영자 : 김정식 (oramaster _at_ empal.com)
  ================================================
※ 강좌를 다른 홈페이지에 기재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

2009. 4. 15. 14:55

[Oracle] 오라클 객체(1) [인덱스(Index)]

인덱스는 테이블이나 클러스트에서 쓰여지는 선택적인 객체로서, 오라클 데이터베이스 테이블내의 원하는 레코드를 빠르게 찾아갈 수 있도록 만들어진 데이터 구조 입니다.

 

자동 인덱스 : 프라이머리 키 또는 unique 제한 규칙에 의해 자동적으로 생성되는 인덱스 입니다.

 

수동 인덱스 : CREATE INDEX 명령을 실행해서 만드는 인덱스들 입니다.

 

※ Index를 생성하는 것이 좋은 Column

- WHERE절이나 join조건 안에서 자주 사용되는 컬럼

- null값이 많이 포함되어 있는 컬럼

- WHERE절이나 join조건에서 자주 사용되는 두 개이상의 컬럼들

 

※ 다음과 같은 경우에는 index 생성이 불필요 합니다.

- table이 작을 때

- 테이블이 자주 갱신될 때

 

※ 오라클 인덱스는 B-tree(binary search tree)에 대한 원리를 기반으로 하고 있습니다.

 

B-tree인덱스는 컬럼안에 독특한 데이터가 많을 때 가장 좋은 효과를 냅니다.

 

이 알고리즘 원리는

 

- 주어진 값을 리스트이 중간점에 있는 값과 비교합니다.

  만약 그 값이 더 크면 리스트의 아래쪽 반을 버립니다.

  만약 그 값이 더 작다면 위쪽 반을 버립ㄴ디ㅏ.

 

- 하나의 값이 발견될 때 까지 또는 리스트가 끝날 때까지 그와 같은 작업을 다른 반쪽에도 반복합니다.

 

                                                                                                                                  

※ 인덱스는 B-tree 구조를 가지며 크게 다음 네 가지로 분류될 수 있습니다.

 

1) Bitmap 인덱스

 

- 비트맵 인덱스는 각 컬럼에 대해 적은 개수의 독특한 값이 있을 경우에 가장 잘 작동합니다. 그러므로 비트맵 인덱스는 B-tree 인덱스가 사용되지 않을 경우에서 성능을 향상 시킵니다. 테이블이 매우 크거나 수정/변경이 잘 일어나지 않는 경우에 사용할수 있습니다.

 

SQL> CREATE BITMAP INDEX emp_deptno_indx

          ON emp(deptno);

 

 

2) Unique 인덱스

 

- Unique 인덱스는 인덱스를 사용한 컬럼의 중복값들을 포함하지 않고 사용할 수 있는 장점이 있습니다. 프라이머리키와 Unique 제약 조건시 생성되는 인덱스는 Unique 인덱스 입니다.

 

SQL> CREATE UNIQUE INDEX emp_ename_indx

          ON emp(ename);

 

3) Non-Unique 인덱스

 

- Non-Unique 인덱스는 인덱스를 사용한 컬럼에 중복 데이터 값을 가질수 있습니다.

 

SQL> CREATE INDEX dept_dname_indx

          ON dept(dname);

 

4) 결합(Concatenated(=Composite)) 인덱스

 

- 복수개의 컬럼에 생성할 수 있으며 복수키 인덱스가 가질수 있는 최대 컬럼값은 16개 입니다.

 

SQL> CREATE UNIQUE INDEX emp_empno_ename_indx

          ON emp(empno, ename);

 

                                                                                                                                  

** 인덱스의 삭제 **

 

- 인덱스의 구조는 테이블과 독립적이므로 인덱스의 삭제는 테이블의 데이터에는 아무런 영향도 미치지 않습니다.

 

- 인덱스를 삭제하려면 INDEX의 소유자이거나 DROP ANY INDEX권한을 가지고 있어야 합니다.

 

- INDEX는 ALTER를 할 수 없습니다.

 

SQL> DROP INDEX emp_empno_ename_indx;

 

                                                                                                                                  

※ 인덱스에 대한 정보는 USER_INDEXS 뷰 또는 USER_IND_COLUMNS 뷰를 통해 검색할 수 있습니다.

 

SQL> SELECT index_name, index_type

          FROM USER_INDEXS

          WHERE table_name = 'EMP';

 

INDEX_NAME                        INDEX_TYPE
---------------------------     -----------
EMP_DEPTNO_INDX                BITMAP
EMP_PK_EMPNO                    NORMAL

 

                                                                                                                                  

 


  ================================================
    * Oracle Community OracleClub.com
    * http://www.oracleclub.com
    * http://www.oramaster.net
    * 운영자 : 김정식 (oramaster _at_ empal.com)
  ================================================
※ 강좌를 다른 홈페이지에 기재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

2009. 4. 14. 15:22

관계형 데이터베이스의 시대가 지는가?

'IT Story' 카테고리의 다른 글

Windows 7 에서 telnet 사용법  (1) 2010.01.03
'공룡' 오라클, 썬마이크로시스템즈 삼켰다  (0) 2009.04.21
IE8 속도, 라이브러리만 추가해도 빨라져  (0) 2009.04.10
SSD 상식  (0) 2009.04.07
HDD 상식  (0) 2009.04.07