SQL Deveroper는 Oracle corp.에서 배포하는 Oracle 개발, 관리 등을 지원하는 개발 Tool입니다. Oracle Homepage에서 무료로 받아서 사용할 수 있으며, 현재 안정 버전은 3.0이며 "3.1 Early Adopter" 버전도 받아서 사용할 수 있습니다. 이 글을 작성하던 시점에는 3.0이 최신빌드였는데, 3.1이 정식으로 나왔습니다. (아래의 푸른 글 상자 안의 내용을 추가했습니다. 최신 버전에 대한 정보는 아래의 글 상자 내용을 참조하세요.)

Oracle SQL Developer 3.1 (3.1.07.42)

 February 7, 2012

출처 : http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

To install Oracle SQL Developer 3.1 download the file, there is no in-place upgrade available, you must unzip the file into an empty folder. Select the "Use folder names" checkbox when unzipping the file. You can migrate your settings from Oracle SQL Developer 1.5.x or SQL Developer 2.1.x.. See the Release Notes 3.1 for more details.

JDK Support
Oracle SQL Developer 3.0 is shipped with JDK1.6.0_11. However, you can connect to and use any JDK 1.6.0_11 or above. To use an existing JDK, download the zip files listed below "with JDK already installed."

Use Check for Updates to install:
  • Third-party database drivers for Sybase, SQL Server and MySQL. For more information on setting up the third-party drivers, see Migrations: Getting Started
  • Version control systems, Concurrent Versions System (CVS), Serena Dimensions or Perforce.

Check for Updates also supports an increasing number of Third-Party extensions. These are available with separate licensing agreements and are developed, tested and maintained by third-party vendors.



뒷북이 되어버린... 3.1 Early Adopter 버전입니다.

 
 3.1 버전을 설치했더니, 기본적으로 Oracle과 MS Access에 접근할 수 있게 되어있네요. 추가 설정 작업을 해주면 Microsoft SQL Server, Sybase, IBM DB2에도 접근할 수 있습니다. (Update 메뉴를 통해서 확장 기능을 검색해보면 MySQL, SQL Server 접속 기능도 설치할 수 있는데, 3.1 버전은 아직 정식 버전이 아니라서 그런지 설치를 할 수 없네요.)

 실행하면 화면에 위와 같은 창이 뜨고, 진행막대가 지나갈 겁니다. Java로 되어 있어서 그런지 (Oracle JDeveloper 기반인것 같다. VisualVM(정확한 이름인지는 모르겠다.)으로 상태를 모니터링하면서 보니까 이름이 JDeveloper로 뜨네요.) 초기 기동이 아주 느립니다. 토드와 맞짱 뜰만한 기동 시간이라니... 아 토드 보단 쪼금 빨랐던거 같습니다. 아마도...
  

0. Oracle Database
 Oracle database는 기본적으로 접속이 가능하다. TNS와 IP기반의 접속이 모두 가능하며 쓸만합니다.
 

1. MySQL 접속이 가능하도록 설정하기
1-1. MySQL JDBC Driver 다운로드 받아서 설치하기
  mysql.com의 다운로드 메뉴에서 Connector라는 항목을 선택하면 Connector/J라는 항목이 있다. 여기에서 다운로드 받을 수 있다. 다운로드 받은 파일의 압축을 풀어서 jar file을 원하는 위치에 저장하면 된다.

1-2. SQL Developer에 MySQL JDBC Driver 설정하기
환경설정 메뉴의 "데이터베이스 > 타사 JDBC 드라이버"를 클릭하면 설정 화면이 나옵니다.

1-3. SQL Developer 접속 설정하기
아래 이미지를 보시면 짐작이 가시겠죠? IP 혹은 Hostname, 그리고 계정 정보 등이 필요합니다.


 

