기술자료

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

쿼리박스(QueryBox), 사용이 편리한 무료 멀티 데이터베이스 쿼리 툴

기술자료
DBMS별 분류
Etc
작성자
dataonair
작성일
2016-12-05 00:00
조회
14455



쿼리박스(QueryBox), 사용이 편리한 무료 멀티 데이터베이스 쿼리 툴



쿼리박스란

쿼리박스(QueryBox)는 국내에서 데이터베이스 보안으로 유명한 피앤피시큐어에서 개발한 데이터베이스 성능 관리 및 쿼리 툴입니다. 기존의 데이터베이스 쿼리 툴들은 주로 하나의 데이터베이스만을 지원하여, 다양한 종류의 데이터베이스를 운영하는 경우, 관리 툴 사용에 많은 불편함이 있었습니다.

쿼리박스가 다른 쿼리 툴과 차별화되는 가장 큰 특징은, 하나의 도구에서 멀티 데이터베이스를 관리할 수 있다는 것입니다. 그리고, Windows와 Mac OS 지원 또한 눈에 띄는 특징 중 하나입니다. 쿼리박스는 개인 개발자비영리 목적 및 교육기관교육용에서 무료로 사용이 가능합니다.



쿼리박스 다운로드 및 설치

쿼리박스는 네이버 소프트웨어 또는 공식 홈페이지에서 다운로드 할 수 있습니다. 쿼리박스는 Windows 32bit, 64bit 와 Mac OS X 를 지원하므로, 각자의 OS 에 맞는 버전을 다운 받으면 됩니다. Mac OS X 버전은 쿼리박스 공식 홈페이지에서만 다운로드 받을 수 있습니다.

네이버 소프트웨어 : http://software.naver.com/software/summary.nhnsoftwareId=GWS_001997
쿼리박스 공식 홈페이지 : http://www.querybox.com

쿼리박스의 설치 방법은 매우 쉽습니다. Windows 버전의 경우, 다운로드 한 설치 EXE 파일을 실행한 후, “다음” 버튼을 클릭하여 마지막까지 진행하면 됩니다.

tech_img4453.png

Mac OS 버전의 경우, DMG 파일을 실행하면 Applications 폴더와 QueryBox 폴더가 생성됩니다. QueryBox 폴더를 Applications 폴더로 이동시키면 설치가 완료됩니다.

tech_img4454.png

쿼리박스의 주요 기능을 간략하게 소개하면 다음과 같습니다.

>> 멀티 DBMS 로그인 및 DIRECT 접속 지원
>> 쿼리 편집기
>> PL/SQL 편집기
>> 테이블 데이터 편집기
>> 데이터 내보내기
>> 데이터 가져오기
>> 스키마 비교 도구
>> 오브젝트 패널
>> 오브젝트 탐색기
>> 오브젝트 검색
>> 스크립트 생성 도구



쿼리박스 전체 화면

쿼리박스를 설치 한 후 DBMS 로그인을 하면 아래와 같은 화면을 볼 수 있습니다. 상단에는 메뉴와 툴바가 있으며, 그 아래에는 실행된 도구명이 표시되는 ‘실행 도구 목록’ 영역이 있습니다. 오브젝트 패널이 실행되면 항상 화면 왼쪽에 나타나며, 실행된 도구는 화면 가운데 표시됩니다.



tech_img4455.png

쿼리박스 전체 화면
이제부터, 쿼리박스의 다양한 도구들에 대해서 알아보겠습니다.



DBMS 로그인

쿼리박스를 설치 후 처음 실행하면, 아래와 같은 DBMS 로그인 화면이 표시됩니다. 데이터베이스 연결을 위하여 DBMS 로그인 방법부터 확인해 보겠습니다.

tech_img4456.png

DBMS 로그인 전체 화면

DBMS 로그인 화면에서는 현재 7개(Oracle, MSSQL, DB2, Sybase IQ, Sybase ASE, MySQL, MariaDB)의 데이터베이스를 접속할 수 있습니다. 연결정보에서 데이터베이스를 선택하면 각 데이터베이스 별로 접속에 필요한 입력 항목이 표시됩니다.

