2. 컴퓨터 이야기/데이타베이스

WareValley Orange, 다수의 트리거와 프로시저 본문 대상으로 검색

래빗 크리스 2009. 1. 6. 10:26

하나의 트리거나 프로시저에서 특정 단어를 검색하는 것은 쉽다, 일단 해당 오브젝트를 열어서 검색하면 되니까.
그러면, 테이블 이름이나 필드 이름으로 어디에 있는지도 모를 다수의 트리거나 프로시저를 검색하려면 어떻게 해야 할까.

물론, 오라클의 경우 아래 쿼리문과 같이 DB 쿼리만으로도 해당 내용을 검색할 수 있다.
select * from user_source where text like '%키워드%';
그런데 이렇게 하면 하나의 줄 단위로 검색이 되기 때문에 본문 내용을 보려면 다시 해당 프로시저를 열어야만 한다.
그리고 user_source 를 이용하기 때문에 사용자별로 검색을 하여야 한다.

여기에서는 WareValley 사의 Orange 4.0 DBA 버전으로 활용법을 알아 보겠다.

아래 그림과 같이 'DBA', 'Describe DB Objects' 를 차례로 클릭한다.
(이미지가 제대로 보이지 않는다면 해당 이미지를 클릭해 보세요.)


검색할 아이디로 로그온 한다. 물론 System 계정으로 로그온 해야 전체 사용자에 대하여 정상적으로 추출이 가능하다.


'Describe DB Objects' 창의 'Output' 탭에서 'DDL Filename' 을 선택한다.
'Make one file named after each schema, in this directory' 가 선택되었다면 파일이 뿔뿔이 흩어진다.
텍스트 에디터가 열어놓지 않은 여러 파일을 대상으로 검색이 가능하면 이 옵션을 켜는 것도 좋다.


파일이름을 입력하고 '저장(S)' 버튼을 클릭한다.


이미 존재하는 파일이면 아래와 같은 팝업이 뜬다.


다음은 'Schema & Filter' 탭이다. 이곳에서 찾기를 원하는 스키마(사용자)와 'Procedure', 'Trigger' 를 선택한다.
특정 키워드로 검색하려면  Filter 항목의 'Object names LIKE' 를 체크하고 해당 키워드를 입력한다.


아래 그림에서 'Run' 버튼(달리는 사람 모양)과 'Save Configuration' 버튼(디스크 저장 모양)을 차례로 클릭한다.


(추출)실행이 완료되면 아래와 같은 팝업이 뜬다.


'Save Configuration' 버튼을 클릭하였다면 아래와 같이 추출된 정보를 저장할 파일명을 입력하고 '저장' 버튼을 클릭한다.


이미 존재하는 파일이면 아래와 같은 팝업이 뜬다.


자, 이제 텍스트 에디터 프로그램의 검색 기능으로 필요한 키워드를 검색한다.
모든 사용자별로, 모든 프로시저와 트리거에 대하여 하나의 파일에서 검색이 가능하다.