2008-09-16 3 views
0

저는 Oracle 데이터베이스를 모니터링하고 기본적으로 마지막 업데이트를 확인하기 위해 C# 코드의 간단한 샘플 코드 조각을 찾고 있습니다. 그것은 커맨드 라인 (Nagios와의 미래 통합을위한 훌륭한) 또는 GUI 일 수 있습니다. 저는 프로토 타입을 만들었지 만, 언어를 배우는 일종의 코드가 길어지는 경향이 있습니다.C#에서 Oracle DB의 마지막 INSERT/UPDATE를 모니터링하는 스 니펫?

의견/의견을 보내 주시면 감사하겠습니다.

+0

@Lord Burner : 물론, 테이블 세트를 모니터링해야합니다. 거기에 레코드를 삽입하는 앱이 있고 데이터 자체가 다소 설명 적이기 때문에 비교적 간단한 select 문으로 검사를 수행 할 수 있습니다. 나는 열쇠가 타임 스탬프와 last_update 레코드와 관련이 있다고 생각한다. –

답변

1

한 가지 가능한 솔루션입니다 :

  1. 테이블을 MY_TABLE 마지막 업데이트 시간을 나타내는 날짜 필드를 추가합니다.

    ALTER TABLE my_table ADD (last_update_time DATE);

  2. 해당 필드에 인덱스를 만듭니다.

  3. CREATE INDEX i_my_table_upd_time ON my_table (last_update_time);는 UPDATE 및 ON INSERT 저장 ON 화재가 새로운 분야로 SYSDATE 해당 테이블에 데이터베이스 트리거를 만듭니다.

    CREATE OR REPLACE TRIGGER my_table_insert_trg 
    BEFORE INSERT OR UPDATE 
    ON my_table 
    FOR EACH ROW 
    BEGIN 
        :new.last_update_time := SYSDATE; 
    END; 
    

이제 다음 쿼리 5 분마다
SELECT max(last_update_time) FROM my_table; 

를 발행 할 수 있고 테이블이 마지막으로 업데이트 할 때 그것은 당신에게 시간을 줄 것이다.

오라클에서 알림을받는 쉬운 방법은 없습니다.

+0

정말 감사합니다. 세르게이, 고마워요! –