tech_img4457.png

DBMS 연결 정보 화면

필요한 정보를 입력 후 접속에 성공하면, ‘개인서버목록’에 접속 목록이 표시됩니다. 접속 시, 쿼리박스 이외의 별도의 클라이언트 프로그램 설치나 환경 구성이 필요하지 않아서 접속이 간편합니다.

tech_img4458.png

접속 DBMS 목록

접속 목록에는 데이터베이스 마다 고유 아이콘이 표시되어 구분이 용이합니다. 그리고, 컬럼을 기준으로 그룹핑 기능을 제공하고 있어, 접속 정보가 많을 때 간편하게 그룹핑할 수 있습니다.

그러나, 사용하는 데이터베이스가 한 두 개 일 경우에는 데이터베이스 선택 콤보박스가 불편해 보입니다. 필요한 데이터베이스만 표시할 수 있는 기능이 있으면 조금 더 깔끔할 것 같습니다.



쿼리 편집기

DBMS 접속에 성공하면 쿼리 편집기가 기본으로 실행됩니다. 쿼리 편집기는 SQL 작성이나 쿼리 실행, 실행 계획 보기 및 실행 통계 정보 확인 등을 할 때 사용하는 도구입니다.

tech_img4459.png

쿼리 편집기 전체 화면

쿼리 편집기는 아이콘이 모여있는 도구 툴바와 SQL 작성 및 실행을 위한 편집기, 그리고 쿼리 실행 결과를 볼 수 있는 결과 화면으로 구성되어 있습니다.

tech_img4460.png

쿼리 편집기 툴바

위에 있는 툴바 버튼은 쿼리 실행과 관련된 아이콘이고, 아래에 있는 툴바 버튼은 주로 편집기와 관련되어 있습니다. 편집기 기능은 일반 에디터와 사용법이 비슷하므로, 실행과 관련된 기능 위주로 살펴보겠습니다.



다양한 쿼리 실행 방법

tech_img4461.png

메인 메뉴의 ‘쿼리 편집기’ 메뉴

쿼리 편집기에서 SQL 문장을 실행시키는 방법은 ‘전체 실행’, ‘현 위치부터 실행’, ‘순차 실행’, ‘현재 문장 실행’, ‘선택된 문장 실행’, ‘현재 문장 실행 및 수정’, ‘모든 탭 실행’ 이 있습니다. 실행 결과는 동일하며 용도에 따라 선택하여 사용 할 수 있습니다



현재 문장 실행 및 수정

쿼리 편집기에서 쿼리 실행 결과 편집이 필요할 때는 ‘현재 문장 실행 및 수정’ 버튼을 클릭하면 됩니다.

tech_img4462.png

편집 모드 실행

‘현재 문장 실행 및 수정’을 실행하면 그리드의 위에 편집 관련 툴바가 표시되며, 결과 셀에서 데이터를 직접 편집할 수 있습니다.



실행 계획

쿼리의 튜닝이 필요한 경우, ‘실행 계획’ 버튼을 클릭하면 결과 화면에서 실행 계획이 표시됩니다. 실행 계획에서 트리 항목을 더블 클릭하면 오브젝트에 대한 상세한 통계정보가 화면 오른쪽에 표시됩니다.

tech_img4463.png

실행 계획 결과 화면



컬럼 속성 보기

쿼리를 작성하다 보면, 테이블의 컬럼이 궁금할 때가 있습니다. ‘컬럼 속성 보기’ 기능을 이용하면 쉽게 테이블의 컬럼 정보를 확인할 수 있습니다.

tech_img4464.png

컬럼 속성 보기

편집기에서 테이블 명 위에 커서를 두고 Ctrl 키를 누른 상태에서 마우스를 클릭하거나, 단축키(Alt+C)를 클릭하면 화면의 오른쪽에 컬럼 정보가 표시됩니다.

그 외에도 SQL 기록, 바인드 변수, 문장 자동완성 기능, DBMS Output, 세션 및 실행통계 등의 기능이 지원되므로, 한 번쯤 확인해 보는 것도 좋을 것 같습니다.