2. Microsoft SQL Server에 접속이 가능하도록 설정하기
2-1. SQL Server JTDS Driver 다운로드 받아서 설치하기
  SQL Server는 MS에서 제공하는 JDBC Driver를 사용하면 SQL Developer가 인식하지 못한다. 대신에 Open source로 만들어지는 JTDS Driver를 이용하면 된다. Sourceforge에서 JTDS로 검색하면 찾을 수 있으며, 아래의 "관련 자료 다운로드"의 링크를 따라가면 바로 찾을 수 있다. 다운로드 받은 파일의 압축을 풀어서 jar file을 원하는 위치에 저장하면 된다.
 
2-2. SQL Developer에 JTDS Driver 설정하기
환경설정 메뉴의 "데이터베이스 > 타사 JDBC 드라이버"를 클릭하면 설정 화면이 나옵니다.


2-3. SQL Developer 접속 설정하기
아래의 이미지를 보시면 MySQL과 다른점이 있다면 "Windows 인증 사용"일겁니다. 그외에는 뭐...IP 혹은 Hostname, 계정 정보 등이 필요합니다.




<참고문서>

2. Oracle SQL Developer 3.1 Release Notes


<관련 자료 다운로드>



요즘 SQL Server Codename "Denali"에 대한 글이 자주 올라오고 있죠. "Denali"에 대한 정보를 읽다보니 Codename "Juneau"라는 SQL Server Developer Tool에 대한 얘기도 있더군요.

일단 아래 홈페이지로 가시면 다운로드 받을 수 있습니다.
SQL Server Developer Tools Juneau Download
다운받은 파일을 실행하면 필요한 파일들을 받아서 설치를 진행합니다. 설치 중간에 PC 재부팅을 한번 하구요. 제 PC 사양이 별로라서 그런지 한시간 정도 걸린것 같습니다. 제 경우에는 설치 완료 후 화면에 Juneau 설치에 실패했다고 뜨길래 "확인"(아마도 확인일겁니다.)을 클릭했더니 설치에 실패한 프로그램만 설치하는 화면이 다시 떠서 나머지를 설치하고 완료하였습니다.
아래는 설치 완료 후의 화면입니다. 윈폰7 SDK같은 흥미로운 이름이 떠있죠... 이건 다음에 한번 시도해보려구요. ㅋㅋ



 기존에 SSMS(SQL Server Management Studio)를 이용하여 SQL Server에서의 개발, 관리를 해왔던 DBA의 시각에서 바라본 "Juneau"라는 툴은... Visual studio와 별로 다를게 없어보이네요.  뭐 Visual Studio에 모든 툴이 통합되고 있는건 원래 그랬던거고...


아직 이 툴을 설치 후 실무에 써보지는 않았으니 다른건 모르겠지만, 일단 설치와 첫 실행 화면이 깔끔하긴하다.
데이터 메뉴에 스키마 비교, T-SQL editor 등이 있고요. 이건 기존의 Visual studio에도 있었던것 같은데, 제가 기존 버전의 기능을 써보질 않아서 어떤점이 좋아졌는지는 모르겠습니다. ^^;
음 좀더 자세한 내용은 다음에 계속 하겠습니다. 그럼 이만~~~~

 넥슨DB팀의 블로그에 SQL Server 관련 정보가 종종 올라오더군요.
이번엔 차기 버전인 Code name "Denali"의 신기능을 정리한 문서입니다.
새 버전에서는 개발툴도 따로 있는것 같더군요. 음... 자세히 읽어봐야 겠습니다.

원문 보기 : SQL Server 2011 (Denali) 신기능

 작년에 다녀왔던 "SQL Unplugged : 괴물이야기" 컨퍼런스에서 SQL Server에 대한 다양한 경험을 할 수 있었고, 이후 운영중인 SQL Server를 좀더 잘 운영하려고 노력하게 되었습니다. 튜닝 공부를 위해 주말 과정을 듣기도 했고, 시중에 나와있는 책도 찾아보게 되었구요. 그래서일까요? 아래 화면을 보게 되었을때 참 반가웠습니다.

"올해에도 하루라는 시간이 아깝지 않을 컨퍼런스가 열리는구나!!" 고맙습니다. 수고하셨습니다.
자세한 후기는 나중에 정리해서 올리겠습니다.




