함수 변경 이력같은건 확인가능한지 궁굼합니다. 0 3 2,209

by 케를로스 [PL/SQL] [2017.08.15 19:47:52]


안녕하세요 유지보수 하는 사이트에서

특정 A함수에서 년도,분기를 입력하여 특정 값을 리턴받는 함수를 사용하고있습니다.

그런데 이함수를 지금 사용하였을때

이전 년도,분기를 입력하더라도 특정값이 출력안되고있습니다.

그래서 이 함수가 어떻게 변경되었는지 알 수 있는

변경이력 확인할 수 있는 방법이 있는지 궁굼하여 여쭈어봅니다

by 우리집아찌 [2017.08.16 09:38:07]

없는걸로 알고있습니다.

저같은 경우는 프로시져/펑션 같은경우 버젼별로 local에 백업해 둡니다.


by 마농 [2017.08.16 09:45:33]

1. user_objects 뷰의 last_ddl_time 항목을 확인할 수 있구요.
 - 소스 변경 없이 컴파일만 새로 할 수도 있으므로
 - 소스 변경 여부를 확인 할 수는 없습니다.
2. dba_source 뷰를 플래시백 쿼리를 이용하여 조회하면
 - 특정 시점의 소스 확인이 가능합니다.
 - 단. 플래시백의 확인 가능 주기가 매우 짧습니다.
 - DBA 권한만 가능합니다.
3. 결론은
 - 변경이력을 별도로 관리하지 않았다면 확인이 어렵습니다.
 - 변경이력 추적 이외에 함수 로직에 문제는 없는지 검토해 보세요.

-- 2. 특정 시점 소스 내용 확인
SELECT text
  FROM dba_source
 AS OF TIMESTAMP (systimestamp - INTERVAL '100' MINUTE) 
 WHERE owner ='SCOTT' 
   AND name = 'EMP_INFO' 
   AND type = 'FUNCTION'
 ORDER BY line
;

 


by jkson [2017.08.16 14:42:05]

이미 컴파일 된지 오래 지나버렸다면 내역 확인은 힘들듯 하구요.

요즘은 형상관리 프로그램에서 function이나 procedure 까지도 백업하기도 하니

사용하시는 형상관리 프로그램에서 백업 기능이 있는지 알아보세요.

저 같은 경우는 매일 백업합니다.

백업 방법은

http://www.gurubee.net/article/68894

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입