PL/SQL 편집기

데이터베이스의 SQL 확장 문법(이하, PL/SQL)을 처리하기 위해서는 PL/SQL 편집기를 사용하면 됩니다.

tech_img4465.png

PL/SQL 편집기 전체 화면

PL/SQL 편집기는 주요 기능으로 PL/SQL 작성, 테스트 실행, 디버그 기능을 제공합니다.

tech_img4466.png

PL/SQL 편집기 툴바

스토어드 프로시저나 함수를 생성하기 위해서는 PL/SQL 편집기에서 문장 작성 후 컴파일 버튼을 클릭합니다. 스토어드 프로시저가 오류 없이 컴파일되면 데이터베이스에 정상적으로 생성됩니다. 정상적으로 생성된 스토어드 프로시저 및 함수는 ‘테스트 실행’을 하여 동작을 확인 할 수 있습니다.

tech_img4467.png

PL/SQL 테스트 실행

‘테스트 실행’ 버튼을 클릭하면 위 화면과 같이, 실행에 필요한 입력 화면이 표시되고, 실행시킨 결과값을 DBMS Output 탭에 보여줍니다. 테스트 실행 시 의도한 대로 결과값이 나오지 않을 때는 디버그 기능을 이용하여 로직을 점검할 필요가 있습니다.

tech_img4468.png

디버깅 결과 화면

디버그를 시작하면 위 화면과 같이, 실행 결과 화면에 ‘호출 스택’, ‘중단점’, ‘파라미터, 변수’ 등을 통해 로직 추적이 가능합니다.



테이블 데이터 편집기

테이블 데이터를 편집할 때는 쿼리 편집기보다 테이블 데이터 편집기가 무척 편리합니다. 테이블 데이터 편집기는 결과 그리드에서 데이터의 추가, 수정, 삭제 기능을 지원합니다.

tech_img4469.png

테이블 데이터 편집기 전체 화면

화면 왼쪽 목록에서 테이블을 선택하면 결과 그리드에서 데이터를 편집할 수 있습니다. 테이블 선택 시 WHERE조건과 ORDER BY를 입력할 수 있어서 데이터를 필터링할 수 있습니다.

tech_img4470.png

데이터 편집 화면

그리드에서 편집된 데이터는 추가, 수정, 삭제에 따라 색상별로 구분되어, 어떤 작업이 이루어 졌는지 쉽게 확인 할 수 있습니다.



데이터 내보내기 / 데이터 가져오기

업무를 하다보면, 테이블의 데이터를 파일로 저장하거나 다른 테이블로 이행하는 경우가 종종 발생합니다. 이 때, 사용하기 편리한 도구가 데이터 내보내기와 데이터 가져오기 입니다.



데이터 내보내기

테이블 데이터를 파일로 저장할 때, 편리하게 사용할 수 있는 도구가 데이터 내보내기 도구입니다. 다중 선택을 지원하므로, 여러 테이블을 내보내기 하고자 할 때 무척 편리하게 사용할 수 있습니다.

tech_img4471.png

데이터 내보내기 전체 화면

대상 선택에서 테이블, 뷰, 사용자 쿼리 3가지 중 하나를 선택한 후 목록에서 대상을 선택합니다.

tech_img4472.png

내보내기 대상 선택

위의 화면과 같이 목록에서 테이블을 선택하고, 필요에 따라 위의 조건 (Where)를 입력할 수 있습니다.

tech_img4473.png

내보내기 결과 화면

내보내기를 시작하면 내보내기 결과 화면에서 선택한 테이블의 진행 상태를 확인할 수 있습니다. 파일 형식으로는 ‘텍스트 파일’, ‘CSV File’, Excel 파일’, ‘SQL 스크립트 파일’ 이 있습니다.



데이터 가져오기

데이터 가져오기는 파일에 있는 데이터를 추출하여 데이터베이스의 테이블로 가져오는 기능입니다. 데이터 내보내기와 함께 사용하면 데이터 이행을 편리하게 할 수 있습니다.

tech_img4474.png

데이터 가져오기 전체 화면

대상 선택 방식은 데이터 내보내기와 유사합니다. 좀 다른 것이 있다면, 가져오기 컬럼 선택 기능입니다. 테이블과 파일의 컬럼을 매칭시키거나, 데이터 가져오기 시 ‘NULL 대체 값’, ‘고정 값’, ‘표현 값’으로 값을 조정할 수 있습니다.

tech_img4475.png

데이터 가져오기 컬럼 설정 화면

데이터 내보내기 및 가져오기는 초보자가 사용하기에 약간 어려움이 있을 것 같습니다. 편리한 마법사 기능이 없는 것이 조금 아쉽습니다만, 현재 기능에 조금 익숙해지면 업무 효율성이나 사용면에서 마법사 기능보다 더 편리할 것 같습니다.



스키마 비교 도구

DB 관리를 하다 보면 개발 DB, 테스트 DB, 운영 DB의 스키마 구조가 달라서 운영에 어려움을 겪는 경우가 있습니다.
이런 경우 스키마 비교 도구를 활용하면 스키마 비교 도구는 오브젝트를 비교하여 서로 다른 형상을 찾아주기 때문에 어느 부분이 다른지 간편하게 확인할 수 있습니다.

tech_img4476.png

스키마 비교 도구 전체 화면

새 스키마 비교 화면에서, 스키마 비교 대상 오브젝트를 선택 후 ‘비교’ 버튼을 클릭하면 스키마 형상 비교가 시작됩니다. 비교가 끝나면 위 화면의 왼쪽에 있는 ‘결과 목록’과 같이 비교 결과를 아이콘으로 표시하고 오브젝트를 선택하면 아래 화면과 같이 비교 결과를 표시해 줍니다.

tech_img4477.png

비교 결과 화면

비교 결과 화면에서는 어느 부분이 서로 다른지 쉽게 확인할 수 있으며, 화면 하단에는 동기화에 필요한 변경 스크립트를 생성해줍니다. 이와 같이 스키마 비교 도구를 이용하면, 오브젝트 간의 어느 부분의 구조가 다른 지 쉽게 확인할 수 있어서 무척 유용한 기능이라 생각됩니다.



오브젝트 패널

접속한 데이터베이스의 오브젝트 상세 정보가 필요하거나 간편한 처리가 필요할 때는, 오브젝트 패널을 이용하면 쉽고 빠르게 작업할 수 있습니다.

오브젝트 패널은 다양한 형태의 보기 스타일을 제공하므로 자신의 스타일에 맞는 것을 골라 쓸 수 있습니다. 필자는 개인적으로 ‘여러 줄 탭 스타일’ 이 사용하기에 편했습니다.

tech_img4478.png

오브젝트 패널 전체 화면
(왼쪽부터 여러 줄 탭 스타일 -> 한 줄 탭 스타일 -> 트리 스타일 -> 콤보박스 스타일)

각 오브젝트 유형 탭에는 스키마 목록이 표시되며, 스키마의 확장 표시를 클릭하면 스키마에 포함된 오브젝트 목록이 표시됩니다.

tech_img4479.png

오브젝트 목록

목록에서 오브젝트를 클릭하면 아래와 같은 속성 화면이 탭으로 구분되어 표시됩니다. 오브젝트와 연관된 정보들을 한눈에 볼 수 있도록, 탭으로 깔끔하게 정리되어 있어 내용 확인이 편리합니다.

tech_img4480.png

오브젝트 속성

오브젝트 목록에서 오브젝트에 마우스 오른쪽 버튼을 클릭하면, 아래와 같은 팝업 메뉴를 확인할 수 있습니다. 각 오브젝트에 해당하는 팝업 메뉴가 표시되어 여러 가지 기능을 사용하기가 쉽습니다. 특히, ‘데이터 보기’와 같은 특정 기능의 경우 쿼리 편집기나 PL/SQL 등 관련된 도구를 실행 시킵니다.

tech_img4481.png