아래 글 링크는 작년에 SQL Unplugged 첫번째 컨퍼런스 참석 후기입니다. 
2010/06/14 - [IT 기술/Database] - SQL Unplugged "괴물 이야기" 참석 후기


 SQL Server 2008에서 테이블의 구조를 변경하는 작업을 하던 중 "테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함"이라는 경고를 보게되었습니다. 간단하게 P.K를 추가하는 거였는데... 암튼 이렇게 되고 보니 뭔가 내가 중요한 실수를 하는 것인지 궁금해지더군요. 검색을 해보니 의외로 간단하게 해결되었습니다.
 SQL Server 2008의 SSMS의 메뉴 중 [도구] > [옵션]을 클릭하면 아래와 같은 창이 뜹니다.


 위에서 "테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함"이 선택되어 있을텐데 이를 해제해주면 됩니다. 이 설정은 바로 적용되니까. "확인" 버튼을 눌러준뒤에 바로 작업을 속행하시면 됩니다.
 SQL Server 2005를 사용하는 서비스가 있는데, P.K도 없는 테이블을 만들고는 거기에 중복된 값을 넣었더군요. 젠장 뭔놈의 설계를... 암튼... db를 복제해놓으려고 했더니 이 P.K없는 테이블이 걸리더군요. 그래서 pk를 넣어주기 위해서 중복 data 삭제를 시작하려했습니다. 근데... 이거 참... ROWNUM 같은걸 찾기가 힘들더군요. 고심끝에 임시 테이블을 만드는 방법을 쓰기로 했습니다.
물론 다른 방법이 충분히 존재할거 같은 느낌이 듭니다. 그러나... 너무 오랜 시간 동안 이 문제를 잡고 있을수는 없으니까요. 다른 좋은 방법을 알고 계시면 알려주시면 감사하겠습니다. 그럼 평온한 하루 보내시길...

1. 기존 DATA를 백업 테이블에 백업한다.
SELECT * INTO dbo.LIST1_BK FROM dbo.LIST1;

2. 중복된 ROW의 번호를 확인한다.
SELECT A.*
  FROM (select  ROW_NUMBER()OVER(ORDER BY VALUE2) AS SEQ1, * from dbo.LIST1) A;

3. 중복된 ROW의 번호를 제외한 나머지 DATA를 임시 테이블에 입력한다.
INSERT INTO dbo.LIST1_TEMP(VALUE1, VALUE2)
SELECT A.VALUE1, A.VALUE2
  FROM (SELECT ROW_NUMBER()OVER(ORDER BY VALUE2) AS SEQ1, * FROM dbo.LIST1) A
 WHERE A.SEQ1 NOT IN (6, 10);

4. 원본 테이블의 DATA를 삭제한다.
DELETE FROM dbo.LIST1;

