티스토리 뷰
오라클이 무료로 제공하는 데이터베이스 개발 툴의 리포팅 기능을 활용하는 방법을 소개합니다.
게시일: 2006년 6월
Oracle SQL Developer(구 제품명 Project Raptor)는 오라클이 개발자와 DBA를 위해 제공하는 새로운 멀티플랫폼 그래픽 사용자 인터페이스입니다. Oracle Database 10g Express Edition (XE), Oracle JDeveloper와 마찬가지로 Oracle SQL Developer는 무료로 다운로드할 수 있습니다. Oracle SQL Developer는 Windows, Macintosh, Linux 플랫폼을 지원합니다.
Oracle SQL Developer는 데이터베이스 오브젝트 조작을 위한 그래픽 대화상자, SQL 워크시트, PL/SQL 편집기, 리포팅 등 개발자를 위한 강력한 기능을 제공합니다. Oracle SQL Developer는 Oracle JDeveloper, Java IDE를 기반으로 하고 있으며 직관적인 트리 기반 내비게이션 구조를 구현하고 있습니다.
리포트는 두 가지 방법으로 생성될 수 있습니다. 사전 정의된 표준 데이터 딕셔너리 리포트를 선택하거나 사용자 정의 리포트를 생성하는 것이 가능합니다. Oracle SQL Developer 리포트는 바인드 변수와 드릴다운 리포팅을 지원합니다.
리포트를 생성하기 위해 먼저 Oracle SQL Developer를 실행합니다. 데이터베이스에 연결하고, Reports 탭을 클릭합니다. Reports 심볼 옆에 있는 플러스 기호( + )를 클릭하고 다시 Data Dictionary Reports 옆의 플러스 기호를 클릭합니다. 지금은 User Defined Reports 아이템을 무시하고 진행합니다.
트리-뷰 내비게이션은 폴더/파일의 개념으로 동작합니다. 예를 들어 Data Dictionary Reports 디렉토리는 Reports 폴더의 서브폴더이며 내비게이션 관점에서는 Reports->Data Dictionary Reports로 표시됩니다.
오라클 기본 제공 리포트
(참고: 실행할 리포트를 선택한 경우 Select Connection 대화상자가 표시될 수 있습니다. 연결을 선택한 후 OK를 클릭합니다.)
Data Dictionary Reports 폴더는 오라클이 기본적으로 제공하는 사전정의 리포트의 목록을 저장하고 있습니다. 표준 리포트 중 하나를 선택해 보기로 합시다. 필자가 업무에 유용하게 사용하는 리포트의 목록이 아래와 같습니다. 목록에서 여러분에게 유용한 리포트가 있는지 확인해 보시기 바랍니다.
All Parameters 리포트(Reports->Data Dictionary Reports->Database Administration->Database Parameters->All Parameters)는 모든 데이터베이스 초기화 매개변수의 목록을 표시합니다.
리포트를 클릭하면 자동으로 실행됩니다. 일부 리포트의 경우 Enter Bind Values 대화상자를 통해 매개변수를 입력해 주어야 할 수 있습니다. 바인드 변수에 대해서는 나중에 설명하겠습니다. 리포트를 실행하려면 Apply를 선택합니다.
“Free Space report—Reports->Data Dictionary Reports->Database Administration->Storage->Free Space”를 선택하여 각 테이블스페이스의 여유 공간을 확인할 수 있습니다.
액티브 세션 리포트(Reports->Data Dictionary Reports->Database Administration->Sessions->Active Sessions)는 데이터베이스의 모든 액티브 세션을 표시합니다. 이 리포트를 사용하여 누가 로그인 했는지, 그리고 각 세션의 상세 정보를 확인할 수 있습니다.
Top SQL 노드(Reports->Data Dictionary Reports->Database Administration->Top SQL->*)에 위치한 리포트들은 어느 것 하나 빼놓을 것 없이 유용합니다. 필자는 이 리포트를 이용하여 시스템의 전반적인 상태를 확인하고, CPU 또는 IO를 기준으로 Top SQL 리스트를 조회하곤 합니다.
User Tables 리포트(Reports->Data Dictionary Reports->Table->User Tables)는 정확한 테이블명 또는 컬럼명을 기억하지 못한 경우에 유용합니다.
Quality Assurance 리포트(Reports->Data Dictionary Reports->Table->Quality Assurance->*)는 개발 과정에서 활용도가 높습니다. 필자는 DDL 구문을 직접 작성하는 과정에서 인덱스 또는 키를 빠뜨리는 실수를 방지하기 위해 이 리포트를 사용합니다.
PL/SQL 검색 리포트(Reports->Data Dictionary Reports->PL/SQL Search Source Code)는 시간 절약에 많은 도움이 됩니다. 오브젝트 이름 또는 소스 텍스트 문자열을 기준으로 검색을 수행할 수 있습니다.
이제 이 리포트에서 사용되는 SQL 코드를 살펴보기로 합시다. 앞에서 설명한 방법으로 리포트를 실행합니다. Reports 창의 리포트 데이터 상단에 세 개의 버튼(붉은색 핀, 초록색 삼각형, 사각형에 둘러싸인 SQL 텍스트)이 있습니다. 세 번째 SQL 버튼은 리포트에서 SQL을 복사하여 SQL 워크시트에 붙여 넣는데 사용됩니다. SQL 버튼을 클릭합니다.
결과로 표시된 SQL 구문에서 몇 가지 팁을 얻을 수 있습니다. 여기서 얻은 팁을 사용자 정의 리포트를 생성하는데 활용하시기 바랍니다.
드릴다운 리포트
Oracle SQL Developer 리포트의 중요한 기능의 하나로 드릴다운(drill-down)을 꼽을 수 있습니다. 이것은 필자가 Oracle SQL Developer에서 가장 선호하는 기능이기도 합니다. 사용자 정의 드릴다운 리포트를 직접 작성하는 방법은 뒷부분에서 설명하기로 합니다.
Reports->Data Dictionary Reports->Table->User Tables 리포트를 실행하여 스키마 내의 모든 테이블 목록을 표시합니다. 리포트 실행이 완료된 후 리포트 결과 화면의 로우 중 하나를 더블클릭 합니다.
해당 테이블에 대한 상세 정보를 포함하는 새로운 탭이 표시됩니다. 여기세 테이블의 컬럼 정의를 확인하실 수 있습니다. 데이터 창에는 두 개의 탭(방금 실행한 리포트를 위한 탭과 드릴다운 오브젝트를 위한 탭)이 존재합니다. 다른 리포트를 실행하고 임의의 로우를 더블클릭 합니다.
드릴다운 기능은 Navigator(Connections 탭 하위) 노드 밑에 존재하는 모든 노드에 대해 동작합니다. All Parameters 리포트를 더블클릭 하면 (Connections 하단에 Parameter 노드가 존재하지 않으므로) 아무런 결과도 표시되지 않을 것입니다.
드릴다운 기능이 Navigator 노드 하위 아이템에 대해서만 동작하기 때문에, 사용자 정의 리포트에서 드릴다운 기능을 활용하는데 다소간의 제약이 있을 수 있습니다. Oracle SQL Developer가 모든 노드에 대해 드릴다운 기능을 제공할 수 있게 된다면, 매우 유용한 기능으로 활용할 수 것입니다.
하지만 현재로서 드릴다운 기능은 딕셔너리 리포트에서 주로 활용됩니다. 작성 중인 리포트에 드릴다운을 추가하려면, 쿼리에 아래와 같이 3 개의 컬럼만 추가해 주면 됩니다.
위 그림에서 OBJECT_OWNER는 sdev_link_owner, OBJECT_NAME은 sdev_link_name, OBJECT TYPE은 sdev_link_type으로 정의되었습니다.
위와 동일한 앨리어스(alias)를 사용하여 3 개의 아이템을 추가하면, Oracle SQL Developer는 더블클릭 시 자동으로 드릴다운을 실행합니다. 다시 강조하지만 현재 버전에서 드릴다운 기능은 Navigator 창의 노드에 대해서만 지원됩니다.
간단한 사용자 리포트
참고: 필자가 사용하는 코드 예제는 모두 Oracle Database XE 환경의 SYSTEM, HR 스키마를 이용하고 있습니다. Oracle Database XE 데이터베이스 환경의 사용자라면 필자의 예제를 쉽게 따라 할 수 있을 것입니다. Oracle Database XE 데이터베이스가 설치되어 있지 않은 경우라면, 환경에 따라 다른 테이블을 사용해야 할 수도 있습니다. Oracle Database XE는 OTN에서 무료로 다운로드할 수 있습니다.
이제 간단한 리포트를 생성해 보기로 합시다. HR@XE로 로그인합니다. 내비게이터의 마지막 노드(User Defined Reports)를 클릭합니다. 확장된 노드를 마우스 오른쪽 버튼으로 클릭하면 여러 가지 옵션(Add Folder, Add Report, Delete, Copy, Cut, Paste)을 포함하는 컨텍스트 메뉴가 표시됩니다.
Oracle SQL Developer는 내비게이션을 위한 트리 구조를 제공합니다. 사용자정의 리포트 역시 동일한 구조를 이용하여 논리적으로 그룹핑하는 것이 권장됩니다. 아래 그림처럼 애플리케이션 단위로 그룹을 생성하는 것도 가능합니다. 또는 애플리케이션 이름이 아닌 다른 분류 기준을 정할 수도 있겠지만, User Defined Reports 노드 아래에 모든 리포트를 몰아넣는 것만큼은 피하는 것이 좋습니다.
Add Folder를 선택하여 새로운 폴더를 생성합니다. 이 폴더의 이름을 Employee Reports로 설정하기로 합시다. Description에는 설명으로 참조할 만한 문구를 입력합니다. ToolTip 텍스트는 내비게이터의 해당 아이템 위로 마우스를 가져가는 경우 표시됩니다. Apply를 클릭하여 저장합니다.
Employee Reports를 마우스 오른쪽 버튼으로 클릭합니다. 컨텍스트 메뉴에 Edit이 추가된 것을 볼 수 있습니다. Edit을 선택하고 편집 작업을 수행한 후 Apply를 클릭하여 저장합니다.
다시 마우스 오른쪽 버튼을 클릭하고 Add Report를 선택합니다. 리포트 이름은 “Number of Employees by Department”로 설정합니다. Description, ToolTip에는 임의의 텍스트를 입력합니다. SQL 박스에 아래 쿼리를 입력합니다:
Select department_id, count(*)
From Employees
Group By department_id
Apply를 클릭하여 저장합니다.
Employee Reports 노드 옆의 플러스 기호를 클릭하고 새로 생성한 리포트를 클릭합니다. 이때 Select Connection 대화상자가 표시될 수 있습니다. 대화상자에서 HR 연결을 선택하고 OK를 클릭합니다.
이제 첫 번째 사용자 정의 리포트를 성공적으로 생성하였습니다. 이 보고서에서 department ID 대신 department name을 표시하도록 다듬는다면 좀더 유용하게 활용할 수 있을 것입니다. 리포트를 마우스 오른쪽 버튼으로 클릭하고 표시된 컨텍스트 메뉴(Open, Open New Window, Edit, Show Properties)에서 Edit을 선택합니다.
department name이 표시되도록 쿼리를 변경합니다:
Select d.department_name, count(*) From Employees e Join Departments d On (e.department_id = d.department_id) Group By d.department_name
Apply를 클릭하여 저장하고 리포트를 재실행합니다.
리포트를 조금 더 다듬어 봅시다. 리포트를 마우스 오른쪽 버튼으로 클릭하고 Copy를 선택합니다. 다시 마우스 오른쪽 버튼을 클릭하면 Paste가 옵션으로 표시되지 않음을 확인할 수 있습니다. Employee Repots를 마우스 오른쪽 버튼으로 클릭합니다. 이제는 리포트를 붙여넣기 할 수 있습니다. 새로운 리포트(뒷부분의 괄호에 숫자가 표시된 리포트)를 마우스 오른쪽 버튼으로 클릭하고 Edit를 선택합니다. 쿼리를 아래와 같이 변경합니다:
Select e.Last_Name, e.First_name, d.department_name, count(*) over (partition by d.department_name) dept_count, count(*) over () From Employees e Join Departments d On (e.department_id = d.department_id)
리포트를 실행합니다. 이제 정말로 유용한 리포트가 만들어졌습니다. 직원의 이름, 부서명, 부서의 직원 수, 전체 부서의 직원 수 등이 표시된 리포트가 생성되었습니다.
리포트의 유용성을 극대화하기 위해서는 다이내믹 리포트 생성이 지원되어야 합니다. 바인드 변수를 사용하면 실행 시점에 리포트 쿼리를 다이내믹하게 변경하는 것이 가능합니다. Oracle SQL Developer 1.0 이전 버전은 바인드 변수를 이용한 사용자 정의 리포트 기능을 직접적으로 지원하지 않았지만, SQL Developer User Information Directory에 위치한 UserReports.xml 파일을 수정하여 바인드 변수를 추가할 수는 있었습니다. 버전 1.0은 훨씬 단순화된 바인드 변수 지원 기능을 제공합니다.
이제 리포트에 마지막 변경 사항을 추가해 봅시다. 바인드 변수를 이용하여 사용자가 부서명(전체 또는 일부분)을 입력하거나 null 상태로 쿼리를 실행하여 전체 부서에 대한 리포트를 생성하는 기능을 구현해 보겠습니다. SQL 구문을 아래와 같이 수정합니다:
Select e.Last_Name, e.First_name, d.department_name, count(*) over (partition by d.department_name) dept_count, count(*) over () From Employees e Join Departments d On (e.department_id = d.department_id) Where (:dept_name is null or d.department_name = :dept_name)
리포트를 실행하면 바인드 변수 입력 화면이 표시됩니다. 임의의 값을 입력해 봅니다.
복잡한 형태의 리포트
User Defined Reports 노드에 새로운 폴더를 생성합니다. 이 폴더에는 여러분이 직접 생성한 Data Dictionary 리포트를 저장하게 됩니다. 폴더의 이름은 “User Data Dictionary”로 설정합니다
이제 Recycle Bin에 있는 모든 오브젝트의 목록과, 이 오브젝트들에 의해 사용되는 디스크 공간을 표시하는 리포트를 생성해 보겠습니다. 이 리포트는 4GB의 디스크 공간 제한을 갖는 Oracle Database XE 환경에서 특히 유용하게 활용됩니다.
이 리포트를 실행하기 위해서는 SYS.DBA_OBJECTS, SYS.DBA_SEGMENTS, SYS.DBA_RECYCLEBIN 데이터베이스 오브젝트에 대한 액세스 권한을 가지고 있어야 합니다. 필자는 SYSDBA 계정을 이용하여 이 리포트를 실행합니다.
새로운 사용자 정의 리포트를 생성하고 이름을 Recycled Objects로 설정합니다. Description, ToolTip에는 임의의 정보를 입력합니다. 쿼리를 아래와 같이 편집합니다:
select ao.owner, ao.object_type, ar.original_name, ao.object_name recycled_name, ar.droptime, ds.bytes/1024/1024 "Megabytes", ao.owner sdev_link_owner, ao.object_name sdev_link_name, ao.object_type sdev_link_type from sys.dba_objects ao, sys.dba_segments ds, sys.dba_recyclebin ar where ao.object_name like 'BIN$%' and ao.owner = ds.owner and ao.object_name = ds.segment_name and ar.object_name = ao.object_name and ((ao.subobject_name is null AND ds.partition_name IS NULL) or ao.subobject_name = ds.partition_name) and ((:original_name is null or ar.original_name = :original_name) AND (:object_type is null or ao.object_type = :object_type))
이 리포트는 SDEV_LINK_OWNER, SDEV_LINK_NAME, SDEV_LINK_TYPE 앨리어스를 포함하고 있으며, 따라서 참조된 아이템에 대한 드릴다운이 가능합니다. 이 리포트에서는 RECYCLEBIN의 각 아이템에 대한 상세 정보를 얻기 위해 드릴다운 기능이 사용됩니다. SDEV_LINK_NAME을 ao.object_name에서 ar.original_name으로 변경한 경우, (기존 아이템이 존재하는 경우) 기존 아이템에 대한 드릴다운이 가능합니다. 또 모드 변환이 가능하도록 리포트를 수정할 수도 있습니다.
SDEV_LINK_NAME 라인을 아래와 같은 상태에서,
ao.object_name sdev_link_name,
아래와 같이 변경합니다.
decode( :original_or_recycle, 1, ar.original_name, ao.object_name) sdev_link_name,
이제 리포트를 실행한 뒤 모드 변경을 수행하지 않으면 Recycled Object에 대한 드릴다운을 결과를 얻게 되고, original_or_recycle 변수를 1로 변경하면 (기존 오브젝트가 존재하는 경우) 기존 오브젝트에 대한 드릴다운을 수행할 수 있습니다.
이 기능을 이용하면 Oracle SQL Developer에서 매우 유용한 드릴다운 리포트를 생성할 수 있습니다. 커스텀 쿼리에 대한 드릴다운 기능까지 추가된다면 그 활용도는 실로 무한할 것입니다! OTN Oracle SQL Developer 포럼(http://forums.oracle.com/forums/forum.jspa?forumID=260 ) 에 방문하셔서 커스텀 쿼리 드릴다운의 필요성을 오라클에 전달해 주시기 바랍니다!original_or_recycle 변수를 변경하는 것 이외에도, 오브젝트 타입, 기존 오브젝트 네임 등을 기준으로 반환되는 값을 제한할 수 있습니다. 이 쿼리의 마지막 4개 라인은 바인드 변수를 생성하는데 사용됩니다. 바인드 변수는 위에서 자세히 설명되었으므로, 여기서 다시 설명하지는 않도록 하겠습니다.
또 엔드 유저가 확인하는 바인드 변수 대화상자에 설명을 추가할 수 있다면 도움이 될 것입니다. 특히 original_or_recycle 변수를 다른 사용자들이 사용하기 위해서는 충분한 설명이 필요할 것입니다.
앞에서 Oracle SQL Developer 1.0 이전 버전에서 UserReports.xml 파일을 편집하여 바인드 변수를 추가할 수 있다고 설명한 바 있습니다. 같은 방법을 이용하여 1.0 버전에서 바인드 변수 기능을 확장할 수 있습니다. 설명을 위한 텍스트를 추가하거나, 프롬프트를 변경하건, 디폴트 값을 할당하는 작업 등이 가능합니다. 설명을 위한 텍스트를 추가하는 방법이 아래와 같습니다:
내비게이션 대상이 되는 OS 디렉토리를 “SQL Developer User Information Directory”라 부릅니다. MS Windows 환경에서는 C:Documents and Settings가 이에 해당합니다. 이 디렉토리에서 사용자가 로그인에 사용한 계정을 선택합니다. 예를 들어 Icunning으로 로그인했다면, C:->Documents and Settings->lcunning 디렉토리로 이동합니다. 이 디렉토리에서 다시 .sqldeveloper 디렉토리로 이동합니다. (따라서 현재 위치는 C:->Documents and Settings->lcunning->.sqldeveloper 디렉토리가 됩니다.)
Linux에서는 홈 디렉토리에 .sqldeveloper 디렉토리가 위치합니다. 따라서 $HOME이 /home/lcunning으로 설정되어 있다면 UserReports.xml은 /home/lcunning/.sqldeveloper에 위치합니다.
.sqldeveloper 디렉토리에는 최소한 두 개의 파일이 존재합니다. 그 중 하나인 UserReports.xml은 사용자 정의 리포트를 저장하고 있습니다. 임의의 XML 편집기를 이용하여 이 파일을 열어 볼 수 있습니다.
참고: UserReports.xml 파일을 편집하기 전에 반드시 백업을 수행합니다! XML 문법이 잘못된 경우, 백업 파일을 복구하여 다시 처음부터 시작해야 합니다.
XML 문서는 아래와 같은 포맷으로 작성되어 있습니다:
<reports> <folder> <name></name> <description></description> <report enabled="true"> <name></name> <description></description> <tooltip></tooltip> <query> <sql></sql> </query> </report> </folder> </reports>
이 포맷은 안에서 밖으로(SQL 쿼리 -> 폴더 -> 리포트 문서) 읽을 수도 있고, 밖에서 안으로(리포트 문서 -> 폴더 -> SQL 쿼리) 읽을 수도 있습니다. 각각의 리포트는 name, description, tooltip, query 등의 속성을 포함하고 있습니다. 쿼리는 SQL 구문으로 작성됩니다.
변경 작업은 쿼리 노드에서 수행하게 됩니다. <query> 노드 안의 <sql> 노드 바로 뒤에 <binds> 노드를 추가합니다.
<binds> <bind id=""> <type></type> <prompt></prompt> <value></value> <tooltip></tooltip> </bind> </binds>
바인드 태그의 id 속성은 바인드 변수의 이름을 의미합니다. 이 방법을 사용하여 바인드 변수를 정의하고자 한다면, 모든 바인드 변수에 대해 동일한 방법(UserReports.xml 파일 편집)을 사용해야 합니다.
바인드 변수에 디폴트 값을 설정하고자 하는 경우, <value> 엘리먼트를 이용합니다.
ToolTip은 사용자에게 추가적인 정보를 제공하고자 하는 경우에 이용됩니다. original_or_recycle, original_name, object_type 변수를 아래와 같이 정의합니다.
<binds> <bind id="original_or_recycle"> <type><![CDATA[null</type> <prompt><![CDATA[original_or_recycle</prompt> <value><![CDATA[NULL_VALUE</value> <tooltip><![CDATA[Enter 1 to drill down to the original object, otherwise leave it null</tooltip> </bind> <bind id="original_name"> <type><![CDATA[null</type> <prompt><![CDATA[original_name</prompt> <value><![CDATA[NULL_VALUE</value> <tooltip><![CDATA[Enter the original name</tooltip> </bind> <bind id="object_type"> <type><![CDATA[null</type> <prompt><![CDATA[object_type</prompt> <value><![CDATA[NULL_VALUE</value> <tooltip><![CDATA[Enter an object type</tooltip> </bind> </binds>
![CDATA ]] 텍스트는 XML 파서가 [ ] 기호 안의 문자열을 처리하지 않도록 설정하는데 이용됩니다. XML 구문에 익숙하지 않은 개발자라면, 반드시 이 기호를 사용하여 문자열을 보호하도록 해야 합니다.
설명을 위한 텍스트와 디폴트 값의 설정 기능은 그 활용 가치가 매우 높으며, 앞으로도 오라클에 의해 많은 기능 개선이 이루어질 것으로 기대가 되는 부분입니다. (커스터마이즈 기능은 현 버전에도 존재하고 있지만, 이를 활용하기 위한 인터페이스가 제공되고 있지 않은 것이 문제입니다.)
UserReports.xml 파일의 수정 작업을 완료했다면, Oracle SQL Developer를 종료하고 다시 시작합니다. 그런 다음 리포트를 실행합니다. 아래와 같은 스크린을 확인할 수 있습니다.
리포트의 공유
사용자 정의 리포트를 고객, 동료, 또는 다른 Oracle SQL Developer 사용자와 공유하고자 하는 경우, UserReports.xml 파일을 다른 사용자의 SQL Developer User Information Directory 디렉토리에 복사하면 됩니다.
공유할 필요가 없는 리포트가 존재하는 경우에는 해당 리포트의 <report>... </report> 텍스트를 삭제합니다 (변경 작업 이전에 파일을 백업하는 것을 잊지 마시기 바랍니다!)
리포트 데이터의 익스포트
리포트를 실행한 후 데이터 그리드를 마우스 오른쪽 버튼으로 클릭하면 컨텍스트 메뉴가 표시됩니다. 이 컨텍스트 메뉴에서는 Export 옵션만을 선택할 수 있습니다. Export를 선택하면 CSV, XML, Insert, Loader, Text 등의 메뉴가 다시 표시됩니다. 이 메뉴에서 리포트 데이터의 익스포트 포맷(export format)을 설정할 수 있습니다. 옵션 중 하나를 선택하면 아래와 같은 대화상자가 표시됩니다.
- CSV는 “comma-separated values”의 약자로 데이터를 스프레드시트(또는 Oracle Application Express)에 익스포트하는 경우 사용됩니다.
- XML은 XML 문서를 의미합니다.
- INSERT 옵션은 데이터 셋의 각 레코드를 위한 INSERT 구문을 생성합니다.
- LOADER 옵션은 SQL*Loader 데이터 컨트롤 파일을 생성합니다.
- TXT 옵션은 탭으로 구분된 텍스트 파일을 생성합니다.
대화상자의 Columns 탭을 이용하면 익스포트 파일에 포함시킬 컬럼을 선택할 수 있습니다. 또 Where 탭은 출력 파일에 포함되는 레코드의 조건절을 생성하는데 활용됩니다.
Move Over, SQL*Plus
Oracle SQL Developer는 모든 오라클 개발자들이 반드시 사용해야 하는 도구의 하나입니다. Oracle SQL Developer는 개발자의 SQL, PL/SQL 개발 작업을 지원할 뿐 아니라, 사용자 정의 리포트를 생성하기 위한 매우 유용한 기능을 제공합니다.
Oracle SQL Developer를 이용하면 커스텀 리포트를 쉽게 생성할 수 있으며, 변수 입력 대화상자, 드릴다운 리포트와 같은 부가적인 기능을 함께 활용 가능합니다. 오라클 데이터베이스에 자주 접근하는 사용자라면 한 번쯤 Oracle SQL Developer를 다운로드해서 활용해 볼 필요가 있습니다.'Database' 카테고리의 다른 글
[ORACLE] 9i설치후 8080 포트 사용하는 것 바꾸기, xdb 관련 (0) | 2007.08.30 |
---|---|
[ORACLE] 오라클 tip 몇가지 (0) | 2007.08.30 |
[ORACLE] 오라클 죽이고 살리고 @_@;; (0) | 2007.08.30 |
DB별 JDBC연결방법 정리 (0) | 2007.08.30 |
[oracle] ORA-000031, 000054 오류 해결책 (0) | 2007.08.29 |
- Total
- Today
- Yesterday
- select
- 리눅스
- 서버
- eclipse
- 백업
- Shell
- Windows
- apache
- DB
- 자동차
- Toad
- user
- 윈도우
- 테이블
- Oracle
- table
- sql
- 설정
- Linux
- 파일
- 데이터
- DATABASE
- java
- 오라클
- MySQL
- mssql
- server
- delete
- IP
- tomcat
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |