KR100797548B1 - 데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을구현하기 위한 시스템 - Google Patents

데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을구현하기 위한 시스템 Download PDF

Info

Publication number
KR100797548B1
KR100797548B1 KR1020060023119A KR20060023119A KR100797548B1 KR 100797548 B1 KR100797548 B1 KR 100797548B1 KR 1020060023119 A KR1020060023119 A KR 1020060023119A KR 20060023119 A KR20060023119 A KR 20060023119A KR 100797548 B1 KR100797548 B1 KR 100797548B1
Authority
KR
South Korea
Prior art keywords
monitoring
database
file
java
disk
Prior art date
Application number
KR1020060023119A
Other languages
English (en)
Other versions
KR20070093233A (ko
Inventor
조규홍
손관헌
Original Assignee
주식회사 진두아이에스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 진두아이에스 filed Critical 주식회사 진두아이에스
Priority to KR1020060023119A priority Critical patent/KR100797548B1/ko
Publication of KR20070093233A publication Critical patent/KR20070093233A/ko
Application granted granted Critical
Publication of KR100797548B1 publication Critical patent/KR100797548B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01DHARVESTING; MOWING
    • A01D34/00Mowers; Mowing apparatus of harvesters
    • A01D34/01Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus
    • A01D34/412Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters
    • A01D34/42Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a horizontal axis, e.g. cutting-cylinders
    • A01D34/43Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a horizontal axis, e.g. cutting-cylinders mounted on a vehicle, e.g. a tractor, or drawn by an animal or a vehicle
    • A01D34/44Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a horizontal axis, e.g. cutting-cylinders mounted on a vehicle, e.g. a tractor, or drawn by an animal or a vehicle with two or more cutters
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01DHARVESTING; MOWING
    • A01D34/00Mowers; Mowing apparatus of harvesters
    • A01D34/01Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus
    • A01D34/412Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters
    • A01D34/42Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a horizontal axis, e.g. cutting-cylinders
    • A01D34/54Cutting-height adjustment
    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01DHARVESTING; MOWING
    • A01D34/00Mowers; Mowing apparatus of harvesters
    • A01D34/01Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus
    • A01D34/412Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters
    • A01D34/42Mowers; Mowing apparatus of harvesters characterised by features relating to the type of cutting apparatus having rotating cutters having cutters rotating about a horizontal axis, e.g. cutting-cylinders
    • A01D34/62Other details

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Environmental Sciences (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을 구현하기 위한 시스템에 관한 것으로서, 더욱 상세하게는 데이터베이스의 로그 파일 등을 분석하여 데이터베이스의 장애 또는 성능을 관리할 수 있는 데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을 구현하기 위한 시스템에 관한 것이다. 본 발명은 로그파일 모니터링부를 구비하는 모니터링 단말기와, 자바 저장 프로시저, 자바 메소드, 및 서버레벨 모니터링부를 구비하는 데이터베이스 서버를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템이 데이터베이스의 장애 및 성능을 모니터링하는 방법으로서, (a) 상기 모니터링 단말기의 상기 로그파일 모니터링부가 상기 데이터베이스 서버의 상기 자바 저장 프로시저를 호출하면, 상기 자바 저장 프로시저가 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계; (b) 상기 자바 메소드가 상기 서버레벨 모니터링부에 로그파일을 요청하면, 상기 서버레벨 모니터링부가 로그파일을 상기 로그파일 모니터링부로 전송하는 단계; 및, (c) 상기 로그파일 모니터링부가 디스플레이에 상기 로그파일을 표시하는 단계를 포함한다.
본 발명에 따르면, 자바 저장 프로시저 및 자바 메소드를 이용하여 안정하고 안전하게 데이터베이스 서버로부터 데이터베이스 모니터링에 관한 정보를 획득할 수 있을 뿐만 아니라, O/S 또는 네트워크의 변경에 전혀 영향을 받지 않는 데이터베이스의 장애 및 성능 시스템을 구축할 수 있다.
데이터베이스, 모니터링, 자바

Description

데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을 구현하기 위한 시스템{METHOD FOR MONITERING FAULT AND PERFORMANCE OF DATABASE, AND SYSTEM FOR IMPLEMENTING THE SAME}
도 1은 본 발명에 따른 데이터베이스의 장애 및 성능 모니터링 시스템의 구성도.
도 2는 본 발명의 제1 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법의 순서도.
도 3 및 도 4는 본 발명의 제1 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법에 따라 표시될 수 있는 화면의 일 예.
도 5는 본 발명의 제2 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법의 순서도.
도 6은 본 발명의 제2 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법에 따라 표시될 수 있는 화면의 일 예.
도 7은 본 발명의 제2 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법 중 세션 모니터링의 경우의 순서도.
도 8은 본 발명의 제3 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법의 순서도.
도 9 및 도 10은 본 발명의 제3 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법에 따라 표시될 수 있는 화면의 일 예 및 다른 예.
도 11은 본 발명의 제3 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법 중 테이블스페이스 모니터링의 경우의 순서도.
본 발명은 데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을 구현하기 위한 시스템에 관한 것으로서, 더욱 상세하게는 데이터베이스의 로그 파일 등을 분석하여 데이터베이스의 장애 또는 성능을 관리할 수 있는 데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을 구현하기 위한 시스템에 관한 것이다.
일반적으로, 데이터베이스를 구성하고 이를 응용하기 위하여 데이터베이스 관리 시스템(DBMS: DataBase Management System)이라는 소프트웨어가 사용되는데, 대체적으로 미국 오라클 사의 관계 데이터베이스 관리 시스템(RDBMS)인 '오라클'이 많이 이용되고 있다.
종래에는, 데이터베이스 관리자가 데이터베이스 시스템을 모니터링하기 위해서는, 관리자가 직접 터미널(Terminal)에서 텔넷(Telnet)이나 알로그인(rlogin) 등을 통해 데이터베이스 시스템에 수동으로 접속을 하여야 했다. 그런 다음, 관리자가 수작업으로 O/S 명령어를 입력함으로써 경로 로그(alert log) 파일을 통해 직접 장애 메시지를 확인하여야 하는 등, 모든 과정이 수작업에 의해 이루어져야 하기 때문에 매우 번거롭고 불편한 문제점이 있었다.
이러한, 수작업에 의한 불편함을 해소하기 위한 노력의 일환으로, 에이전트 방식의 데이터베이스 모니터링 방법이 제안되었다. 에이전트 방식의 데이터베이스 모니터링 방법이란, 데이터베이스 서버에 에이전트 프로그램을 설치한 후, 에이전트 프로그램을 역할별로 각각 구동되도록 한다. 데이터베이스 서버를 모니터링하기 위해 터미널 상에서 소켓을 오픈하여 데이터베이스 시스템에 접근하도록 하는데, 보통 웹기반의 HTTP 프로토콜을 통해 통신하게 된다.
이러한 종래의 에이전트 방식의 데이터베이스 모니터링 방법에서의 에이전트 프로그램은 이미 컴파일된 실행 모듈로서 사용자 서버 환경(라이브러리 버전, O/S 버전, 패치 버전 등)이 적합하지 않을 경우 예상치 못한 문제나 버그가 발생할 수 있다. 따라서, 이러한 에이전트 프로그램이 데이터베이스 서버에 설치되기 때문에, 에이전트 프로그램이 데이터베이스 서버의 타 응용 프로그램에 영향을 미칠 수 있기 때문에 데이터베이스 서버가 매우 불안정해지는 문제점이 있다. 뿐만 아니라, 에이전트 프로그램이 데이터베이스 서버에 설치되는 방식이기 때문에, 데이터베이스 성능에 영향을 미칠 수도 있다.
한편, 데이터베이스를 모니터링하기 위해 데이터베이스 서버에 접근하는데 있어서, 잘 알려진 웹기반의 HTTP 프로토콜을 사용하는 데, 비인가자의 접근이 용이하기 때문에, 보안에 취약한 문제점이 있다.
다른 한편, O/S 또는 네트워크를 변경하거나 데이터베이스를 업그레이드 하는 경우, 에이전트 프로그램의 환경을 재설정하거나 관리해야하는 불편함이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, 자바 저장 프로시저 및 자바 메소드를 이용하여 안정하고 안전하게 데이터베이스 서버로부터 데이터베이스 모니터링에 관한 정보를 획득할 수 있는 데이터베이스의 장애 및 성능 모니터링 방법 및 그 방법을 구현하기 위한 시스템을 제공하는 데 그 목적이 있다.
본 발명의 또 다른 목적은 O/S 또는 네트워크의 변경에 전혀 영향을 받지 않는 데이터베이스의 장애 및 성능 시스템을 구축할 수 있는 데이터베이스의 장애 및 성능 모니터링 방법 및 그 방법을 구현하기 위한 시스템을 제공하는 데 있다.
상기와 같은 목적을 달성하기 위하여 본 발명에 따른 데이터베이스의 장애 및 성능을 모니터링하는 방법은 로그파일 모니터링부를 구비하는 모니터링 단말기와, 자바 저장 프로시저, 자바 메소드, 및 서버레벨 모니터링부를 구비하는 데이터베이스 서버를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템이 데이터베이스의 장애 및 성능을 모니터링하는 방법으로서, (a) 상기 모니터링 단말기의 상기 로그파일 모니터링부가 상기 데이터베이스 서버의 상기 자바 저장 프로시저를 호출하면, 상기 자바 저장 프로시저가 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계; (b) 상기 자바 메소드가 상기 서버레벨 모니터링부에 로그파일을 요청하면, 상기 서버레벨 모니터링부가 로그파일을 상기 로그파일 모니터링부로 전송하는 단계; 및, (c) 상기 로그파일 모니터링부가 디스플레이에 상기 로그파일을 표시하는 단계를 포함한다.
바람직하게는, 상기 (a) 단계는, 상기 자바 저장 프로시저가 데이터 딕셔너리에서 로그파일의 위치를 참조하고 상기 데이터 딕셔너리의 콜스팩을 통해 여 상기 자바 메소드를 실행시키는 단계이다.
바람직하게는, 상기 로그파일은 경고 로그파일 및 추적 로그파일을 포함하고, 상기 경고 로그파일은, 데이터베이스 환경에 영향을 주는 작업 또는 장애 발생 유무를 확인할 수 있는 정보이고, 상기 추적 로그파일은, 데이터베이스의 장애에 대한 문제의 원인을 분석할 수 있는 정보이다.
바람직하게는, 상기 경고 로그파일은, 데이터베이스 관리시스템의 내부 에러 메시지, 데이터베이스의 구조 변경이나 파라미터에 영향을 주는 작업에 관한 정보, 및 데이터베이스의 초기화 파라미터값을 포함하고, 상기 추적 로그파일은, 초기화 파라미터에서 지정하는 디렉토리에 저장되는 파일이다.
바람직하게는, 상기 초기화 파라미터에서 지정하는 디렉토리는, 사용자 프로세스에 의해 생성되는 추적파일의 경우 udump이고, 데이터베이스 관리시스템에 의해 생성된 추적파일의 경우 bdump이고, 코어 파일의 경우 cdump이다.
본 발명의 또 다른 측면에 따르면, 세션 및 프로세스 모니터링부를 구비하는 모니터링 단말기와, 자바 저장 프로시저, 자바 메소드, 및 서버레벨 모니터링부를 구비하는 데이터베이스 서버를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템이 데이터베이스의 장애 및 성능을 모니터링하는 방법으로서, (a) 상기 모니터링 단말기의 상기 세션 및 프로세스 모니터링부가 상기 데이터베이스 서버의 상기 자바 저장 프로시저를 호출하면, 상기 자바 저장 프로시저가 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계; (b) 상기 자바 메소드가 상기 서버레벨 모니터링부에 세션 및 프로세스에 관한 파일을 요청하면, 상기 서버레벨 모니터링부가 세션 및 프로세스에 관한 파일을 상기 세션 및 프로세스 모니터링부로 전송하는 단계; 및, (c) 상기 세션 및 프로세스 모니터링부가 디스플레이에 상기 세션 및 프로세스에 관한 파일을 표시하는 단계를 포함하는 데이터베이스의 장애 및 성능 모니터링 방법이 제공된다.
바람직하게는, 상기 세션 및 프로세스에 관한 파일은, 데이터베이스 서버에서 현재 구동중인 서버 프로세스에 관한 정보이다.
본 발명의 또 다른 측면에 따르면, 디스크 모니터링부를 구비하는 모니터링 단말기와, 자바 저장 프로시저, 자바 메소드, 및 서버레벨 모니터링부를 구비하는 데이터베이스 서버를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템이 데이터베이스의 장애 및 성능을 모니터링하는 방법으로서, (a) 상기 모니터링 단말기의 상기 디스크 모니터링부가 상기 데이터베이스 서버의 상기 자바 저장 프로시저를 호출하면, 상기 자바 저장 프로시저가 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계; (b) 상기 자바 메소드가 상기 서버레벨 모니터링부에 디스크에 관한 파일 요청하면, 상기 서버레벨 모니터링부가 디스크 모니터링에 관한 파일을 상기 디스크 모니터링부로 전송하는 단계; 및, (c) 상기 디스크 모니터링부가 디스플레이에 상기 디스크 모니터링에 관한 파일을 표시하는 단계를 포함하는 데이터베이스의 장애 및 성능 모니터링 방법이 제공된다.
바람직하게는, 상기 디스크 모니터링에 관한 파일은, 데이터파일별 디스크 I/O에 관한 정보, 서버 디스크 모니터링에 관한 정보, 아카이브 로그 모니터링에 관한 정보, 아카이브 로그 백업파일 모니터링에 관한 정보를 포함한다.
바람직하게는, 상기 데이터파일별 디스크 I/O에 관한 정보는, 데이터파일의 구성별 파일시스템의 구조 및 디스크 I/O에 관한 정보를 포함한다.
바람직하게는, 상기 데이터파일의 구성별 파일시스템의 구조에 관한 정보는, 상기 자바 메소드가 GETFILESYSTEM()이라는 함수를 이용하여 획득한다.
바람직하게는, 상기 디스크 모니터링에 관한 파일이 데이터파일별 디스크 I/O에 관한 정보인 경우, 상기 (a) 단계는, 상기 자바 저장 프로시저가 데이터 딕셔너리에서 데이터파일의 위치(V$DATAFILE)를 참조하고 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계이고, 상기 디스크 모니터링에 관한 파일이 아카이브 로그 모니터링에 관한 정보인 경우, 상기 (a) 단계는, 상기 자바 저장 프로시저가 데이터 딕셔너리에서 아카이브 로그 백업모드의 설정상태(V$ARCHIVE_LOG)를 참조하고 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계이고, 상기 디스크 모니터링에 관한 파일이 아카이브 로그 백업파일 모니터링에 관한 정보인 경우, 상기 (a) 단계는, 상기 자바 저장 프로시저가 데이터 딕셔너리에서 아카이브 로그 디렉토리 위치(V$ARCHIVE_DEST)를 참조하고 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계이다.
본 발명의 또 다른 측면에 따르면, 데이터베이스 서버와 모니터링 단말기를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템으로서, 상기 모니터링 단말기는, 상기 데이터베이스 서버에 로그파일을 요청하고 그 결과를 디스플레이에 표시하는 로그파일 모니터링부를 포함하고, 상기 데이터베이스 서버는, 콜스팩을 포함하는 데이터 딕셔너리; 로그파일을 획득하는 자바 메소드; 상기 로그파일 모니터링부에 의해 호출되어 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 자바 저장 프로시저; 및, 상기 자바 메소드의 요청에 따라 상기 로그파일 모니터링부에 로그파일을 제공하는 서버레벨 모니터링부를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템이 제공된다.
바람직하게는, 상기 데이터베이스 서버 및 상기 모니터링 단말기간의 통신은, SQL*Net 프로토콜에 따른 것이다.
본 발명의 또 다른 측면에 따르면, 데이터베이스 서버와 모니터링 단말기를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템으로서, 상기 모니터링 단말기는, 상기 데이터베이스 서버에 세션 및 프로세스에 관한 파일을 요청하고 그 결과를 디스플레이에 표시하는 세션 및 프로세스 모니터링부를 포함하고, 상기 데이터베이스 서버는, 콜스팩을 포함하는 데이터 딕셔너리; 세션 및 프로세스에 관한 파일을 획득하는 자바 메소드; 상기 세션 및 프로세스 모니터링부에 의해 호출되어 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 자바 저장 프로시저; 및, 상기 자바 메소드의 요청에 따라 상기 세션 및 프로세스 모니터링부에 세션 및 프로세스에 관한 파일을 제공하는 서버레벨 모니터링부를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템이 제공된다.
바람직하게는, 상기 세션 및 프로세스에 관한 파일은, 데이터베이스 서버에서 현재 구동중인 서버 프로세스에 관한 정보이다.
바람직하게는, 상기 세션 및 프로세스에 관한 파일은, 데이터베이스 세션 모니터링에 관한 정보, 세션 디테일 분석에 관한 정보, 또는 세션 록 모니터링에 관한 정보, 세션 통계 분석에 관한 정보인 경우, 상기 세션 및 프로세스 모니터링부에 의해 호출되어 상기 데이터 딕셔너리를 참조하여 데이터베이스로부터 상기 세션 및 프로세스에 관한 파일을 획득하여 상기 세션 및 프로세스 모니터링부에 전달하는 저장 프로시저를 더 포함한다.
본 발명의 또 다른 측면에 따르면, 데이터베이스 서버와 모니터링 단말기를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템으로서, 상기 모니터링 단말기는, 상기 데이터베이스 서버에 디스크 모니터링에 관한 파일을 요청하고 그 결과를 디스플레이에 표시하는 디스크 모니터링부를 포함하고, 상기 데이터베이스 서버는, 콜스팩을 포함하는 데이터 딕셔너리; 디스크 모니터링에 관한 파일을 획득하는 자바 메소드; 상기 디스클 모니터링부에 의해 호출되어 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 자바 저장 프로시저; 및, 상기 자바 메소드의 요청에 따라 상기 디스크 모니터링부에 디스크 모니터링에 관한 파일을 제공하는 서버레벨 모니터링부를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템이 제공된다.
바람직하게는, 상기 디스크 모니터링에 관한 파일은 상기 데이터파일별 디스크 I/O에 관한 정보를 포함하고, 상기 데이터파일별 디스크 I/O에 관한 정보는, 데 이터파일의 구성별 파일시스템의 구조에 관한 정보를 포함하며, 상기 데이터파일의 구성별 파일시스템에 관한 정보는, 상기 자바 메소드가 GETFILESYSTEM()이라는 함수를 이용하여 획득한 것이다.
바람직하게는, 상기 디스크 모니터링에 관한 파일은,테이블스페이스 모니터링에 관한 파일이고, 상기 디스크 모니터링부에 의해 호출되어 상기 데이터 딕셔너리를 참조하여 데이터베이스로부터 상기 디스크에 관한 파일을 획득하여 상기 디스크 모니터링부에 전달하는 저장 프로시저를 더 포함한다.
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
도 1은 본 발명에 따른 데이터베이스의 장애 및 성능 모니터링 시스템의 구성을 보여주는 도면이다. 도면을 참조하면, 본 발명에 따른 데이터베이스의 장애 및 성능 모니터링 시스템은 데이터베이스 서버(100) 및 모니터링 단말기(200)를 구비한다. 데이터베이스 서버(100) 및 모니터링 단말기(200)는 서로 원격지간에 존재 할 수 있는 데, 데이터베이스 서버(100) 및 모니터링 단말기(200)간의 통신은 SQL*Net 프로토콜 규격에 따르는 것이 바람직하다.
데이터베이스 서버(100)는 서버레벨 모니터링부(160) 및 데이터베이스 관리시스템(155)을 포함하고, 데이터베이스 관리시스템(155) 내에는 데이터베이스(150)가 존재하며, 데이터베이스(150)는 데이터 딕셔너리(140)를 구비하는데, 데이터 딕셔너리(140)에는 콜스팩(130)과 저장 프로시저(120)가 있다. 저장 프로시저(120)의 일종으로서 자바 저장 프로시저(110)가 존재하는데, 자바 저장 프로시저(110)는 자바 메소드(112)를 내장하고 있다. 한편, 데이터베이스 서버(100)에서 데이터베이스 관리시스템(155) 이외의 영역은 O/S(미도시)로 일컫는다.
서버레벨 모니터링부(160)는 자바 메소드(112)의 요청에 따라 모니터링 단말기(200)의 로그파일 모니터링부(210)에 로그파일을 제공하거나, 자바 메소드(112)에 요청에 따라 모니터링 단말기(200)의 세션 및 프로세스 모니터링부(220)에 세션 및 프로세스에 관한 파일을 제공하거나, 자바 메소드(112)에 요청에 따라 디스크 모니터링부(230)에 디스크 모니터링에 관한 파일을 제공한다.
여기서, 로그파일은 경고 로그파일(Alert log file) 및 추적 로그파일(Trace log file)을 포함한다. 경고 로그파일은 데이터베이스(150) 환경에 영향을 주는 작업 또는 장애 발생 유무를 확인할 수 있는 정보이고, 추적 로그파일은, 데이터베이스(150)의 장애에 대한 문제의 원인을 분석할 수 있는 정보를 말한다. 한편, 경로 로그파일은 데이터베이스 관리시스템(155)의 내부 에러 메시지, 데이터베이스(150)의 구조 변경이나 파라미터에 영향을 주는 작업에 관한 정보, 및 데이터베이스 (150)의 초기화 파라미터값을 포함하고, 추적 로그파일은 초기화 파라미터에서 지정하는 디렉토리에 저장되는 파일이다. 초기화 파라미터는 init.ora일 수 있고, 초기화 파라미터에서 지정하는 디렉토리는 사용자 프로세스에 의해 생성되는 추적파일의 경우 udump, 데이터베이스 관리시스템(155)에 의해 생성된 추적파일의 경우 bdump, 코어 파일의 경우 cdump일 수 있다.
여기서, 세션 및 프로세스에 관한 파일은 O/S의 프로세스에 관한 정보인 경우, 데이터베이스 서버에서 현재 구동중인 서버 프로세스에 관한 정보일 수 있다. 그리고 세션 및 프로세스에 관한 파일은 데이터베이스(150)의 세션에 관한 정보인 경우, 데이터베이스 세션 모니터링에 관한 정보, 세션 디테일 분석에 관한 정보, 세션 록 모니터링에 관한 정보, 세션 통계 분석에 관한 정보일 수 있다.
여기서, 디스크 모니터링에 관한 파일은, 데이터파일별 디스크 I/O에 관한 정보, 서버 디스크 모니터링에 관한 정보, 아카이브 로그 모니터링에 관한 정보, 아카이브 로그 백업파일 모니터링에 관한 정보를 포함할 수 있다. 한편, 데이터파일별 디스크 I/O에 관한 정보는 데이터파일의 구성별 파일시스템의 구조 및 디스크 I/O에 관한 정보를 포함할 수 있다.
데이터베이스 관리시스템(155)은 다수의 컴퓨터 사용자들이 데이터베이스(150) 안에 데이터를 기록하거나 접근할 수 있도록 해주는 프로그램이다.
데이터 딕셔너리(140)는 데이터베이스 정보를 참조하는 테이블과 뷰의 집합으로서, 데이터베이스의 논리적 구조와 물리적 구조에 대한 정보를 모두 포함한다. 구체적으로, 자바 저장 프로시저(110) 또는 저장 프로시저(120)가 자바 메소드 (112)를 실행시켜서 자바 메소드(112)를 통해 로그파일, 세션 및 프로세스에 관한 파일, 디스크 모니터링에 관한 파일을 요청하기 위해, 참조하는 정보를 저장하고 있는데, 로그파일의 위치(V$PARAMETER), 데이터파일의 위치(V$DATAFILE), 아카이브 로그 백업모드의 설정상태(V$ARCHIVE_LOG), 아카이브 로그 디렉토리 위치(V$ARCHIVE_DEST) 등이 이에 해당한다. 한편, 세션에 대한 정보(V$SESSION, V$PROCESS, V$BGPROCESS), 작업중인 SQL 관한 상세정보(V$SESSION, V$SQL_TEXT), 록에 관한 정보(V$LOCK), 작업 세션에 대한 전체적인 누적된 통계 정보(V$SESSTAT)를 더 포함할 수 있다.
뿐만 아니라, 데이터 딕셔너리(140)는 자바 저장 프로시저(110)와 자바 메소드(112)를 연결시켜주는 콜스팩(130)을 포함하고 있다. 콜스팩(130)은 자바 저장 프로시저(110)와 자바 메소드(112)와의 매개체이다.
저장 프로시저(Stored Procedure)(120)는 일반적으로 데이터베이스 서버(100)에 미리 컴파일된 SQL 코드로서, 데이터베이스(150)에 저장되는 PL/SQL 불록이며 응용 프로그램에서 이름으로 이 프로시저를 호출할 수 있다. 저장 프로시저를 생성하면 데이터베이스 관리시스템(155)은 프로시저를 구문 분석하고 구문 분석 표면을 데이터베이스(150)에 저장한다. 즉, 저장 프로시저(120)는 생성되어 데이터베이스(150)에 스키마 개체로 저장되며, 저장 프로시저(120)가 생성되고 컴파일 되면 다시 컴파일하지 않아도 실행될 수 있는 개체로 존재하게 된다. 구체적으로, 저장 프로시저(120)는 세션 및 프로세스에 관한 파일이 데이터베이스 세션 모니터링에 관한 정보, 세션 디테일 분석에 관한 정보, 세션 록 모니터링에 관한 정보, 또는 세션 통계 분석에 관한 정보인 경우, 세션 및 프로세스 모니터링부(220)에 의해 호출되어 데이터 딕셔너리(140)를 참조하여 데이터베이스(150)로부터 세션 및 프로세스에 관한 파일을 획득하여 상기 세션 및 프로세스 모니터링부(220)에 전달한다. 그리고 디스크 모니터링에 관한 파일이 테이블스페이스 모니터링에 관한 파일인 경우, 디스크 모니터링부(230)에 의해 호출되어 데이터 딕셔너리(140)를 참조하여 데이터베이스(150)로부터 디스크에 관한 파일을 획득하여 디스크 모니터링부(230)에 전달한다.
자바 저장 프로시저(110)는 저장 프로시저(120)의 특수한 형태로서, 모니터링 단말기(200)의 로그파일 모니터링부(210), 세션 및 프로세스 모니터링부(220), 또는 디스크 모니터링부(230)에 의해 호출되어 데이터 딕셔너리(140)의 콜스팩(130)을 통해 자바 메소드(112)를 실행시킨다.
자바 메소드(112)는 서버레벨 모니터링부(160)에 로그파일, 세션 및 프로세스에 관한 파일, 디스크 모니터링에 관한 파일을 요청함으로써 상기 정보들을 획득한다.
자바 메소드(112)가 로그파일을 획득하기 위한 슈도 코드(Psudo code)의 일 예는 다음과 같다.
public static void log_file (String LogFile) {
try {
BufferedReader FI = new BufferedReader (new FileReader(LogFile));
String FBuf="";
while (FBuf != null)
{
FBuf =FI.readLine();
try {
DISPLAY(:FBuf);
} catch (SQLException es) { System.out.println(es); }
}
FI.close();
}
catch (Exception e) {
System.out.println(e);
}
}
자바 메소드(112)가 디스크 모니터링에 관한 파일 중 데이터파일별 디스크 I/O에 관한 정보 즉, 데이터파일의 디스크I/O 정도를 O/S의 파일 시스템과 비교한 결과를 획득하기 위한 슈도 코드(Psudo code)의 일 예는 다음과 같다.
SELECT FS.NAME FILE_NAME,
GETFILESYSTEM(FS.NAME) FILESYSTEM,
GETAVAIALABLE(FS.NAME) AVAIALABLE,
F.PHYRDS PHYSICAL_READS,
F.PHYWRTS PHYSICAL_WRITES,
F.PHYRDS+F.PHYWRTS TOTAL_IO,
F.AVGIOTIM AVERAGE_TIME
FROM V$FILESTAT F, V$DATAFILE FS
WHERE F.FILE#=FS.FILE#
ORDER BY 6,1 DESC
위의 슈도코드는 내장 함수 GETFILESYSTEM과 GETAVAIALABLE가 입력받은 변수 값을 처리하고 그 결과를 FILESYSTEM, AVAIALABLE 값으로 출력하는 내용이다. 구체적으로 데이터 딕셔너리(140)의 V$DATAFILE 뷰를 통해서 테이블 스페이스에 속한 각각의 데이터파일의 이름을 변수값 FS.NAME으로 추출하고 이를 함수 GETFILESYSTEM에 변수로서 입력하면 FILESYSTEM으로 결과를 반환하고, 함수 GETABAILABLE의 변수로 입력되면 AVAIALABLE의 결과를 출력하기 때문에, 각각의 데이터파일이 O/S 파일 시스템에 어떻게 위치하고 있으며 얼마만큼의 디스크 I/O가 발생했는지 알 수 있다.
한편, 본 발명에 따라 데이터파일별 디스크 I/O에 관한 정보를 획득하는 데 있어서, 데이터파일의 구성별 파일 시스템의 구조에 관한 정보를 더 획득할 수가 있는데, 자바 메소드(112)는 GETFILESYSTEM()이라는 함수를 이용하여 상기 정보를 획득할 수 있다. 이를 위한 슈도 코드 및 그 결과의 일 예는 다음과 같다.
SQL> SELECT NAME, GETFILESYSTEM(NAME) FILESYSTEM FROM V$DATAFILE;
NAME FILESYSTEM
---------------------------------------- --------------------
/oracle/oradata/JINDOO/system01.dbf /dev/dsk/c0t0d0s0
/oracle/oradata/JINDOO/rbs01.dbf /dev/dsk/c0t0d0s0
/oracle/oradata/JINDOO/temp01.dbf /dev/dsk/c0t0d0s0
/oracle/oradata/JINDOO/user01.dbf /dev/dsk/c0t0d0s0
본 발명에 따른 데이터베이스 서버(100)는 위와 같은 구성요소들로 이루어진다.
한편, 모니터링 단말기(200)는 로그파일 모니터링부(210), 세션 및 프로세스 모니터링부(220), 및 디스크 모니터링부(230)를 포함한다.
로그파일 모니터링부(210)는 데이터베이스 서버(100)(특히, 데이터베이스 서버(100)의 자바 저장 프로시저(110))에 로그파일을 요청하고 그 결과를 서버레벨 모니터링부(160)로부터 수신하여 디스플레이에 표시한다. 그러면, 데이터베이스 관리자는 경고 로그파일을 살펴보고, 만약 경고 로그파일 내에 장애에 대한 기록이 존재할 경우, 추적 파일을 찾아서 그 기록된 내용을 면밀하게 분석함으로써, 에러 메시지 추적기능을 통해 문제의 원인과 해결방안을 찾을 수 있다.
세션 및 프로세스 모니터링부(220)는 데이터베이스 서버(100)(특히, 데이터베이스 서버(100)의 자바 저장 프로시저(110) 또는 저장 프로시저(120))에 세션 및 프로세스에 관한 파일을 요청하고 그 결과를 서버레벨 모니터링부(160)로부터 수신하여 디스플레이에 표시한다. 그러면, 데이터베이스 관리자는 데이터베이스 관리시스템(155)의 백그라운드 프로세스와 접속 사용자 세션들에 대해 수집된 세션 정보 를 실시간으로 확인할 수 있다. 뿐만 아니라, 데이터베이스 관리자는 위와 같이 데이터베이스(150)의 세션정보 뿐만 아니라 서버 프로세스 정보까지 확인함으로써 O/S 프로세스의 현재 상태를 모니터링할 수 있다. 예를 들어 비정상적인 프로세스(비정상종료, 강제종료된 프로세스 등)가 과도하게 시스템의 자원을 점유함으로써 성능이 저하되고 있지는 않은지 살펴볼 수 있으며, O/S의 응용 프로그램이 비정상적인 이유로 종료되어 서비스가 되지 않을 때에 O/S의 서버 프로세스의 진행 상태를 살펴볼 수 있다.
디스크 모니터링부(230)는 데이터베이스 서버(100)(특히, 데이터베이스 서버(100)의 자바 저장 프로시저(110) 또는 저장 프로시저(120))에 디스크 모니터링에 관한 파일을 요청하고 그 결과를 서버레벨 모니터링부(160)로부터 수신하여 디스플레이에 표시한다. 그러면, 데이터베이스 관리자는 데이터베이스(150)의 데이터 저장용 공간을 얼마나 가용할 수 있는지, 실제 운영 서버의 디스크에 여유 공간이 어느 정도 존재하는지, 디스크 I/O가 많은 데이터 파일은 어떤 것인지, 백업은 정상적으로 이루어지고 있으며, 백업 파일을 저장할 수 있는 공간은 충분한지 여부를 확인할 수 있는데, 데이터베이스 관리자는 이러한 정보들을 모니터링함으로써 디스크 부족으로 인해 발생될 수 있는 문제점들을 미연에 방지할 수 있다.
도 2는 본 발명의 제1 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법의 순서도이다. 본 발명의 제1 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법은 로그파일 모니터링부(210)를 구비하는 모니터링 단말기(200)와, 자바 저장 프로시저(110), 자바 메소드(112), 및 서버레벨 모니터링부(160)를 구비하 는 데이터베이스 서버(100)로 구성되는 데이터베이스의 장애 및 성능 모니터링 시스템에 의해 구현될 수 있다. 도 2를 참조하면, 우선 모니터링 단말기(200)의 로그파일 모니터링부(210)가 데이터베이스 서버(100)의 자바 저장 프로시저(110)를 호출하여 로그파일을 요청한다(S110 단계). 그러면, 자바 저장 프로시저(110)가 데이터 딕셔너리(140)에서 로그파일의 위치를 참조한다(S120 단계). 그런 다음, 자바 저장 프로시저(110)는 데이터 딕셔너리(140)의 콜스팩(130)을 통해 자바 메소드(112)를 실행시킨다(S130 단계). 그러면, 자바 메소드(112)가 서버레벨 모니터링부(160)에 로그파일을 요청한다. 여기서 로그파일은 경고 로그파일 또는 추적 로그파일일 수 있는데, 경고 로그파일은 데이터베이스 환경에 영향을 주는 작업 또는 장애 발생 유무를 확인할 수 있는 정보이고, 추적 로그파일은 데이터베이스 장애에 대한 문제의 원인을 분석할 수 있는 정보이다.
자바 메소드(112)로부터 로그파일을 요청받은 서버레벨 모니터링부(160)는 O/S(미도시)로부터 로그파일을 획득한 후 이를 모니터링 단말기(200)의 로그파일 모니터링부(210)로 전송한다(S140 단계). 그러면 로그파일 모니터링부(210)는 디스플레이에 수신된 로그파일을 표시한다(S150 단계). 도 3 및 도 4는 본 발명의 제1 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법에 따라 표시될 수 있는 화면의 일 예인데, 도 3은 경고 로그파일(Alert log) 목록이 표시된 화면이며, 도 4는 추적 로그파일(Trace log) 목록이 표시된 화면인데, 초기 파라미터에서 지정하는 디렉토리인 udump, bdump, cdump 별로 나뉘는 것을 알 수 있다.
도 5는 본 발명의 제2 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법의 순서도이다. 본 발명의 제2 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법은 세션 및 프로세스 정보 중 특히 프로세스를 모니터링하기 위한 것으로서, 세션 및 프로세스 모니터링부(220)를 구비하는 모니터링 단말기(200)와, 자바 저장 프로시저(110), 자바 메소드(112), 및 서버레벨 모니터링부(160)를 구비하는 데이터베이스 서버(100)로 구성되는 데이터베이스의 장애 및 성능 모니터링 시스템에 의해 구현될 수 있다.
도 5를 참조하면, 모니터링 단말기(200)의 세션 및 프로세스 모니터링부(220)가 데이터베이스 서버(100)의 자바 저장 프로시저를 호출하여 세션 및 프로세스에 관한 파일(특히, 서버 프로세스에 관한 정보)을 요청한다(S210 단계). 그러면, 자바 저장 프로시저(110)가 데이터 딕셔너리(140)의 콜스팩(130)을 통해 자바 메소드(112)를 실행시킨다(S220 단계). 그러면, 자바 메소드(112)가 서버레벨 모니터링부(160)에 세션 및 프로세스에 관한 파일을 요청한다. 여기서 세션 및 프로세스에 관한 파일은 데이터베이스 서버(100)에서 현재 구동중인 서버 프로세스에 관한 정보이다.
자바 메소드(112)로부터 세션 및 프로세스에 관한 파일을 요청받은 서버레벨 모니터링부(160)는 O/S(미도시)로부터 서버 프로세스에 관한 정보를 획득한 후 이를 모니터링 단말기(200)의 세션 및 프로세스 모니터링부(220)로 전송한다(S230 단계). 그러면 세션 및 프로세스 모니터링부(220)는 디스플레이에 수신된 로그파일을 표시한다(S240 단계). 도 6은 본 발명의 제2 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법에 따라 표시될 수 있는 화면의 일 예이다. 도 6 중 화면의 하단부분(server process 탭 부분)을 참조하면, 현재 데이터베이스 서버(100)에 현재 구동중인 서버 프로세스의 정보가 표시되어 있다.
도 7은 본 발명의 제2 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법 중 세션 모니터링의 경우의 순서도이다. 도 7을 참조하면, 세션 및 프로세스 모니터링부(220)가 저장 프로시저(120)를 호출하여 세션 및 프로세스에 관한 파일(특히, 세션에 관한 정보)을 요청한다(S260 단계). 여기서 세션에 관한 정보는 데이터베이스 세션 모니터링에 관한 정보, 세션 디테일 분석에 관한 정보, 세션 록 모니터링에 관한 정보, 또는 세션 통계 분석에 관한 정보일 수 있다. 그러면, 저장 프로시저(120)가 데이터 딕셔너리(140)를 참조한다(S270 단계). 세션 및 프로세스에 관한 파일(즉, 세션에 관한 정보)이 데이터베이스 세션 모니터링에 관한 정보일 경우, 저장 프로시저(120)는 데이터 딕셔너리(140)에서 세션에 대한 정보(V$SESSION, V$PROCESS, V$BGPROCESS)를 참조하고, 세션 및 프로세스에 관한 파일(즉, 세션에 관한 정보)이 세션 디테일 분석에 관한 정보일 경우, 작업중인 SQL 관한 상세정보(V$SESSION, V$SQL_TEXT)를 참조한다. 세션 및 프로세스에 관한 파일(즉, 세션에 관한 정보)이 세션 록 모니터링에 관한 정보일 경우, 록에 관한 정보(V$LOCK)를 참조하고, 세션 및 프로세스에 관한 파일(즉, 세션에 관한 정보)이 세션 통계 분석에 관한 정보일 경우, 작업 세션에 대한 전체적인 누적된 통계 정보(V$SESSTAT)를 참조한다.
그러면, 저장 프로시저(120)는 데이터베이스(150)로부터 세션에 관한 정보를 획득한 후 모니터링 단말기(200)의 세션 및 프로세스 모니터링부(220)에 전송한다 (S280 단계). 그러면, 세션 및 프로세스 모니터링부(220)는 상기 세션에 관한 정보를 디스플레이에 표시한다(S290 단계). 다시 도 6을 참조하면, 상단 부분(Session Status 탭 부분) 이하에 세션에 관한 여러 가지 정보가 표시되어 있음을 알 수 있다.
도 8은 본 발명의 제3 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법의 순서도이다. 본 발명의 제3 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법은 디스크 모니터링부(230)를 구비하는 모니터링 단말기(200)와, 자바 저장 프로시저(110), 자바 메소드(112), 및 서버레벨 모니터링부(160)를 구비하는 데이터베이스 서버(100)로 구성되는 데이터베이스의 장애 및 성능 모니터링 시스템에 의해 구현될 수 있다.
도 8을 참조하면, 모니터링 단말기(200)의 디스크 모니터링부(230)가 데이터베이스 서버(100)의 자바 저장 프로시저를 호출하여 디스크 모니터링에 관한 파일을 요청한다(S310 단계). 그러면, 자바 저장 프로시저(110)가 데이터 딕셔너리(140)를 참조한다(S320 단계). 구체적으로, 디스크 모니터링에 관한 파일이 데이터파일별 디스크 I/O에 관한 정보인 경우, 데이터 딕셔너리(140)에서 데이터파일의 위치(V$DATAFILE)를 참조하고, 아카이브 로그 모니터링에 관한 정보인 경우, 데이터 딕셔너리(140)에서 아카이브 로그 백업모드의 설정상태(V$ARCHIVE_LOG)를 참조하고, 아카이브 로그 백업파일 모니터링에 관한 정보인 경우, 데이터 딕셔너리(140)에서 아카이브 로그 디렉토리 위치(V$ARCHIVE_DEST)를 참조한다.
그런 다음, 자바 저장 프로시저(110)는 데이터 딕셔너리(140)의 콜스팩(130) 을 통해 자바 메소드(112)를 실행시킨다(S330 단계). 그러면, 자바 메소드(112)가 서버레벨 모니터링부(160)에 디스크 모니터링에 관한 파일을 요청한다. 한편, 이때 디스크 모니터링에 관한 파일이 데이터파일별 디스크 I/O에 관한 정보인 경우, 데이터파일별 디스크 I/O에 관한 정보는 자바 메소드가 앞서 설명한 바와 같이 GETFILESYSTEM()이라는 함수를 이용하여 획득한 데이터파일의 구성별 파일시스템의 구조에 관한 정보를 포함할 수 있다.
자바 메소드(112)로부터 디스크 모니터링에 관한 파일을 요청받은 서버레벨 모니터링부(160)는 O/S(미도시)로부터 디스크 모니터링에 관한 파일을 획득한 후 이를 모니터링 단말기(200)의 디스크 모니터링부(230)로 전송한다(S340 단계). 그러면 디스크 모니터링부(230)는 디스플레이에 수신된 디스크 모니터링에 관한 파일을 표시한다(S350 단계). 도 9 및 도 10은 본 발명의 제3 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법에 따라 표시될 수 있는 화면의 일 예 및 다른 예이다. 도 9의 하단 부분(Datafile I/O Report)을 참조하면, 데이터 파일별 디스크 I/O의 정보가 표시되어 있고, 더불어 데이터파일의 구성별 파일시스템의 구조(File System에 해당하는 필드)까지 표시되어 있음을 알 수 있고, 도 10의 하단 부분(Disk Space Usage 탭 부분)을 참조하면, 서버 디스크 모니터링 정보가 표시되어 있음을 알 수 있다.
도 11은 본 발명의 제3 실시예에 따른 데이터베이스의 장애 및 성능 모니터링 방법 중 테이블스페이스 모니터링의 경우의 순서도이다. 도 11을 참조하면, 디스크 모니터링부(230)가 저장 프로시저(120)를 호출하여 디스크 모니터링에 관한 파일(즉, 테이블스페이스 모니터링에 관한 파일)을 요청한다(S360 단계). 그러면, 저장 프로시저(120)가 데이터 딕셔너리(140)에서 테이블스페이스 정보(dba_data_files, dba_temp_files)를 참조한다(S370 단계).
그런 다음, 저장 프로시저(120)는 데이터베이스(150)로부터 테이블스페이스 모니터링에 관한 파일을 획득한 후 모니터링 단말기(200)의 디스크 모니터링부(230)에 전송한다(S380 단계). 그러면, 디스크 모니터링부(230)는 테이블스페이스 모니터링에 관한 파일을 디스플레이에 표시한다(S390 단계). 다시 도 9를 참조하면, 도 9의 상단 부분(Space Usage 탭 부분)에 테이블스페이스 모니터링에 관한 정보가 표시되어 있음을 알 수 있다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
본 발명의 일 측면에 의하면, 자바 저장 프로시저 및 자바 메소드를 이용하는 방식으로서 안정적으로 데이터베이스 서버로부터 데이터베이스 모니터링에 관한 정보를 획득할 수 있으므로, 예상치 못한 문제나 버그가 발생할 확률이 현저하게 낮아질 뿐만 아니라 데이터베이스 서버가 불안정해지는 현상이 발생하지 않는다.
본 발명의 다른 측면에 따르면, 데이터베이스 성능에 영향을 미치지 않으면서 모니터링에 필요한 정보를 획득할 수 있다.
본 발명의 또 다른 측면에 따르면, 데이터베이스 서버 및 모니터링 단말기간의 통신은 SQL*Net 프로토콜에 따라 이루어지는 방식으로서, 별도의 프로그램을 설치할 필요가 없으며, 서버에 소켓을 오픈하거나 HTTP 프로토콜을 구동하여 상호통신하지 않기 때문에 데이터베이스에 관한 보안성을 높일 수 있다.
본 발명의 또 다른 측면에 따르면, O/S 또는 네트워크를 변경하거나 데이터베이스를 업그레이드 하는 경우에도 프로그램의 환경을 재설정하거나 관리해야할 필요가 없다.

Claims (20)

  1. 로그파일 모니터링부를 구비하는 모니터링 단말기와,
    자바 저장 프로시저, 자바 메소드, 및 서버레벨 모니터링부를 구비하는 데이터베이스 서버
    를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템이 데이터베이스의 장애 및 성능을 모니터링하는 방법에 있어서,
    (a) 상기 모니터링 단말기의 상기 로그파일 모니터링부가 상기 데이터베이스 서버의 상기 자바 저장 프로시저를 호출하면, 상기 자바 저장 프로시저가 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계;
    (b) 상기 자바 메소드가 상기 서버레벨 모니터링부에 로그파일을 요청하면, 상기 서버레벨 모니터링부가 로그파일을 상기 로그파일 모니터링부로 전송하는 단계; 및,
    (c) 상기 로그파일 모니터링부가 디스플레이에 상기 로그파일을 표시하는 단계
    를 포함하는 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계는,
    상기 자바 저장 프로시저가 데이터 딕셔너리에서 로그파일의 위치를 참조하고 상기 데이터 딕셔너리의 콜스팩을 통해 여 상기 자바 메소드를 실행시키는 단계인 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  3. 제 1 항에 있어서,
    상기 로그파일은 경고 로그파일 및 추적 로그파일을 포함하고,
    상기 경고 로그파일은, 데이터베이스 환경에 영향을 주는 작업 또는 장애 발생 유무를 확인할 수 있는 정보이고,
    상기 추적 로그파일은, 데이터베이스의 장애에 대한 문제의 원인을 분석할 수 있는 정보인 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  4. 제 3 항에 있어서,
    상기 경고 로그파일은, 데이터베이스 관리시스템의 내부 에러 메시지, 데이터베이스의 구조 변경이나 파라미터에 영향을 주는 작업에 관한 정보, 및 데이터베이스의 초기화 파라미터값을 포함하고,
    상기 추적 로그파일은, 초기화 파라미터에서 지정하는 디렉토리에 저장되는 파일인 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  5. 제 4 항에 있어서,
    상기 초기화 파라미터에서 지정하는 디렉토리는,
    사용자 프로세스에 의해 생성되는 추적파일의 경우 udump이고,
    데이터베이스 관리시스템에 의해 생성된 추적파일의 경우 bdump이고,
    코어 파일의 경우 cdump인 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  6. 세션 및 프로세스 모니터링부를 구비하는 모니터링 단말기와,
    자바 저장 프로시저, 자바 메소드, 및 서버레벨 모니터링부를 구비하는 데이터베이스 서버
    를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템이 데이터베이스의 장애 및 성능을 모니터링하는 방법에 있어서,
    (a) 상기 모니터링 단말기의 상기 세션 및 프로세스 모니터링부가 상기 데이터베이스 서버의 상기 자바 저장 프로시저를 호출하면, 상기 자바 저장 프로시저가 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계;
    (b) 상기 자바 메소드가 상기 서버레벨 모니터링부에 세션 및 프로세스에 관한 파일을 요청하면, 상기 서버레벨 모니터링부가 세션 및 프로세스에 관한 파일을 상기 세션 및 프로세스 모니터링부로 전송하는 단계; 및,
    (c) 상기 세션 및 프로세스 모니터링부가 디스플레이에 상기 세션 및 프로세스에 관한 파일을 표시하는 단계
    를 포함하는 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  7. 제 6 항에 있어서,
    상기 세션 및 프로세스에 관한 파일은,
    데이터베이스 서버에서 현재 구동중인 서버 프로세스에 관한 정보인 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  8. 디스크 모니터링부를 구비하는 모니터링 단말기와,
    자바 저장 프로시저, 자바 메소드, 및 서버레벨 모니터링부를 구비하는 데이터베이스 서버
    를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템이 데이터베이스의 장애 및 성능을 모니터링하는 방법에 있어서,
    (a) 상기 모니터링 단말기의 상기 디스크 모니터링부가 상기 데이터베이스 서버의 상기 자바 저장 프로시저를 호출하면, 상기 자바 저장 프로시저가 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계;
    (b) 상기 자바 메소드가 상기 서버레벨 모니터링부에 디스크에 관한 파일 요청하면, 상기 서버레벨 모니터링부가 디스크 모니터링에 관한 파일을 상기 디스크 모니터링부로 전송하는 단계; 및,
    (c) 상기 디스크 모니터링부가 디스플레이에 상기 디스크 모니터링에 관한 파일을 표시하는 단계
    를 포함하는 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방 법.
  9. 제 8 항에 있어서,
    상기 디스크 모니터링에 관한 파일은,
    데이터파일별 디스크 I/O에 관한 정보, 서버 디스크 모니터링에 관한 정보, 아카이브 로그 모니터링에 관한 정보, 아카이브 로그 백업파일 모니터링에 관한 정보를 포함하는 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  10. 제 9 항에 있어서,
    상기 데이터파일별 디스크 I/O에 관한 정보는,
    데이터파일의 구성별 파일시스템의 구조 및 디스크 I/0에 관한 정보를 포함하는 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  11. 제 10 항에 있어서,
    상기 데이터파일의 구성별 파일시스템의 구조에 관한 정보는,
    상기 자바 메소드가 GETFILESYSTEM()이라는 함수를 이용하여 획득한 것임을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  12. 제 9 항에 있어서,
    상기 디스크 모니터링에 관한 파일이 데이터파일별 디스크 I/O에 관한 정보 인 경우, 상기 (a) 단계는, 상기 자바 저장 프로시저가 데이터 딕셔너리에서 데이터파일의 위치(V$DATAFILE)를 참조하고 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계이고,
    상기 디스크 모니터링에 관한 파일이 아카이브 로그 모니터링에 관한 정보인 경우, 상기 (a) 단계는, 상기 자바 저장 프로시저가 데이터 딕셔너리에서 아카이브 로그 백업모드의 설정상태(V$ARCHIVE_LOG)를 참조하고 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계이고,
    상기 디스크 모니터링에 관한 파일이 아카이브 로그 백업파일 모니터링에 관한 정보인 경우, 상기 (a) 단계는, 상기 자바 저장 프로시저가 데이터 딕셔너리에서 아카이브 로그 디렉토리 위치(V$ARCHIVE_DEST)를 참조하고 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 단계인 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 방법.
  13. 데이터베이스 서버와 모니터링 단말기를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템으로서,
    상기 모니터링 단말기는,
    상기 데이터베이스 서버에 로그파일을 요청하고 그 결과를 디스플레이에 표시하는 로그파일 모니터링부를 포함하고,
    상기 데이터베이스 서버는,
    콜스팩을 포함하는 데이터 딕셔너리;
    로그파일을 획득하는 자바 메소드;
    상기 로그파일 모니터링부에 의해 호출되어 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 자바 저장 프로시저; 및,
    상기 자바 메소드의 요청에 따라 상기 로그파일 모니터링부에 로그파일을 제공하는 서버레벨 모니터링부를 포함하는 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 시스템.
  14. 제 13 항에 있어서,
    상기 데이터베이스 서버 및 상기 모니터링 단말기간의 통신은,
    SQL*Net 프로토콜에 따른 것임을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 시스템.
  15. 데이터베이스 서버와 모니터링 단말기를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템으로서,
    상기 모니터링 단말기는,
    상기 데이터베이스 서버에 세션 및 프로세스에 관한 파일을 요청하고 그 결과를 디스플레이에 표시하는 세션 및 프로세스 모니터링부를 포함하고,
    상기 데이터베이스 서버는,
    콜스팩을 포함하는 데이터 딕셔너리;
    세션 및 프로세스에 관한 파일을 획득하는 자바 메소드;
    상기 세션 및 프로세스 모니터링부에 의해 호출되어 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 자바 저장 프로시저; 및,
    상기 자바 메소드의 요청에 따라 상기 세션 및 프로세스 모니터링부에 세션 및 프로세스에 관한 파일을 제공하는 서버레벨 모니터링부를 포함하는 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 시스템.
  16. 제 15 항에 있어서,
    상기 세션 및 프로세스에 관한 파일은,
    데이터베이스 서버에서 현재 구동중인 서버 프로세스에 관한 정보인 것일 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 시스템.
  17. 제 15 항에 있어서,
    상기 세션 및 프로세스에 관한 파일은,
    데이터베이스 세션 모니터링에 관한 정보, 세션 디테일 분석에 관한 정보, 또는 세션 록 모니터링에 관한 정보, 세션 통계 분석에 관한 정보인 경우,
    상기 세션 및 프로세스 모니터링부에 의해 호출되어 상기 데이터 딕셔너리를 참조하여 데이터베이스로부터 상기 세션 및 프로세스에 관한 파일을 획득하여 상기 세션 및 프로세스 모니터링부에 전달하는 저장 프로시저
    를 더 포함하는 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 시스템.
  18. 데이터베이스 서버와 모니터링 단말기를 포함하는 데이터베이스의 장애 및 성능 모니터링 시스템으로서,
    상기 모니터링 단말기는,
    상기 데이터베이스 서버에 디스크 모니터링에 관한 파일을 요청하고 그 결과를 디스플레이에 표시하는 디스크 모니터링부를 포함하고,
    상기 데이터베이스 서버는,
    콜스팩을 포함하는 데이터 딕셔너리;
    디스크 모니터링에 관한 파일을 획득하는 자바 메소드;
    상기 디스클 모니터링부에 의해 호출되어 상기 데이터 딕셔너리의 콜스팩을 통해 상기 자바 메소드를 실행시키는 자바 저장 프로시저; 및,
    상기 자바 메소드의 요청에 따라 상기 디스크 모니터링부에 디스크 모니터링에 관한 파일을 제공하는 서버레벨 모니터링부를 포함하는 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 시스템.
  19. 제 18 항에 있어서,
    상기 디스크 모니터링에 관한 파일은 상기 데이터파일별 디스크 I/O에 관한 정보를 포함하고,
    상기 데이터파일별 디스크 I/O에 관한 정보는, 데이터파일의 구성별 파일시스템의 구조에 관한 정보를 포함하며,
    상기 데이터파일의 구성별 파일시스템에 관한 정보는, 상기 자바 메소드가 GETFILESYSTEM()이라는 함수를 이용하여 획득한 것임을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 시스템.
  20. 제 18 항에 있어서,
    상기 디스크 모니터링에 관한 파일은,
    테이블스페이스 모니터링에 관한 파일이고,
    상기 디스크 모니터링부에 의해 호출되어 상기 데이터 딕셔너리를 참조하여 데이터베이스로부터 상기 디스크에 관한 파일을 획득하여 상기 디스크 모니터링부에 전달하는 저장 프로시저
    를 더 포함하는 것을 특징으로 하는 데이터베이스의 장애 및 성능 모니터링 시스템.
KR1020060023119A 2006-03-13 2006-03-13 데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을구현하기 위한 시스템 KR100797548B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060023119A KR100797548B1 (ko) 2006-03-13 2006-03-13 데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을구현하기 위한 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060023119A KR100797548B1 (ko) 2006-03-13 2006-03-13 데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을구현하기 위한 시스템

Publications (2)

Publication Number Publication Date
KR20070093233A KR20070093233A (ko) 2007-09-18
KR100797548B1 true KR100797548B1 (ko) 2008-01-24

Family

ID=38687571

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060023119A KR100797548B1 (ko) 2006-03-13 2006-03-13 데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을구현하기 위한 시스템

Country Status (1)

Country Link
KR (1) KR100797548B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100967525B1 (ko) * 2008-06-09 2010-07-07 박기복 성능, 부하, 기능테스트에서 목표한 시스템에만 부하를발생시키기 위한 시스템 및 방법
KR101442973B1 (ko) * 2013-04-24 2014-09-23 주식회사 맑은소프트 웹 어플리케이션 프레임워크 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 매체
KR101660451B1 (ko) * 2015-05-08 2016-09-28 주식회사 알티베이스 데이터베이스에서 압축테이블을 실시간 복제하는 장치 및 방법
CN105930267B (zh) * 2016-04-15 2019-03-12 中国工商银行股份有限公司 一种基于数据库字典的存储过程静态检测方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052694A (en) * 1998-03-18 2000-04-18 Electronic Data Systems Corporation Method and apparatus for logging database performance characteristics
KR100496970B1 (ko) 2001-12-27 2005-06-27 삼성에스디에스 주식회사 데이터베이스의 성능 관리 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052694A (en) * 1998-03-18 2000-04-18 Electronic Data Systems Corporation Method and apparatus for logging database performance characteristics
KR100496970B1 (ko) 2001-12-27 2005-06-27 삼성에스디에스 주식회사 데이터베이스의 성능 관리 방법

Also Published As

Publication number Publication date
KR20070093233A (ko) 2007-09-18

Similar Documents

Publication Publication Date Title
US11188619B2 (en) Single click delta analysis
US9767171B2 (en) Method and system for implementing an operating system hook in a log analytics system
US7661135B2 (en) Apparatus, system, and method for gathering trace data indicative of resource activity
US7805419B2 (en) System for tracking and analyzing the integrity of an application
US6363391B1 (en) Application programming interface for monitoring data warehouse activity occurring through a client/server open database connectivity interface
US7167915B2 (en) Monitoring storage resources used by computer applications distributed across a network
US10110632B2 (en) Methods and systems for managing security policies
US6697924B2 (en) Storage area network methods and apparatus for identifying fiber channel devices in kernel mode
US7177935B2 (en) Storage area network methods and apparatus with hierarchical file system extension policy
US6920494B2 (en) Storage area network methods and apparatus with virtual SAN recognition
US6996670B2 (en) Storage area network methods and apparatus with file system extension
US7499986B2 (en) Storage area network methods with event notification conflict resolution
US7457846B2 (en) Storage area network methods and apparatus for communication and interfacing with multiple platforms
US20150039735A1 (en) Centralized configuration of a distributed computing cluster
US20070112870A1 (en) System and method for proactive impact analysis of policy-based storage systems
US20030154267A1 (en) Storage area network methods and apparatus for dynamically enabled storage device masking
JP2005251191A (ja) 他のコンピュータシステムのコンフィギュレーションに基づいてコンピュータシステムのミスコンフィギュレーションをトラブルシューティングする方法およびシステム
US20070234331A1 (en) Targeted automatic patch retrieval
US20060036579A1 (en) Apparatus, system, and method for associating resources using a time based algorithm
KR100797548B1 (ko) 데이터베이스의 장애 및 성능 모니터링 방법, 및 그 방법을구현하기 위한 시스템
US20060059118A1 (en) Apparatus, system, and method for associating resources using a behavior based algorithm
US20060053021A1 (en) Method for monitoring and managing an information system
US7823136B2 (en) Callbacks for monitoring driver-level statistics
US20080010289A1 (en) System and method for efficient meta-data driven instrumentation
Cisco Using Threshold Manager

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131226

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141226

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161226

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171226

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181224

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20191125

Year of fee payment: 13