본문 바로가기

Server Oriented/DB-Oracle

오렌지를 이용하여 DB 에서 특정 키워드가 사용된 모든 오브젝트 추출

예전 기억을 떠올리면 체크했는데.. 이거, 필터링이 제대로 이뤄지지 않네요.

그래도, 하나의 파일에 모든 Function/Procedure/Trigger 등을 뽑을 수 있으니 검색하기 위한 기반은 다지는 셈이네요..

----------------------------------------------------------------------------








특정 칼럼이 들어간 프로그램을, DB 펑션이나 DB 스토어드 프로시저 트리거 등에서 찾는 방법..

Toad 에는 이런 기능이 없다고 하네요. 가지고 있는 버전에서 없는 것인지.. ㅋ

아무튼 여기에선 웨어벨리사의 Orange 를 통해 추출하는 방법을 찾아 보겠습니다.


이를테면, 내가 프로그래밍을 하다 보니 특정 칼럼이 어떤 프로그램에서 사용되었는지 알고 싶을 때가 있거든요.

tableA 에 columnB 가 들어 있는데, 이걸 여러 DB 사용자에게 grant 를 주었고..

이들 DB 사용자들에서 어떻게 쓰이고 있는지 알아야 할 때.. 오렌지 프로그램을 사용해 보자는 거죠.

아, 오렌지는 DBA 버전이어야 합니다. 최근 버전에서는 어떻게 불리는지 모르겠네요.

암튼, 여기에서는 오렌지 4.x 버전을 기준으로 합니다.


아래 그림과 같이 'DBA' 메뉴의 'Describe DB Ojbects' 를 선택합니다.



아래 그림과 같이 어떤 DB 사용자로 작업을 할 것인지 물어옵니다.

system 계정이면 좋긴 하겠는데, 세팅에 따라서는 특정 계정에서만 찾을 수 있기도 하니까..

이 정도의 관계는 알고 작업을 시작해야 하겠죠..



아래 그림과 같이 'Output' 탭에서는 검색 결과물을 어디에 어떤 파일명으로 저장할 것인지 세팅해 줍니다.

'Make one file named...' 나 'Create individual...' 옵션을 선택하면 스키마나 DDL 당 하나씩 파일을 떨구기 때문에..

편할 수도 불편할 수도 있는데, 하나의 파일에서 키워드 검색하는 것이 더 쉬울 수도 있으니까 아래와 같이 세팅합니다.



'Schema & Filer' 탭에서는 어느 DB user 에 소속된,

어떤 Types 을 검색할 것인지 체크합니다. 여기서는 Function, Trigger, Procedure 등을 선택했습니다.

그런데, 'Filter' 항목은 사용하나 마나입니다.. 칼럼이름을 넣을 수는 없는 거였네요.. ㅠ.



'Script Options' 탭에 입력란이 있는데, 여기에 검색하고자 하는 키워드를 입력합니다.

그런데 이건, 이름을 대체하는 용도였네요.. 착각을 했습니다 그려. 이건 뭐 쓰나 마나겠네요.. ㅠ.

Result 탭에 검색 결과가 나오고, Output 탭에 기술된 경로에 파일이 생성됩니다.


이제 해당 키워드로 검색하면서 프로그램들에 어떻게 사용되었는지 확인하면 됩니다.


.Fine.