오브젝트 팝업메뉴



오브젝트 탐색기

오브젝트 패널을 사용하다 보면, 화면이 작아서 답답한 경우가 가끔씩 있습니다. 이런 경우에는 오브젝트 패널과 기능이 거의 비슷한 오브젝트 탐색기를 이용하면 됩니다.

tech_img4482.png

오브젝트 탐색기 전체 화면

오브젝트 탐색기는 오브젝트 패널과 거의 동일한 기능을 제공하면서도 화면이 넓기 때문에 오브젝트 패널보다 보기가 편합니다. 그리고, 테이블에서 ‘데이터 탭’이 추가되었기 때문에 쿼리 실행 없이 데이터 보기를 할 수 있습니다.

tech_img4483.png

오브젝트 탐색기 팝업창 보기

그리고, 쿼리박스의 공통된 기능 중에 하나로 실행된 모든 도구는 메인 화면에서 분리할 수 있습니다. 위 화면과 같이 실행된 도구 이름을 마우스 오른쪽 클릭 -> ‘팝업창으로 보기’ 메뉴를 선택하면 화면에서 분리됩니다.



오브젝트 검색

오브젝트 검색 기능은 데이터베이스 내에 숨어있는 오브젝트를 찾을 때 아주 유용한 기능입니다. 오브젝트 명이 기억나지 않거나 프로시저나 함수의 내용 중 일부만 생각날 때 오브젝트 검색 기능을 이용하면 편리하게 검색할 수 있습니다.

tech_img4484.png

오브젝트 검색 전체 화면

검색 옵션으로 오브젝트 이름, 소스 코드, 컬럼 이름과 오브젝트의 상태 등을 선택할 수 있습니다. 검색 결과는 그리드에 표시되며, 목록에서 오브젝트를 선택하면 화면의 하단에서 오브젝트에 대한 상세 정보를 확인할 수 있습니다.



스크립트 생성 도구

스크립트 생성 도구는 데이터베이스에 있는 스키마 구조를 그대로 파일로 만들어주는 기능입니다. 스크립트 생성도구는 '소스 & 내보내기', '오브젝트 유형', '필터' 이렇게 3개의 탭으로 구성 되어 있습니다.

tech_img4485.png

스크립트 생성 도구 전체 화면

소스 & 내보내기 탭에서는 저장할 파일 설정이나 추가할 스크립트를 설정합니다. 오브젝트 유형 탭에서는 스크립트 생성이 필요한 오브젝트 유형을 선택합니다. 마지막 필터 탭에서는 특정 오브젝트나 테이블 스페이스를 필터링 합니다.



마무리

지금까지 멀티 데이터베이스 쿼리 툴인 쿼리박스에 대해서 알아보았습니다.

필자가 쿼리박스 리뷰를 하면서 느낌점은 프로그램 설치가 정말 쉽고, 별도의 설정 없이 데이터베이스 접속이 아주 쉽게 된다는 것이었습니다. 그리고 Windows 와 Mac OS 에서 동일한 UI 와 기능을 제공한다는 점도 매우 만족스러웠습니다. 뿐만 아니라, 하나의 도구에서 여러 데이터베이스를 한번에 관리할 수 있다는 것이 대단히 인상적이었습니다.

다만, DBA 기능이 다른 툴에 비해서 부족한 것이 조금 아쉬움으로 남습니다. DBA 도구 지원과 관련하여 개발사에 문의한 결과, 다행히도 현재 DBA 기능을 개발하고 있으며, 도구 추가는 계속 확대할 예정이라고 합니다. 또한, 현재 지원되지 않고 있는 데이터베이스도 계속 추가 예정이라고 하니 앞으로가 더욱 기대됩니다.

그 동안 고가의 쿼리 툴로 인해 선뜻 사용하기 쉽지 않았던 분들에게는 가뭄에 단비 같은 툴이 될 것 같습니다. 오랜만에 고마운 툴이 나온 것 같아 필자 역시 리뷰 하는 동안 무척이나 반가웠으며 앞으로 계속 발전하기를 기대 해 봅니다.