5. 임시 테이블의 DATA를 원본 테이블에 입력한다.
INSERT INTO dbo.LIST1(VALUE1, VALUE2)
SELECT VALUE1, VALUE2 FROM dbo.LIST1_TEMP

 MS SQL Server 2005를 사용하는 서비스가 있습니다. 그동안 상세하게 튜닝을 하지 않았었는데, 이번에 컨설턴트분의 의견을 적극 반영하여 튜닝을 시도하게 되었습니다. 그 중에서 첫번째가 tempdb 설정입니다.

 기본 설치로 진행하게되면 tempdb는 다른 시스템데이터베이스와 마찬가지로  하나의 data file과 하나의 transaction log file(정확한 명칭인지는 모르겠습니다.)로 구성됩니다. 그런데 CPU가 여러개 설치되어 있다면 물리적인 CPU 갯수만큼 tempdb의 file을 추가해주는게 좋다고 합니다. 보통 코어수가 아닌 물리적인 CPU 갯수대로 해주는게 좋다는데, 상세한 아키텍쳐에 대한 설명은 내공이 부족해서 다음으로 미루겠습니다. 일단 제 경우에는 아래와 같이 설정해 줬습니다.

 CPU가 두 장인 IBM X 시리즈 서버에 MS SQL Server를 설치한 후 tempdb의 파일 설정을 한다고 가정하면
 1) 파일 개수 : 2개
 2) 기본 크기 : 128 MB
 3) 증가 값 : 2 MB씩 무제한 증가


 SQL Server를 사용하는 곳의 File 크기 설정을 보면 보통은 파일 크기가 기존 크기의 일정 비율로 증가하도록 되어있습니다. 저희도 그랬구요. 그런데 이렇게 되면 data file이 증가하는게 규칙성이 없이 마구잡이로 늘어나니까 안 좋다고 하더군요.
 그래서 외부 컨설턴트의 권고에 따라서 일정한 수치로 증가하도록 변경했습니다. 시스템 DB는 용량의 변화도 별로 없고... 뭐... 걍 기본 설정 그대로 두고 서비스에 사용하는 사용자 DB에만 적용했습니다. Oracle에 Data file 생성할 때 처럼 512MB... 뭐 이런식으로요.

 저희 시스템이 부하가 많이 걸리는 시스템이 아니라서 평소에 뭔가 효과를 본다는 느낌은 들지 않지만, 그래도 서버 튜닝 기법으로 많이 쓰이는, 그리고 어느정도 효과가 공인된 방법입니다. 다음에는 좀더 있어보이는 방법을 얘기해보겠습니다.  ㅋㅋ
 그동안 여러 세미나에 다녀왔지만, 아마 MS SQL Server만 다루는 세미나는 처음인걸로 기억합니다. 바로 지난 금요일(2010년 6월 11일)에 열린 "SQL Unplugged 괴물 이야기"라는 세미나입니다.
 처음에는 MicroSoft에서 개최하는 행사인줄 알았는데, PASS(SQL Server 전문가 협회(PASS_Professional Association for SQL Server))라는 커뮤니티의 한국 회원분들의 주도하에 진행된 행사더군요. 그동안 Oracle을 주로 사용해왔던터라 PASS라는 이름도 그날 처음 들었습니다. 엑셈이 MS-SQL 분야에서도 컨설팅을 한다는 것도 신선한 소식이었고, 무엇보다 제가 듣고 싶었던 HA, BI, 대용량 DB, Query tunning 등에 대한 다양한 세션이 준비되어있어서 아무 맘에 들었었습니다. 문제는 제가 DBA 세션만 들었다는 겁니다. 동영상 편집이 완료되는대로 업로드한다고 하니까 곧 나머지도 볼 수 있을거라 생각합니다.

1. 엑셈의 MS SQL Server 컨설팅
 사실 Oracle 관련 정보만 평소에 접하다보니 엑셈이라는 이름이 아주 친숙했었습니다. 근데, SQL Server 세미나에서 엑셈이라는 이름을 듣게 될줄은 몰랐었습니다. 엑셈의 컨설턴트가 발표하는 세션을 들었는데, DMV(Dynamic Management View)라고 Oracle의 v$ 혹은 DBA_로 시작하는 각종 Dictionary View에 해당하는 것이 존재하는것도 알게되었고, 이를 튜닝, 트러블슈팅에 이용하는것도 조금은 알게되었습니다. 앞으로 공부할게 너무 많아져서 고민입니다.


