본문 바로가기

IT 이야기/데이터베이스(DB)

오라클 all_source

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

오라클 all_source

오라클을 개발 하다 보면 권한이나 정책 때문에 프로시져, 함수 등을 확인 할 수가 없는 데가 간혹 있다.

꼭 확인해 봐야 하는 프로시져나 함수를 찾을수 없다면 막막한 기분이 ㅜㅜ

그럴때 유용한 테이블 all_source 이거 이용 하면 자신에게 필요한 프로시져나 함수의 내용을 확인 할 수 있다.

ORACLE에서는 모든 유저가 생성한 PROCEDURE, PACKAGE, LIBRARY, PACKAGE, BODY, TRIGGER, FUNCTION, TYPE 내용을 all_source 에 저장해 놓는다.


일단 예를 보는게 이해 하기 쉽겠지용

ex)

select * from all_source

where type = 'FUNCTION'

and name = 'DATABASE_NAME'

-> 이걸 설명 하자면 type이 FUNCTION 이면서 이름이 DATABASE_NAME 인 것을 조회 하라 

결과)

SYS DATABASE_NAME FUNCTION 1 "function database_name return varchar2 is

"

SYS DATABASE_NAME FUNCTION 2 "begin

"

SYS DATABASE_NAME FUNCTION 3 "return dbms_standard.database_name;

"

SYS DATABASE_NAME FUNCTION 4 end;

결과에 text 를 복사해서 합치면 함수에 내용을 확인 할 수 있다. 

물론 한줄씩 저장 하기 때문에 조회 후  조합 하는 불편함이 있지만 그래도 확인이 가능하니 잘 이용 하여 즐거운 프로그램 하세용 ^^