2. HA. DB 복제와 MSCS에 대한 얘기
 DBMS에서 HA 구성에 대한 얘기를 하면 흔히 Oracle의 RAC를 떠올리게됩니다. 시장에서 가장 많이 알려진 제품이고, 구축 사례도 많기 때문이죠. 이와 비슷한(사실 비슷하지만 많이 다른것 같습니다. IBM의 P시리즈의 가상화를 이용한다는걸로 알고있습니다.) IBM의 pureScale이라는 DB2 제품이 나왔습니다. 다만, SQL Server에서는 아직 이런식의 Cluster 제품은 나오지 않았습니다. 그래서인지 DB 복제와 MSCS에 대해서 발표자들이 소개했고, 참석자들의 질문은 DB 복제에 집중되었습니다. 복제 관련 질문이 너무 많아서인지 사회자가 복제에 대한 질문을 제한하기도 했었죠. 복제에 대한 질문이 너무 많아서인지 제가 궁금했던 점과 인식하지 못했던 점까지 알게되어서 좋았습니다.
 세미나에서 들은바로는 현재 많이 사용하고 있는 복제는 2008 이후 버전에서는 P2P 복제가 대체하게 된다고합니다. 앞으로 P2P 복제에 대해서 공부를 좀 해야 겠다는 생각을 해봅니다.

 그리고 MSCS(MicroSoft Cluster Service의 약자)에 대해서 얘기하자면, 현재 잡코리아에서 이를 이용해서 Active-Standby 구성의 HA를 운영중이며, 장애 발생시 1분 이내에 처리가 완료된다고 합니다. 3rd party Cluster 제품을 이용하는 업체도 MSCS로 재구축하는 사례가 있다는 얘기를 하던데요. Windows 환경에서의 Cluster 구성은 이제는 MSCS가 제일 안정적인가봅니다.


3. Business Intelligence
 사실 이 부분은 제가 지금 근무하는곳으로 이직 하기전에 했던 DW구축 및 운영 업무와 관련이 있어서 듣고 싶었던 세션입니다. HA와 튜닝 등의 세션에 밀려서 듣지 못했지만, 동영상 편집이 끝나는대로 볼 수 있게 해준다고 하시네요. 기대하고 있어요~ ^^
앞으로 이 부분은 실무에도 적용을 해보고 싶은데, 현재는 정보 부족으로 테스트도 해보지 못했습니다. 예전에 썼던 DataStage만큼만 해주면 참 좋을것 같은데...


 MS SQL Server는 중소형 서비스에 적합한 쉽게 설치해서 쉽게 쓰는, 그래서 세세한 튜닝이나 운영은 필요없는 초보용 DBMS라는 인식이 많았던게 사실입니다. 저 역시 그렇게 생각해왔었구요. 그런데 이번 SQL Unplugged에 참석하고나서 생각이 많이 바뀌었습니다. 충분한 교육과 정확한 자료만 있다면 아주 파워풀하게 사용할 수 있겠다는 생각이 듭니다.
앞으로 SQL Server에 투자하는 시간이 좀더 늘어날것 같습니다.


SQL 배움터(제2판) 상세보기
&lt;b&gt;우용태&lt;/b&gt; 지음 | 생능 펴냄
SQL 입문서. 이 책은 데이터베이스 등장 배경과 역사, 특징에서부터 SQL 명령문의 종류와 사용법, 검색 및 행렬, SQL 함수와 데이터 조작어, 분석함수 등의 내용으로 구성했다.
직접 수업을 들은적은 없지만 모교(국립창원대학교)에서 데이터 베이스를 가르치시는 우용태 교수님의 책입니다. 꼭 한번 수업을 듣고 싶었는데, 컴퓨터 공학과 학생이 아니라서 수강을 못 했었죠. 음... 진드기처럼 달라붙었었다면 수업은 들을 수 있지 않았을까...하고 생각은 해보지만, 불청객 신세는 그때도 지금도 사양하는 편이라서... ^^;; 그다지 좋은 처세술은 아닌것 같지만요...

암튼, 창원대학교 컴퓨터 공학과는 제게 여러가지 전환점을 준 곳입니다. 여기서는 학부생 데이터베이스 수업때 MySQL을 사용하지 않고 Oracle을 사용했었습니다. 거의 한해 등록금에 가까운 돈을 줘야만 학원에서 들을 수 있었던 수업을 학교에서 들었죠. 그때 국립대라서 등록금이 일년에 백만원이 조금 안되었었습니다. 나름 효도했다고 생각합니다. ^^

표지만 좀더 보기 좋으면 좋을텐데요...

'IT 기술 > 기술서적' 카테고리의 다른 글

무선인터넷관리사 1급 자격증 교재 수령!!  (0) 2007.05.10

+ Recent posts